From 802a8e0987509f538ca1d47c2474381759eae523 Mon Sep 17 00:00:00 2001 From: Michel Pollet Date: Sat, 16 Jun 2012 09:40:08 +0100 Subject: [PATCH] reprap: Deleted example board This as become a project in itself, it moves to: https://github.com/buserror-uk/simreprap.git Signed-off-by: Michel Pollet --- examples/board_reprap/.gitignore | 1 - examples/board_reprap/Makefile | 78 - examples/board_reprap/gfx/BlurryCircle.png | Bin 626 -> 0 bytes examples/board_reprap/gfx/BlurryCircle16.png | Bin 267 -> 0 bytes examples/board_reprap/gfx/BlurryCircle4.png | Bin 82 -> 0 bytes examples/board_reprap/gfx/BlurryCircle8.png | Bin 122 -> 0 bytes examples/board_reprap/gfx/Fxaa3_11.h | 2047 -------- examples/board_reprap/gfx/brass.png | Bin 17296 -> 0 bytes .../gfx/buserror-nozzle-model.stl | 4202 ----------------- examples/board_reprap/gfx/hb.jpg | Bin 72526 -> 0 bytes examples/board_reprap/gfx/hb.png | Bin 269671 -> 0 bytes examples/board_reprap/gfx/postproc.fs | 92 - examples/board_reprap/gfx/postproc.vs | 16 - examples/board_reprap/gfx/scene.fs | 82 - examples/board_reprap/gfx/scene.vs | 15 - examples/board_reprap/marlin/Configuration.h | 249 - .../board_reprap/marlin/Configuration_adv.h | 242 - examples/board_reprap/marlin/Marlin.hex | 2759 ----------- examples/board_reprap/marlin/pins.h | 1122 ----- .../board_reprap/marlin/thermistortables.h | 373 -- examples/board_reprap/src/heatpot.c | 120 - examples/board_reprap/src/heatpot.h | 65 - examples/board_reprap/src/reprap.c | 336 -- examples/board_reprap/src/reprap.h | 47 - examples/board_reprap/src/reprap_gl.c | 698 --- examples/board_reprap/src/reprap_gl.h | 37 - examples/board_reprap/src/stepper.c | 149 - examples/board_reprap/src/stepper.h | 75 - examples/board_reprap/src/thermistor.c | 115 - examples/board_reprap/src/thermistor.h | 64 - 30 files changed, 12984 deletions(-) delete mode 100644 examples/board_reprap/.gitignore delete mode 100644 examples/board_reprap/Makefile delete mode 100644 examples/board_reprap/gfx/BlurryCircle.png delete mode 100644 examples/board_reprap/gfx/BlurryCircle16.png delete mode 100644 examples/board_reprap/gfx/BlurryCircle4.png delete mode 100644 examples/board_reprap/gfx/BlurryCircle8.png delete mode 100644 examples/board_reprap/gfx/Fxaa3_11.h delete mode 100644 examples/board_reprap/gfx/brass.png delete mode 100644 examples/board_reprap/gfx/buserror-nozzle-model.stl delete mode 100644 examples/board_reprap/gfx/hb.jpg delete mode 100644 examples/board_reprap/gfx/hb.png delete mode 100644 examples/board_reprap/gfx/postproc.fs delete mode 100644 examples/board_reprap/gfx/postproc.vs delete mode 100644 examples/board_reprap/gfx/scene.fs delete mode 100644 examples/board_reprap/gfx/scene.vs delete mode 100644 examples/board_reprap/marlin/Configuration.h delete mode 100644 examples/board_reprap/marlin/Configuration_adv.h delete mode 100644 examples/board_reprap/marlin/Marlin.hex delete mode 100644 examples/board_reprap/marlin/pins.h delete mode 100644 examples/board_reprap/marlin/thermistortables.h delete mode 100644 examples/board_reprap/src/heatpot.c delete mode 100644 examples/board_reprap/src/heatpot.h delete mode 100644 examples/board_reprap/src/reprap.c delete mode 100644 examples/board_reprap/src/reprap.h delete mode 100644 examples/board_reprap/src/reprap_gl.c delete mode 100644 examples/board_reprap/src/reprap_gl.h delete mode 100644 examples/board_reprap/src/stepper.c delete mode 100644 examples/board_reprap/src/stepper.h delete mode 100644 examples/board_reprap/src/thermistor.c delete mode 100644 examples/board_reprap/src/thermistor.h diff --git a/examples/board_reprap/.gitignore b/examples/board_reprap/.gitignore deleted file mode 100644 index a8a0dce..0000000 --- a/examples/board_reprap/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.bin diff --git a/examples/board_reprap/Makefile b/examples/board_reprap/Makefile deleted file mode 100644 index 8fbfc0e..0000000 --- a/examples/board_reprap/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright 2008, 2009 Michel Pollet -# -# This file is part of simavr. -# -# simavr is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# simavr is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with simavr. If not, see . - -target= reprap -firm_src = ${wildcard atmega*.c} -firmware = ${firm_src:.c=.hex} -simavr = ../../ - -LIBC3 = ../shared/libc3 - -IPATH = . -IPATH += src -IPATH += ../parts -IPATH += ../shared -IPATH += $(LIBC3)/src -IPATH += $(LIBC3)/srcgl -IPATH += ${simavr}/include -IPATH += ${simavr}/simavr/sim - -VPATH = src -VPATH += ../parts -VPATH += ../shared - -# for the Open Motion Controller board -CPPFLAGS += -DMOTHERBOARD=91 -CPPFLAGS += ${shell pkg-config --cflags pangocairo} - -include ../Makefile.opengl - -LDFLAGS += ${shell pkg-config --libs pangocairo} -LDFLAGS += -lpthread -lutil -ldl -LDFLAGS += -lm -LDFLAGS += -rpath $(LIBC3)/${OBJ}/.libs -L$(LIBC3)/${OBJ}/.libs -lc3 -lc3gl - -CPPFLAGS += ${patsubst %,-I%,${subst :, ,${IPATH}}} - - -all: obj ${firmware} ${target} - -include ${simavr}/Makefile.common - -board = ${OBJ}/${target}.elf - -${board} : ${OBJ}/arduidiot_pins.o -${board} : ${OBJ}/button.o -${board} : ${OBJ}/uart_pty.o -${board} : ${OBJ}/thermistor.o -${board} : ${OBJ}/heatpot.o -${board} : ${OBJ}/stepper.o -${board} : ${OBJ}/${target}.o -${board} : ${OBJ}/${target}_gl.o - -build-libc3: - $(MAKE) -C $(LIBC3) CC="$(CC)" CFLAGS="$(CFLAGS)" - -${target}: build-libc3 ${board} - @echo $@ done - -clean: clean-${OBJ} - rm -rf *.a *.axf ${target} *.vcd - $(MAKE) -C $(LIBC3) CC="$(CC)" CFLAGS="$(CFLAGS)" clean - - diff --git a/examples/board_reprap/gfx/BlurryCircle.png b/examples/board_reprap/gfx/BlurryCircle.png deleted file mode 100644 index a8a316bed16d835b8aa72898adf5d07ac965ff13..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj{$|z+~y^;uumfXV10$S&JM+SPNJM zbHZG5wuo%oz!i~|n!Yt*>J3jhhYg!DYtB#5&v@;vb1Nc(V`bCYH~$`~$Dh&j zj5+xv?DO+E#p&BMgub1_8zP@1PYgrk-_T$Ihqq>hK z8O`iD{`g?RhtC;OyV!gg8yNr3Z(hE9`PD4bxqj`36W3qgy?_7y-Mh25M%ni*TbO-8 zgh9gK)Kb1TwL4?_+!p6;udc4Xonw~0_14+5zDt9C)|v3eHZNm1&=4qKU$)_HUi#*n zhYve1zkG0g*y^W6J43WYxmsiNzQ2Xpwpd}&{^tjT8h-t)+kH3BL`p1LM{M)W9JR@w zOM_0P7!@LnyZHas@or|vExz20Yp=f!n|}WJ$|Jk}&(dTtNDy%;QF{Koutm8Z30~H$)cjvy*6pa8EkCg{koD&ZGq~YDFyjAtS=;?m* zM!y!3gBo+^$?k}lvhPudolp!{+;axOxg45JDgJy%PJeyG6tJl4Mb{6PwhoZe7ZO0F z3bBcLl9>wv)(7|VfK~24<@iB>)&9wY%vDNPTn{*L*M-&`O%?yMi|^lqnxm5?BX79d z-*Z2Z?_DFuXdgH6XuNy>-RJeP=XI|<|GxPRKQQt9|If_OwX%h2p-SsKAeX_@)z4*} HQ$iB}zXBfJ diff --git a/examples/board_reprap/gfx/BlurryCircle16.png b/examples/board_reprap/gfx/BlurryCircle16.png deleted file mode 100644 index d619bc1f1fec13d2169ad0442f9349316156a0e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|mpok@Ln`LXxwMzJ*@36+VRwtm zQMQ*en;at)at`Piu*d)K=B)rBpSmgF9^=!?A`8X79%I`8@Qs}@e4LJxu$G=@Y@>(DtpNoD7n zV}f3j7}gh0V`|TG_PA{F#%B^sgD&f_tXan{&U*WD`b36jjO?oo=E&(4gg7uAIB@Wn z&XEqiS}^+~>&0-R_DrR=zPQ)+{NjI2_u0>PxB2?>T>X1>pm+ZNXJ+`hBRXl@qUl?K OTn0~9KbLh*2~7YTWOOtD diff --git a/examples/board_reprap/gfx/BlurryCircle4.png b/examples/board_reprap/gfx/BlurryCircle4.png deleted file mode 100644 index 82b48d8b856315452053068855355dcaf2f84208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1SHiab7}%9NlzEYkcv4;Kl)iD93*%)6g~h7 cGW`F~%&=sq^4-mu%h!SUp00i_>zopr0E}@IRR910 diff --git a/examples/board_reprap/gfx/BlurryCircle8.png b/examples/board_reprap/gfx/BlurryCircle8.png deleted file mode 100644 index 64ff0a7c976c9acb979106e7096692fcc2b68212..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1SGw4HSYi^M^6{Wkcv4;Kl+&s99B%%kH5#p ztiY_u_+-nrZC%Zb6Bs8ldoqYJwMradIKfcF>G{Cq)&2eTH*}AKOlA20pP9jE#iS&@ R@Rz(GzNf37%Q~loCICZQBMtxn diff --git a/examples/board_reprap/gfx/Fxaa3_11.h b/examples/board_reprap/gfx/Fxaa3_11.h deleted file mode 100644 index a2abfec..0000000 --- a/examples/board_reprap/gfx/Fxaa3_11.h +++ /dev/null @@ -1,2047 +0,0 @@ -/*============================================================================ - - - NVIDIA FXAA 3.11 by TIMOTHY LOTTES - - ------------------------------------------------------------------------------- -COPYRIGHT (C) 2010, 2011 NVIDIA CORPORATION. ALL RIGHTS RESERVED. ------------------------------------------------------------------------------- -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED -*AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA -OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR -CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR -LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, -OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE -THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - ------------------------------------------------------------------------------- - INTEGRATION CHECKLIST ------------------------------------------------------------------------------- -(1.) -In the shader source, setup defines for the desired configuration. -When providing multiple shaders (for different presets), -simply setup the defines differently in multiple files. -Example, - - #define FXAA_PC 1 - #define FXAA_HLSL_5 1 - #define FXAA_QUALITY__PRESET 12 - -Or, - - #define FXAA_360 1 - -Or, - - #define FXAA_PS3 1 - -Etc. - -(2.) -Then include this file, - - #include "Fxaa3_11.h" - -(3.) -Then call the FXAA pixel shader from within your desired shader. -Look at the FXAA Quality FxaaPixelShader() for docs on inputs. -As for FXAA 3.11 all inputs for all shaders are the same -to enable easy porting between platforms. - - return FxaaPixelShader(...); - -(4.) -Insure pass prior to FXAA outputs RGBL (see next section). -Or use, - - #define FXAA_GREEN_AS_LUMA 1 - -(5.) -Setup engine to provide the following constants -which are used in the FxaaPixelShader() inputs, - - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir - -Look at the FXAA Quality FxaaPixelShader() for docs on inputs. - -(6.) -Have FXAA vertex shader run as a full screen triangle, -and output "pos" and "fxaaConsolePosPos" -such that inputs in the pixel shader provide, - - // {xy} = center of pixel - FxaaFloat2 pos, - - // {xy__} = upper left of pixel - // {__zw} = lower right of pixel - FxaaFloat4 fxaaConsolePosPos, - -(7.) -Insure the texture sampler(s) used by FXAA are set to bilinear filtering. - - ------------------------------------------------------------------------------- - INTEGRATION - RGBL AND COLORSPACE ------------------------------------------------------------------------------- -FXAA3 requires RGBL as input unless the following is set, - - #define FXAA_GREEN_AS_LUMA 1 - -In which case the engine uses green in place of luma, -and requires RGB input is in a non-linear colorspace. - -RGB should be LDR (low dynamic range). -Specifically do FXAA after tonemapping. - -RGB data as returned by a texture fetch can be non-linear, -or linear when FXAA_GREEN_AS_LUMA is not set. -Note an "sRGB format" texture counts as linear, -because the result of a texture fetch is linear data. -Regular "RGBA8" textures in the sRGB colorspace are non-linear. - -If FXAA_GREEN_AS_LUMA is not set, -luma must be stored in the alpha channel prior to running FXAA. -This luma should be in a perceptual space (could be gamma 2.0). -Example pass before FXAA where output is gamma 2.0 encoded, - - color.rgb = ToneMap(color.rgb); // linear color output - color.rgb = sqrt(color.rgb); // gamma 2.0 color output - return color; - -To use FXAA, - - color.rgb = ToneMap(color.rgb); // linear color output - color.rgb = sqrt(color.rgb); // gamma 2.0 color output - color.a = dot(color.rgb, FxaaFloat3(0.299, 0.587, 0.114)); // compute luma - return color; - -Another example where output is linear encoded, -say for instance writing to an sRGB formated render target, -where the render target does the conversion back to sRGB after blending, - - color.rgb = ToneMap(color.rgb); // linear color output - return color; - -To use FXAA, - - color.rgb = ToneMap(color.rgb); // linear color output - color.a = sqrt(dot(color.rgb, FxaaFloat3(0.299, 0.587, 0.114))); // compute luma - return color; - -Getting luma correct is required for the algorithm to work correctly. - - ------------------------------------------------------------------------------- - BEING LINEARLY CORRECT? ------------------------------------------------------------------------------- -Applying FXAA to a framebuffer with linear RGB color will look worse. -This is very counter intuitive, but happends to be true in this case. -The reason is because dithering artifacts will be more visiable -in a linear colorspace. - - ------------------------------------------------------------------------------- - COMPLEX INTEGRATION ------------------------------------------------------------------------------- -Q. What if the engine is blending into RGB before wanting to run FXAA? - -A. In the last opaque pass prior to FXAA, - have the pass write out luma into alpha. - Then blend into RGB only. - FXAA should be able to run ok - assuming the blending pass did not any add aliasing. - This should be the common case for particles and common blending passes. - -A. Or use FXAA_GREEN_AS_LUMA. - -============================================================================*/ - -/*============================================================================ - - INTEGRATION KNOBS - -============================================================================*/ -// -// FXAA_PS3 and FXAA_360 choose the console algorithm (FXAA3 CONSOLE). -// FXAA_360_OPT is a prototype for the new optimized 360 version. -// -// 1 = Use API. -// 0 = Don't use API. -// -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_PS3 - #define FXAA_PS3 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_360 - #define FXAA_360 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_360_OPT - #define FXAA_360_OPT 0 -#endif -/*==========================================================================*/ -#ifndef FXAA_PC - // - // FXAA Quality - // The high quality PC algorithm. - // - #define FXAA_PC 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_PC_CONSOLE - // - // The console algorithm for PC is included - // for developers targeting really low spec machines. - // Likely better to just run FXAA_PC, and use a really low preset. - // - #define FXAA_PC_CONSOLE 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GLSL_120 - #define FXAA_GLSL_120 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GLSL_130 - #define FXAA_GLSL_130 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_3 - #define FXAA_HLSL_3 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_4 - #define FXAA_HLSL_4 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_HLSL_5 - #define FXAA_HLSL_5 0 -#endif -/*==========================================================================*/ -#ifndef FXAA_GREEN_AS_LUMA - // - // For those using non-linear color, - // and either not able to get luma in alpha, or not wanting to, - // this enables FXAA to run using green as a proxy for luma. - // So with this enabled, no need to pack luma in alpha. - // - // This will turn off AA on anything which lacks some amount of green. - // Pure red and blue or combination of only R and B, will get no AA. - // - // Might want to lower the settings for both, - // fxaaConsoleEdgeThresholdMin - // fxaaQualityEdgeThresholdMin - // In order to insure AA does not get turned off on colors - // which contain a minor amount of green. - // - // 1 = On. - // 0 = Off. - // - #define FXAA_GREEN_AS_LUMA 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_EARLY_EXIT - // - // Controls algorithm's early exit path. - // On PS3 turning this ON adds 2 cycles to the shader. - // On 360 turning this OFF adds 10ths of a millisecond to the shader. - // Turning this off on console will result in a more blurry image. - // So this defaults to on. - // - // 1 = On. - // 0 = Off. - // - #define FXAA_EARLY_EXIT 1 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_DISCARD - // - // Only valid for PC OpenGL currently. - // Probably will not work when FXAA_GREEN_AS_LUMA = 1. - // - // 1 = Use discard on pixels which don't need AA. - // For APIs which enable concurrent TEX+ROP from same surface. - // 0 = Return unchanged color on pixels which don't need AA. - // - #define FXAA_DISCARD 0 -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_FAST_PIXEL_OFFSET - // - // Used for GLSL 120 only. - // - // 1 = GL API supports fast pixel offsets - // 0 = do not use fast pixel offsets - // - #ifdef GL_EXT_gpu_shader4 - #define FXAA_FAST_PIXEL_OFFSET 1 - #endif - #ifdef GL_NV_gpu_shader5 - #define FXAA_FAST_PIXEL_OFFSET 1 - #endif - #ifdef GL_ARB_gpu_shader5 - #define FXAA_FAST_PIXEL_OFFSET 1 - #endif - #ifndef FXAA_FAST_PIXEL_OFFSET - #define FXAA_FAST_PIXEL_OFFSET 0 - #endif -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_GATHER4_ALPHA - // - // 1 = API supports gather4 on alpha channel. - // 0 = API does not support gather4 on alpha channel. - // - #if (FXAA_HLSL_5 == 1) - #define FXAA_GATHER4_ALPHA 1 - #endif - #ifdef GL_ARB_gpu_shader5 - #define FXAA_GATHER4_ALPHA 1 - #endif - #ifdef GL_NV_gpu_shader5 - #define FXAA_GATHER4_ALPHA 1 - #endif - #ifndef FXAA_GATHER4_ALPHA - #define FXAA_GATHER4_ALPHA 0 - #endif -#endif - -/*============================================================================ - FXAA CONSOLE PS3 - TUNING KNOBS -============================================================================*/ -#ifndef FXAA_CONSOLE__PS3_EDGE_SHARPNESS - // - // Consoles the sharpness of edges on PS3 only. - // Non-PS3 tuning is done with shader input. - // - // Due to the PS3 being ALU bound, - // there are only two safe values here: 4 and 8. - // These options use the shaders ability to a free *|/ by 2|4|8. - // - // 8.0 is sharper - // 4.0 is softer - // 2.0 is really soft (good for vector graphics inputs) - // - #if 1 - #define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 8.0 - #endif - #if 0 - #define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 4.0 - #endif - #if 0 - #define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 2.0 - #endif -#endif -/*--------------------------------------------------------------------------*/ -#ifndef FXAA_CONSOLE__PS3_EDGE_THRESHOLD - // - // Only effects PS3. - // Non-PS3 tuning is done with shader input. - // - // The minimum amount of local contrast required to apply algorithm. - // The console setting has a different mapping than the quality setting. - // - // This only applies when FXAA_EARLY_EXIT is 1. - // - // Due to the PS3 being ALU bound, - // there are only two safe values here: 0.25 and 0.125. - // These options use the shaders ability to a free *|/ by 2|4|8. - // - // 0.125 leaves less aliasing, but is softer - // 0.25 leaves more aliasing, and is sharper - // - #if 1 - #define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.125 - #else - #define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.25 - #endif -#endif - -/*============================================================================ - FXAA QUALITY - TUNING KNOBS ------------------------------------------------------------------------------- -NOTE the other tuning knobs are now in the shader function inputs! -============================================================================*/ -#ifndef FXAA_QUALITY__PRESET - // - // Choose the quality preset. - // This needs to be compiled into the shader as it effects code. - // Best option to include multiple presets is to - // in each shader define the preset, then include this file. - // - // OPTIONS - // ----------------------------------------------------------------------- - // 10 to 15 - default medium dither (10=fastest, 15=highest quality) - // 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) - // 39 - no dither, very expensive - // - // NOTES - // ----------------------------------------------------------------------- - // 12 = slightly faster then FXAA 3.9 and higher edge quality (default) - // 13 = about same speed as FXAA 3.9 and better than 12 - // 23 = closest to FXAA 3.9 visually and performance wise - // _ = the lowest digit is directly related to performance - // _ = the highest digit is directly related to style - // - #define FXAA_QUALITY__PRESET 12 -#endif - - -/*============================================================================ - - FXAA QUALITY - PRESETS - -============================================================================*/ - -/*============================================================================ - FXAA QUALITY - MEDIUM DITHER PRESETS -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 10) - #define FXAA_QUALITY__PS 3 - #define FXAA_QUALITY__P0 1.5 - #define FXAA_QUALITY__P1 3.0 - #define FXAA_QUALITY__P2 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 11) - #define FXAA_QUALITY__PS 4 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 3.0 - #define FXAA_QUALITY__P3 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 12) - #define FXAA_QUALITY__PS 5 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 4.0 - #define FXAA_QUALITY__P4 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 13) - #define FXAA_QUALITY__PS 6 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 4.0 - #define FXAA_QUALITY__P5 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 14) - #define FXAA_QUALITY__PS 7 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 4.0 - #define FXAA_QUALITY__P6 12.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 15) - #define FXAA_QUALITY__PS 8 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 4.0 - #define FXAA_QUALITY__P7 12.0 -#endif - -/*============================================================================ - FXAA QUALITY - LOW DITHER PRESETS -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 20) - #define FXAA_QUALITY__PS 3 - #define FXAA_QUALITY__P0 1.5 - #define FXAA_QUALITY__P1 2.0 - #define FXAA_QUALITY__P2 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 21) - #define FXAA_QUALITY__PS 4 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 22) - #define FXAA_QUALITY__PS 5 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 23) - #define FXAA_QUALITY__PS 6 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 24) - #define FXAA_QUALITY__PS 7 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 3.0 - #define FXAA_QUALITY__P6 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 25) - #define FXAA_QUALITY__PS 8 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 4.0 - #define FXAA_QUALITY__P7 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 26) - #define FXAA_QUALITY__PS 9 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 2.0 - #define FXAA_QUALITY__P7 4.0 - #define FXAA_QUALITY__P8 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 27) - #define FXAA_QUALITY__PS 10 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 2.0 - #define FXAA_QUALITY__P7 2.0 - #define FXAA_QUALITY__P8 4.0 - #define FXAA_QUALITY__P9 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 28) - #define FXAA_QUALITY__PS 11 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 2.0 - #define FXAA_QUALITY__P7 2.0 - #define FXAA_QUALITY__P8 2.0 - #define FXAA_QUALITY__P9 4.0 - #define FXAA_QUALITY__P10 8.0 -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_QUALITY__PRESET == 29) - #define FXAA_QUALITY__PS 12 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.5 - #define FXAA_QUALITY__P2 2.0 - #define FXAA_QUALITY__P3 2.0 - #define FXAA_QUALITY__P4 2.0 - #define FXAA_QUALITY__P5 2.0 - #define FXAA_QUALITY__P6 2.0 - #define FXAA_QUALITY__P7 2.0 - #define FXAA_QUALITY__P8 2.0 - #define FXAA_QUALITY__P9 2.0 - #define FXAA_QUALITY__P10 4.0 - #define FXAA_QUALITY__P11 8.0 -#endif - -/*============================================================================ - FXAA QUALITY - EXTREME QUALITY -============================================================================*/ -#if (FXAA_QUALITY__PRESET == 39) - #define FXAA_QUALITY__PS 12 - #define FXAA_QUALITY__P0 1.0 - #define FXAA_QUALITY__P1 1.0 - #define FXAA_QUALITY__P2 1.0 - #define FXAA_QUALITY__P3 1.0 - #define FXAA_QUALITY__P4 1.0 - #define FXAA_QUALITY__P5 1.5 - #define FXAA_QUALITY__P6 2.0 - #define FXAA_QUALITY__P7 2.0 - #define FXAA_QUALITY__P8 2.0 - #define FXAA_QUALITY__P9 2.0 - #define FXAA_QUALITY__P10 4.0 - #define FXAA_QUALITY__P11 8.0 -#endif - - - -/*============================================================================ - - API PORTING - -============================================================================*/ -#if (FXAA_GLSL_120 == 1) || (FXAA_GLSL_130 == 1) - #define FxaaBool bool - #define FxaaDiscard discard - #define FxaaFloat float - #define FxaaFloat2 vec2 - #define FxaaFloat3 vec3 - #define FxaaFloat4 vec4 - #define FxaaHalf float - #define FxaaHalf2 vec2 - #define FxaaHalf3 vec3 - #define FxaaHalf4 vec4 - #define FxaaInt2 ivec2 - #define FxaaSat(x) clamp(x, 0.0, 1.0) - #define FxaaTex sampler2D -#else - #define FxaaBool bool - #define FxaaDiscard clip(-1) - #define FxaaFloat float - #define FxaaFloat2 float2 - #define FxaaFloat3 float3 - #define FxaaFloat4 float4 - #define FxaaHalf half - #define FxaaHalf2 half2 - #define FxaaHalf3 half3 - #define FxaaHalf4 half4 - #define FxaaSat(x) saturate(x) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_GLSL_120 == 1) - // Requires, - // #version 120 - // And at least, - // #extension GL_EXT_gpu_shader4 : enable - // (or set FXAA_FAST_PIXEL_OFFSET 1 to work like DX9) - #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) - #if (FXAA_FAST_PIXEL_OFFSET == 1) - #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o) - #else - #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) - #endif - #if (FXAA_GATHER4_ALPHA == 1) - // use #extension GL_ARB_gpu_shader5 : enable - #define FxaaTexAlpha4(t, p) textureGather(t, p, 3) - #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) - #define FxaaTexGreen4(t, p) textureGather(t, p, 1) - #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) - #endif -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_GLSL_130 == 1) - // Requires "#version 130" or better - #define FxaaTexTop(t, p) textureLod(t, p, 0.0) - #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) - #if (FXAA_GATHER4_ALPHA == 1) - // use #extension GL_ARB_gpu_shader5 : enable - #define FxaaTexAlpha4(t, p) textureGather(t, p, 3) - #define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3) - #define FxaaTexGreen4(t, p) textureGather(t, p, 1) - #define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1) - #endif -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_3 == 1) || (FXAA_360 == 1) || (FXAA_PS3 == 1) - #define FxaaInt2 float2 - #define FxaaTex sampler2D - #define FxaaTexTop(t, p) tex2Dlod(t, float4(p, 0.0, 0.0)) - #define FxaaTexOff(t, p, o, r) tex2Dlod(t, float4(p + (o * r), 0, 0)) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_4 == 1) - #define FxaaInt2 int2 - struct FxaaTex { SamplerState smpl; Texture2D tex; }; - #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0) - #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o) -#endif -/*--------------------------------------------------------------------------*/ -#if (FXAA_HLSL_5 == 1) - #define FxaaInt2 int2 - struct FxaaTex { SamplerState smpl; Texture2D tex; }; - #define FxaaTexTop(t, p) t.tex.SampleLevel(t.smpl, p, 0.0) - #define FxaaTexOff(t, p, o, r) t.tex.SampleLevel(t.smpl, p, 0.0, o) - #define FxaaTexAlpha4(t, p) t.tex.GatherAlpha(t.smpl, p) - #define FxaaTexOffAlpha4(t, p, o) t.tex.GatherAlpha(t.smpl, p, o) - #define FxaaTexGreen4(t, p) t.tex.GatherGreen(t.smpl, p) - #define FxaaTexOffGreen4(t, p, o) t.tex.GatherGreen(t.smpl, p, o) -#endif - - -/*============================================================================ - GREEN AS LUMA OPTION SUPPORT FUNCTION -============================================================================*/ -#if (FXAA_GREEN_AS_LUMA == 0) - FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.w; } -#else - FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } -#endif - - - - -/*============================================================================ - - FXAA3 QUALITY - PC - -============================================================================*/ -#if (FXAA_PC == 1) -/*--------------------------------------------------------------------------*/ -FxaaFloat4 FxaaPixelShader( - // - // Use noperspective interpolation here (turn off perspective interpolation). - // {xy} = center of pixel - FxaaFloat2 pos, - // - // Used only for FXAA Console, and not used on the 360 version. - // Use noperspective interpolation here (turn off perspective interpolation). - // {xy__} = upper left of pixel - // {__zw} = lower right of pixel - FxaaFloat4 fxaaConsolePosPos, - // - // Input color texture. - // {rgb_} = color in linear or perceptual color space - // if (FXAA_GREEN_AS_LUMA == 0) - // {___a} = luma in perceptual color space (not linear) - FxaaTex tex, - // - // Only used on the optimized 360 version of FXAA Console. - // For everything but 360, just use the same input here as for "tex". - // For 360, same texture, just alias with a 2nd sampler. - // This sampler needs to have an exponent bias of -1. - FxaaTex fxaaConsole360TexExpBiasNegOne, - // - // Only used on the optimized 360 version of FXAA Console. - // For everything but 360, just use the same input here as for "tex". - // For 360, same texture, just alias with a 3nd sampler. - // This sampler needs to have an exponent bias of -2. - FxaaTex fxaaConsole360TexExpBiasNegTwo, - // - // Only used on FXAA Quality. - // This must be from a constant/uniform. - // {x_} = 1.0/screenWidthInPixels - // {_y} = 1.0/screenHeightInPixels - FxaaFloat2 fxaaQualityRcpFrame, - // - // Only used on FXAA Console. - // This must be from a constant/uniform. - // This effects sub-pixel AA quality and inversely sharpness. - // Where N ranges between, - // N = 0.50 (default) - // N = 0.33 (sharper) - // {x___} = -N/screenWidthInPixels - // {_y__} = -N/screenHeightInPixels - // {__z_} = N/screenWidthInPixels - // {___w} = N/screenHeightInPixels - FxaaFloat4 fxaaConsoleRcpFrameOpt, - // - // Only used on FXAA Console. - // Not used on 360, but used on PS3 and PC. - // This must be from a constant/uniform. - // {x___} = -2.0/screenWidthInPixels - // {_y__} = -2.0/screenHeightInPixels - // {__z_} = 2.0/screenWidthInPixels - // {___w} = 2.0/screenHeightInPixels - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - // - // Only used on FXAA Console. - // Only used on 360 in place of fxaaConsoleRcpFrameOpt2. - // This must be from a constant/uniform. - // {x___} = 8.0/screenWidthInPixels - // {_y__} = 8.0/screenHeightInPixels - // {__z_} = -4.0/screenWidthInPixels - // {___w} = -4.0/screenHeightInPixels - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__SUBPIX define. - // It is here now to allow easier tuning. - // Choose the amount of sub-pixel aliasing removal. - // This can effect sharpness. - // 1.00 - upper limit (softer) - // 0.75 - default amount of filtering - // 0.50 - lower limit (sharper, less sub-pixel aliasing removal) - // 0.25 - almost off - // 0.00 - completely off - FxaaFloat fxaaQualitySubpix, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__EDGE_THRESHOLD define. - // It is here now to allow easier tuning. - // The minimum amount of local contrast required to apply algorithm. - // 0.333 - too little (faster) - // 0.250 - low quality - // 0.166 - default - // 0.125 - high quality - // 0.063 - overkill (slower) - FxaaFloat fxaaQualityEdgeThreshold, - // - // Only used on FXAA Quality. - // This used to be the FXAA_QUALITY__EDGE_THRESHOLD_MIN define. - // It is here now to allow easier tuning. - // Trims the algorithm from processing darks. - // 0.0833 - upper limit (default, the start of visible unfiltered edges) - // 0.0625 - high quality (faster) - // 0.0312 - visible limit (slower) - // Special notes when using FXAA_GREEN_AS_LUMA, - // Likely want to set this to zero. - // As colors that are mostly not-green - // will appear very dark in the green channel! - // Tune by looking at mostly non-green content, - // then start at zero and increase until aliasing is a problem. - FxaaFloat fxaaQualityEdgeThresholdMin, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define. - // It is here now to allow easier tuning. - // This does not effect PS3, as this needs to be compiled in. - // Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3. - // Due to the PS3 being ALU bound, - // there are only three safe values here: 2 and 4 and 8. - // These options use the shaders ability to a free *|/ by 2|4|8. - // For all other platforms can be a non-power of two. - // 8.0 is sharper (default!!!) - // 4.0 is softer - // 2.0 is really soft (good only for vector graphics inputs) - FxaaFloat fxaaConsoleEdgeSharpness, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define. - // It is here now to allow easier tuning. - // This does not effect PS3, as this needs to be compiled in. - // Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3. - // Due to the PS3 being ALU bound, - // there are only two safe values here: 1/4 and 1/8. - // These options use the shaders ability to a free *|/ by 2|4|8. - // The console setting has a different mapping than the quality setting. - // Other platforms can use other values. - // 0.125 leaves less aliasing, but is softer (default!!!) - // 0.25 leaves more aliasing, and is sharper - FxaaFloat fxaaConsoleEdgeThreshold, - // - // Only used on FXAA Console. - // This used to be the FXAA_CONSOLE__EDGE_THRESHOLD_MIN define. - // It is here now to allow easier tuning. - // Trims the algorithm from processing darks. - // The console setting has a different mapping than the quality setting. - // This only applies when FXAA_EARLY_EXIT is 1. - // This does not apply to PS3, - // PS3 was simplified to avoid more shader instructions. - // 0.06 - faster but more aliasing in darks - // 0.05 - default - // 0.04 - slower and less aliasing in darks - // Special notes when using FXAA_GREEN_AS_LUMA, - // Likely want to set this to zero. - // As colors that are mostly not-green - // will appear very dark in the green channel! - // Tune by looking at mostly non-green content, - // then start at zero and increase until aliasing is a problem. - FxaaFloat fxaaConsoleEdgeThresholdMin, - // - // Extra constants for 360 FXAA Console only. - // Use zeros or anything else for other platforms. - // These must be in physical constant registers and NOT immedates. - // Immedates will result in compiler un-optimizing. - // {xyzw} = float4(1.0, -1.0, 0.25, -0.25) - FxaaFloat4 fxaaConsole360ConstDir -) { -/*--------------------------------------------------------------------------*/ - FxaaFloat2 posM; - posM.x = pos.x; - posM.y = pos.y; - #if (FXAA_GATHER4_ALPHA == 1) - #if (FXAA_DISCARD == 0) - FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); - #if (FXAA_GREEN_AS_LUMA == 0) - #define lumaM rgbyM.w - #else - #define lumaM rgbyM.y - #endif - #endif - #if (FXAA_GREEN_AS_LUMA == 0) - FxaaFloat4 luma4A = FxaaTexAlpha4(tex, posM); - FxaaFloat4 luma4B = FxaaTexOffAlpha4(tex, posM, FxaaInt2(-1, -1)); - #else - FxaaFloat4 luma4A = FxaaTexGreen4(tex, posM); - FxaaFloat4 luma4B = FxaaTexOffGreen4(tex, posM, FxaaInt2(-1, -1)); - #endif - #if (FXAA_DISCARD == 1) - #define lumaM luma4A.w - #endif - #define lumaE luma4A.z - #define lumaS luma4A.x - #define lumaSE luma4A.y - #define lumaNW luma4B.w - #define lumaN luma4B.z - #define lumaW luma4B.x - #else - FxaaFloat4 rgbyM = FxaaTexTop(tex, posM); - #if (FXAA_GREEN_AS_LUMA == 0) - #define lumaM rgbyM.w - #else - #define lumaM rgbyM.y - #endif - FxaaFloat lumaS = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0, 1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 0), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaN = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 0,-1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 0), fxaaQualityRcpFrame.xy)); - #endif -/*--------------------------------------------------------------------------*/ - FxaaFloat maxSM = max(lumaS, lumaM); - FxaaFloat minSM = min(lumaS, lumaM); - FxaaFloat maxESM = max(lumaE, maxSM); - FxaaFloat minESM = min(lumaE, minSM); - FxaaFloat maxWN = max(lumaN, lumaW); - FxaaFloat minWN = min(lumaN, lumaW); - FxaaFloat rangeMax = max(maxWN, maxESM); - FxaaFloat rangeMin = min(minWN, minESM); - FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold; - FxaaFloat range = rangeMax - rangeMin; - FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled); - FxaaBool earlyExit = range < rangeMaxClamped; -/*--------------------------------------------------------------------------*/ - if(earlyExit) - #if (FXAA_DISCARD == 1) - FxaaDiscard; - #else - return rgbyM; - #endif -/*--------------------------------------------------------------------------*/ - #if (FXAA_GATHER4_ALPHA == 0) - FxaaFloat lumaNW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1,-1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1, 1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2( 1,-1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); - #else - FxaaFloat lumaNE = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy)); - FxaaFloat lumaSW = FxaaLuma(FxaaTexOff(tex, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy)); - #endif -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaNS = lumaN + lumaS; - FxaaFloat lumaWE = lumaW + lumaE; - FxaaFloat subpixRcpRange = 1.0/range; - FxaaFloat subpixNSWE = lumaNS + lumaWE; - FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS; - FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE; -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaNESE = lumaNE + lumaSE; - FxaaFloat lumaNWNE = lumaNW + lumaNE; - FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE; - FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE; -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaNWSW = lumaNW + lumaSW; - FxaaFloat lumaSWSE = lumaSW + lumaSE; - FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2); - FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2); - FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW; - FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE; - FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4; - FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4; -/*--------------------------------------------------------------------------*/ - FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE; - FxaaFloat lengthSign = fxaaQualityRcpFrame.x; - FxaaBool horzSpan = edgeHorz >= edgeVert; - FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE; -/*--------------------------------------------------------------------------*/ - if(!horzSpan) lumaN = lumaW; - if(!horzSpan) lumaS = lumaE; - if(horzSpan) lengthSign = fxaaQualityRcpFrame.y; - FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM; -/*--------------------------------------------------------------------------*/ - FxaaFloat gradientN = lumaN - lumaM; - FxaaFloat gradientS = lumaS - lumaM; - FxaaFloat lumaNN = lumaN + lumaM; - FxaaFloat lumaSS = lumaS + lumaM; - FxaaBool pairN = abs(gradientN) >= abs(gradientS); - FxaaFloat gradient = max(abs(gradientN), abs(gradientS)); - if(pairN) lengthSign = -lengthSign; - FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange); -/*--------------------------------------------------------------------------*/ - FxaaFloat2 posB; - posB.x = posM.x; - posB.y = posM.y; - FxaaFloat2 offNP; - offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x; - offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y; - if(!horzSpan) posB.x += lengthSign * 0.5; - if( horzSpan) posB.y += lengthSign * 0.5; -/*--------------------------------------------------------------------------*/ - FxaaFloat2 posN; - posN.x = posB.x - offNP.x * FXAA_QUALITY__P0; - posN.y = posB.y - offNP.y * FXAA_QUALITY__P0; - FxaaFloat2 posP; - posP.x = posB.x + offNP.x * FXAA_QUALITY__P0; - posP.y = posB.y + offNP.y * FXAA_QUALITY__P0; - FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0; - FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN)); - FxaaFloat subpixE = subpixC * subpixC; - FxaaFloat lumaEndP = FxaaLuma(FxaaTexTop(tex, posP)); -/*--------------------------------------------------------------------------*/ - if(!pairN) lumaNN = lumaSS; - FxaaFloat gradientScaled = gradient * 1.0/4.0; - FxaaFloat lumaMM = lumaM - lumaNN * 0.5; - FxaaFloat subpixF = subpixD * subpixE; - FxaaBool lumaMLTZero = lumaMM < 0.0; -/*--------------------------------------------------------------------------*/ - lumaEndN -= lumaNN * 0.5; - lumaEndP -= lumaNN * 0.5; - FxaaBool doneN = abs(lumaEndN) >= gradientScaled; - FxaaBool doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1; - FxaaBool doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P1; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P1; -/*--------------------------------------------------------------------------*/ - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P2; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P2; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 3) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P3; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P3; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 4) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P4; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P4; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 5) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P5; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P5; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 6) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P6; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P6; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 7) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P7; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P7; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 8) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P8; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P8; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 9) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P9; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P9; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 10) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P10; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P10; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 11) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P11; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P11; -/*--------------------------------------------------------------------------*/ - #if (FXAA_QUALITY__PS > 12) - if(doneNP) { - if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy)); - if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy)); - if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5; - if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5; - doneN = abs(lumaEndN) >= gradientScaled; - doneP = abs(lumaEndP) >= gradientScaled; - if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12; - if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12; - doneNP = (!doneN) || (!doneP); - if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P12; - if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P12; -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } -/*--------------------------------------------------------------------------*/ - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if(!horzSpan) dstN = posM.y - posN.y; - if(!horzSpan) dstP = posP.y - posM.y; -/*--------------------------------------------------------------------------*/ - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0/spanLength; -/*--------------------------------------------------------------------------*/ - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; -/*--------------------------------------------------------------------------*/ - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; - #if (FXAA_DISCARD == 1) - return FxaaTexTop(tex, posM); - #else - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); - #endif -} -/*==========================================================================*/ -#endif - - - - -/*============================================================================ - - FXAA3 CONSOLE - PC VERSION - ------------------------------------------------------------------------------- -Instead of using this on PC, I'd suggest just using FXAA Quality with - #define FXAA_QUALITY__PRESET 10 -Or - #define FXAA_QUALITY__PRESET 20 -Either are higher qualilty and almost as fast as this on modern PC GPUs. -============================================================================*/ -#if (FXAA_PC_CONSOLE == 1) -/*--------------------------------------------------------------------------*/ -FxaaFloat4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) { -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaNw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xy)); - FxaaFloat lumaSw = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.xw)); - FxaaFloat lumaNe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zy)); - FxaaFloat lumaSe = FxaaLuma(FxaaTexTop(tex, fxaaConsolePosPos.zw)); -/*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyM = FxaaTexTop(tex, pos.xy); - #if (FXAA_GREEN_AS_LUMA == 0) - FxaaFloat lumaM = rgbyM.w; - #else - FxaaFloat lumaM = rgbyM.y; - #endif -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxNwSw = max(lumaNw, lumaSw); - lumaNe += 1.0/384.0; - FxaaFloat lumaMinNwSw = min(lumaNw, lumaSw); -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxNeSe = max(lumaNe, lumaSe); - FxaaFloat lumaMinNeSe = min(lumaNe, lumaSe); -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaMax = max(lumaMaxNeSe, lumaMaxNwSw); - FxaaFloat lumaMin = min(lumaMinNeSe, lumaMinNwSw); -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaMaxScaled = lumaMax * fxaaConsoleEdgeThreshold; -/*--------------------------------------------------------------------------*/ - FxaaFloat lumaMinM = min(lumaMin, lumaM); - FxaaFloat lumaMaxScaledClamped = max(fxaaConsoleEdgeThresholdMin, lumaMaxScaled); - FxaaFloat lumaMaxM = max(lumaMax, lumaM); - FxaaFloat dirSwMinusNe = lumaSw - lumaNe; - FxaaFloat lumaMaxSubMinM = lumaMaxM - lumaMinM; - FxaaFloat dirSeMinusNw = lumaSe - lumaNw; - if(lumaMaxSubMinM < lumaMaxScaledClamped) return rgbyM; -/*--------------------------------------------------------------------------*/ - FxaaFloat2 dir; - dir.x = dirSwMinusNe + dirSeMinusNw; - dir.y = dirSwMinusNe - dirSeMinusNw; -/*--------------------------------------------------------------------------*/ - FxaaFloat2 dir1 = normalize(dir.xy); - FxaaFloat4 rgbyN1 = FxaaTexTop(tex, pos.xy - dir1 * fxaaConsoleRcpFrameOpt.zw); - FxaaFloat4 rgbyP1 = FxaaTexTop(tex, pos.xy + dir1 * fxaaConsoleRcpFrameOpt.zw); -/*--------------------------------------------------------------------------*/ - FxaaFloat dirAbsMinTimesC = min(abs(dir1.x), abs(dir1.y)) * fxaaConsoleEdgeSharpness; - FxaaFloat2 dir2 = clamp(dir1.xy / dirAbsMinTimesC, -2.0, 2.0); -/*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyN2 = FxaaTexTop(tex, pos.xy - dir2 * fxaaConsoleRcpFrameOpt2.zw); - FxaaFloat4 rgbyP2 = FxaaTexTop(tex, pos.xy + dir2 * fxaaConsoleRcpFrameOpt2.zw); -/*--------------------------------------------------------------------------*/ - FxaaFloat4 rgbyA = rgbyN1 + rgbyP1; - FxaaFloat4 rgbyB = ((rgbyN2 + rgbyP2) * 0.25) + (rgbyA * 0.25); -/*--------------------------------------------------------------------------*/ - #if (FXAA_GREEN_AS_LUMA == 0) - FxaaBool twoTap = (rgbyB.w < lumaMin) || (rgbyB.w > lumaMax); - #else - FxaaBool twoTap = (rgbyB.y < lumaMin) || (rgbyB.y > lumaMax); - #endif - if(twoTap) rgbyB.xyz = rgbyA.xyz * 0.5; - return rgbyB; } -/*==========================================================================*/ -#endif - - - -/*============================================================================ - - FXAA3 CONSOLE - 360 PIXEL SHADER - ------------------------------------------------------------------------------- -This optimized version thanks to suggestions from Andy Luedke. -Should be fully tex bound in all cases. -As of the FXAA 3.11 release, I have still not tested this code, -however I fixed a bug which was in both FXAA 3.9 and FXAA 3.10. -And note this is replacing the old unoptimized version. -If it does not work, please let me know so I can fix it. -============================================================================*/ -#if (FXAA_360 == 1) -/*--------------------------------------------------------------------------*/ -[reduceTempRegUsage(4)] -float4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) { -/*--------------------------------------------------------------------------*/ - float4 lumaNwNeSwSe; - #if (FXAA_GREEN_AS_LUMA == 0) - asm { - tfetch2D lumaNwNeSwSe.w___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe._w__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe.__w_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe.___w, tex, pos.xy, OffsetX = 0.5, OffsetY = 0.5, UseComputedLOD=false - }; - #else - asm { - tfetch2D lumaNwNeSwSe.y___, tex, pos.xy, OffsetX = -0.5, OffsetY = -0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe._y__, tex, pos.xy, OffsetX = 0.5, OffsetY = -0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe.__y_, tex, pos.xy, OffsetX = -0.5, OffsetY = 0.5, UseComputedLOD=false - tfetch2D lumaNwNeSwSe.___y, tex, pos.xy, OffsetX = 0.5, OffsetY = 0.5, UseComputedLOD=false - }; - #endif -/*--------------------------------------------------------------------------*/ - lumaNwNeSwSe.y += 1.0/384.0; - float2 lumaMinTemp = min(lumaNwNeSwSe.xy, lumaNwNeSwSe.zw); - float2 lumaMaxTemp = max(lumaNwNeSwSe.xy, lumaNwNeSwSe.zw); - float lumaMin = min(lumaMinTemp.x, lumaMinTemp.y); - float lumaMax = max(lumaMaxTemp.x, lumaMaxTemp.y); -/*--------------------------------------------------------------------------*/ - float4 rgbyM = tex2Dlod(tex, float4(pos.xy, 0.0, 0.0)); - #if (FXAA_GREEN_AS_LUMA == 0) - float lumaMinM = min(lumaMin, rgbyM.w); - float lumaMaxM = max(lumaMax, rgbyM.w); - #else - float lumaMinM = min(lumaMin, rgbyM.y); - float lumaMaxM = max(lumaMax, rgbyM.y); - #endif - if((lumaMaxM - lumaMinM) < max(fxaaConsoleEdgeThresholdMin, lumaMax * fxaaConsoleEdgeThreshold)) return rgbyM; -/*--------------------------------------------------------------------------*/ - float2 dir; - dir.x = dot(lumaNwNeSwSe, fxaaConsole360ConstDir.yyxx); - dir.y = dot(lumaNwNeSwSe, fxaaConsole360ConstDir.xyxy); - dir = normalize(dir); -/*--------------------------------------------------------------------------*/ - float4 dir1 = dir.xyxy * fxaaConsoleRcpFrameOpt.xyzw; -/*--------------------------------------------------------------------------*/ - float4 dir2; - float dirAbsMinTimesC = min(abs(dir.x), abs(dir.y)) * fxaaConsoleEdgeSharpness; - dir2 = saturate(fxaaConsole360ConstDir.zzww * dir.xyxy / dirAbsMinTimesC + 0.5); - dir2 = dir2 * fxaaConsole360RcpFrameOpt2.xyxy + fxaaConsole360RcpFrameOpt2.zwzw; -/*--------------------------------------------------------------------------*/ - float4 rgbyN1 = tex2Dlod(fxaaConsole360TexExpBiasNegOne, float4(pos.xy + dir1.xy, 0.0, 0.0)); - float4 rgbyP1 = tex2Dlod(fxaaConsole360TexExpBiasNegOne, float4(pos.xy + dir1.zw, 0.0, 0.0)); - float4 rgbyN2 = tex2Dlod(fxaaConsole360TexExpBiasNegTwo, float4(pos.xy + dir2.xy, 0.0, 0.0)); - float4 rgbyP2 = tex2Dlod(fxaaConsole360TexExpBiasNegTwo, float4(pos.xy + dir2.zw, 0.0, 0.0)); -/*--------------------------------------------------------------------------*/ - float4 rgbyA = rgbyN1 + rgbyP1; - float4 rgbyB = rgbyN2 + rgbyP2 + rgbyA * 0.5; -/*--------------------------------------------------------------------------*/ - float4 rgbyR = ((FxaaLuma(rgbyB) - lumaMax) > 0.0) ? rgbyA : rgbyB; - rgbyR = ((FxaaLuma(rgbyB) - lumaMin) > 0.0) ? rgbyR : rgbyA; - return rgbyR; } -/*==========================================================================*/ -#endif - - - -/*============================================================================ - - FXAA3 CONSOLE - OPTIMIZED PS3 PIXEL SHADER (NO EARLY EXIT) - -============================================================================== -The code below does not exactly match the assembly. -I have a feeling that 12 cycles is possible, but was not able to get there. -Might have to increase register count to get full performance. -Note this shader does not use perspective interpolation. - -Use the following cgc options, - - --fenable-bx2 --fastmath --fastprecision --nofloatbindings - ------------------------------------------------------------------------------- - NVSHADERPERF OUTPUT ------------------------------------------------------------------------------- -For reference and to aid in debug, output of NVShaderPerf should match this, - -Shader to schedule: - 0: texpkb h0.w(TRUE), v5.zyxx, #0 - 2: addh h2.z(TRUE), h0.w, constant(0.001953, 0.000000, 0.000000, 0.000000).x - 4: texpkb h0.w(TRUE), v5.xwxx, #0 - 6: addh h0.z(TRUE), -h2, h0.w - 7: texpkb h1.w(TRUE), v5, #0 - 9: addh h0.x(TRUE), h0.z, -h1.w - 10: addh h3.w(TRUE), h0.z, h1 - 11: texpkb h2.w(TRUE), v5.zwzz, #0 - 13: addh h0.z(TRUE), h3.w, -h2.w - 14: addh h0.x(TRUE), h2.w, h0 - 15: nrmh h1.xz(TRUE), h0_n - 16: minh_m8 h0.x(TRUE), |h1|, |h1.z| - 17: maxh h4.w(TRUE), h0, h1 - 18: divx h2.xy(TRUE), h1_n.xzzw, h0_n - 19: movr r1.zw(TRUE), v4.xxxy - 20: madr r2.xz(TRUE), -h1, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zzww, r1.zzww - 22: minh h5.w(TRUE), h0, h1 - 23: texpkb h0(TRUE), r2.xzxx, #0 - 25: madr r0.zw(TRUE), h1.xzxz, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w), r1 - 27: maxh h4.x(TRUE), h2.z, h2.w - 28: texpkb h1(TRUE), r0.zwzz, #0 - 30: addh_d2 h1(TRUE), h0, h1 - 31: madr r0.xy(TRUE), -h2, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz - 33: texpkb h0(TRUE), r0, #0 - 35: minh h4.z(TRUE), h2, h2.w - 36: fenct TRUE - 37: madr r1.xy(TRUE), h2, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz - 39: texpkb h2(TRUE), r1, #0 - 41: addh_d2 h0(TRUE), h0, h2 - 42: maxh h2.w(TRUE), h4, h4.x - 43: minh h2.x(TRUE), h5.w, h4.z - 44: addh_d2 h0(TRUE), h0, h1 - 45: slth h2.x(TRUE), h0.w, h2 - 46: sgth h2.w(TRUE), h0, h2 - 47: movh h0(TRUE), h0 - 48: addx.c0 rc(TRUE), h2, h2.w - 49: movh h0(c0.NE.x), h1 - -IPU0 ------ Simplified schedule: -------- -Pass | Unit | uOp | PC: Op ------+--------+------+------------------------- - 1 | SCT0/1 | mov | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; - | TEX | txl | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; - | SCB1 | add | 2: ADDh h2.z, h0.--w-, const.--x-; - | | | - 2 | SCT0/1 | mov | 4: TXLr h0.w, g[TEX1].xwxx, const.xxxx, TEX0; - | TEX | txl | 4: TXLr h0.w, g[TEX1].xwxx, const.xxxx, TEX0; - | SCB1 | add | 6: ADDh h0.z,-h2, h0.--w-; - | | | - 3 | SCT0/1 | mov | 7: TXLr h1.w, g[TEX1], const.xxxx, TEX0; - | TEX | txl | 7: TXLr h1.w, g[TEX1], const.xxxx, TEX0; - | SCB0 | add | 9: ADDh h0.x, h0.z---,-h1.w---; - | SCB1 | add | 10: ADDh h3.w, h0.---z, h1; - | | | - 4 | SCT0/1 | mov | 11: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; - | TEX | txl | 11: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; - | SCB0 | add | 14: ADDh h0.x, h2.w---, h0; - | SCB1 | add | 13: ADDh h0.z, h3.--w-,-h2.--w-; - | | | - 5 | SCT1 | mov | 15: NRMh h1.xz, h0; - | SRB | nrm | 15: NRMh h1.xz, h0; - | SCB0 | min | 16: MINh*8 h0.x, |h1|, |h1.z---|; - | SCB1 | max | 17: MAXh h4.w, h0, h1; - | | | - 6 | SCT0 | div | 18: DIVx h2.xy, h1.xz--, h0; - | SCT1 | mov | 19: MOVr r1.zw, g[TEX0].--xy; - | SCB0 | mad | 20: MADr r2.xz,-h1, const.z-w-, r1.z-w-; - | SCB1 | min | 22: MINh h5.w, h0, h1; - | | | - 7 | SCT0/1 | mov | 23: TXLr h0, r2.xzxx, const.xxxx, TEX0; - | TEX | txl | 23: TXLr h0, r2.xzxx, const.xxxx, TEX0; - | SCB0 | max | 27: MAXh h4.x, h2.z---, h2.w---; - | SCB1 | mad | 25: MADr r0.zw, h1.--xz, const, r1; - | | | - 8 | SCT0/1 | mov | 28: TXLr h1, r0.zwzz, const.xxxx, TEX0; - | TEX | txl | 28: TXLr h1, r0.zwzz, const.xxxx, TEX0; - | SCB0/1 | add | 30: ADDh/2 h1, h0, h1; - | | | - 9 | SCT0 | mad | 31: MADr r0.xy,-h2, const.xy--, r1.zw--; - | SCT1 | mov | 33: TXLr h0, r0, const.zzzz, TEX0; - | TEX | txl | 33: TXLr h0, r0, const.zzzz, TEX0; - | SCB1 | min | 35: MINh h4.z, h2, h2.--w-; - | | | - 10 | SCT0 | mad | 37: MADr r1.xy, h2, const.xy--, r1.zw--; - | SCT1 | mov | 39: TXLr h2, r1, const.zzzz, TEX0; - | TEX | txl | 39: TXLr h2, r1, const.zzzz, TEX0; - | SCB0/1 | add | 41: ADDh/2 h0, h0, h2; - | | | - 11 | SCT0 | min | 43: MINh h2.x, h5.w---, h4.z---; - | SCT1 | max | 42: MAXh h2.w, h4, h4.---x; - | SCB0/1 | add | 44: ADDh/2 h0, h0, h1; - | | | - 12 | SCT0 | set | 45: SLTh h2.x, h0.w---, h2; - | SCT1 | set | 46: SGTh h2.w, h0, h2; - | SCB0/1 | mul | 47: MOVh h0, h0; - | | | - 13 | SCT0 | mad | 48: ADDxc0_s rc, h2, h2.w---; - | SCB0/1 | mul | 49: MOVh h0(NE0.xxxx), h1; - -Pass SCT TEX SCB - 1: 0% 100% 25% - 2: 0% 100% 25% - 3: 0% 100% 50% - 4: 0% 100% 50% - 5: 0% 0% 50% - 6: 100% 0% 75% - 7: 0% 100% 75% - 8: 0% 100% 100% - 9: 0% 100% 25% - 10: 0% 100% 100% - 11: 50% 0% 100% - 12: 50% 0% 100% - 13: 25% 0% 100% - -MEAN: 17% 61% 67% - -Pass SCT0 SCT1 TEX SCB0 SCB1 - 1: 0% 0% 100% 0% 100% - 2: 0% 0% 100% 0% 100% - 3: 0% 0% 100% 100% 100% - 4: 0% 0% 100% 100% 100% - 5: 0% 0% 0% 100% 100% - 6: 100% 100% 0% 100% 100% - 7: 0% 0% 100% 100% 100% - 8: 0% 0% 100% 100% 100% - 9: 0% 0% 100% 0% 100% - 10: 0% 0% 100% 100% 100% - 11: 100% 100% 0% 100% 100% - 12: 100% 100% 0% 100% 100% - 13: 100% 0% 0% 100% 100% - -MEAN: 30% 23% 61% 76% 100% -Fragment Performance Setup: Driver RSX Compiler, GPU RSX, Flags 0x5 -Results 13 cycles, 3 r regs, 923,076,923 pixels/s -============================================================================*/ -#if (FXAA_PS3 == 1) && (FXAA_EARLY_EXIT == 0) -/*--------------------------------------------------------------------------*/ -#pragma regcount 7 -#pragma disablepc all -#pragma option O3 -#pragma option OutColorPrec=fp16 -#pragma texformat default RGBA8 -/*==========================================================================*/ -half4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) { -/*--------------------------------------------------------------------------*/ -// (1) - half4 dir; - half4 lumaNe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zy, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - lumaNe.w += half(1.0/512.0); - dir.x = -lumaNe.w; - dir.z = -lumaNe.w; - #else - lumaNe.y += half(1.0/512.0); - dir.x = -lumaNe.y; - dir.z = -lumaNe.y; - #endif -/*--------------------------------------------------------------------------*/ -// (2) - half4 lumaSw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xw, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - dir.x += lumaSw.w; - dir.z += lumaSw.w; - #else - dir.x += lumaSw.y; - dir.z += lumaSw.y; - #endif -/*--------------------------------------------------------------------------*/ -// (3) - half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - dir.x -= lumaNw.w; - dir.z += lumaNw.w; - #else - dir.x -= lumaNw.y; - dir.z += lumaNw.y; - #endif -/*--------------------------------------------------------------------------*/ -// (4) - half4 lumaSe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zw, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - dir.x += lumaSe.w; - dir.z -= lumaSe.w; - #else - dir.x += lumaSe.y; - dir.z -= lumaSe.y; - #endif -/*--------------------------------------------------------------------------*/ -// (5) - half4 dir1_pos; - dir1_pos.xy = normalize(dir.xyz).xz; - half dirAbsMinTimesC = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS); -/*--------------------------------------------------------------------------*/ -// (6) - half4 dir2_pos; - dir2_pos.xy = clamp(dir1_pos.xy / dirAbsMinTimesC, half(-2.0), half(2.0)); - dir1_pos.zw = pos.xy; - dir2_pos.zw = pos.xy; - half4 temp1N; - temp1N.xy = dir1_pos.zw - dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; -/*--------------------------------------------------------------------------*/ -// (7) - temp1N = h4tex2Dlod(tex, half4(temp1N.xy, 0.0, 0.0)); - half4 rgby1; - rgby1.xy = dir1_pos.zw + dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; -/*--------------------------------------------------------------------------*/ -// (8) - rgby1 = h4tex2Dlod(tex, half4(rgby1.xy, 0.0, 0.0)); - rgby1 = (temp1N + rgby1) * 0.5; -/*--------------------------------------------------------------------------*/ -// (9) - half4 temp2N; - temp2N.xy = dir2_pos.zw - dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - temp2N = h4tex2Dlod(tex, half4(temp2N.xy, 0.0, 0.0)); -/*--------------------------------------------------------------------------*/ -// (10) - half4 rgby2; - rgby2.xy = dir2_pos.zw + dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - rgby2 = h4tex2Dlod(tex, half4(rgby2.xy, 0.0, 0.0)); - rgby2 = (temp2N + rgby2) * 0.5; -/*--------------------------------------------------------------------------*/ -// (11) - // compilier moves these scalar ops up to other cycles - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaMin = min(min(lumaNw.w, lumaSw.w), min(lumaNe.w, lumaSe.w)); - half lumaMax = max(max(lumaNw.w, lumaSw.w), max(lumaNe.w, lumaSe.w)); - #else - half lumaMin = min(min(lumaNw.y, lumaSw.y), min(lumaNe.y, lumaSe.y)); - half lumaMax = max(max(lumaNw.y, lumaSw.y), max(lumaNe.y, lumaSe.y)); - #endif - rgby2 = (rgby2 + rgby1) * 0.5; -/*--------------------------------------------------------------------------*/ -// (12) - #if (FXAA_GREEN_AS_LUMA == 0) - bool twoTapLt = rgby2.w < lumaMin; - bool twoTapGt = rgby2.w > lumaMax; - #else - bool twoTapLt = rgby2.y < lumaMin; - bool twoTapGt = rgby2.y > lumaMax; - #endif -/*--------------------------------------------------------------------------*/ -// (13) - if(twoTapLt || twoTapGt) rgby2 = rgby1; -/*--------------------------------------------------------------------------*/ - return rgby2; } -/*==========================================================================*/ -#endif - - - -/*============================================================================ - - FXAA3 CONSOLE - OPTIMIZED PS3 PIXEL SHADER (WITH EARLY EXIT) - -============================================================================== -The code mostly matches the assembly. -I have a feeling that 14 cycles is possible, but was not able to get there. -Might have to increase register count to get full performance. -Note this shader does not use perspective interpolation. - -Use the following cgc options, - - --fenable-bx2 --fastmath --fastprecision --nofloatbindings - -Use of FXAA_GREEN_AS_LUMA currently adds a cycle (16 clks). -Will look at fixing this for FXAA 3.12. ------------------------------------------------------------------------------- - NVSHADERPERF OUTPUT ------------------------------------------------------------------------------- -For reference and to aid in debug, output of NVShaderPerf should match this, - -Shader to schedule: - 0: texpkb h0.w(TRUE), v5.zyxx, #0 - 2: addh h2.y(TRUE), h0.w, constant(0.001953, 0.000000, 0.000000, 0.000000).x - 4: texpkb h1.w(TRUE), v5.xwxx, #0 - 6: addh h0.x(TRUE), h1.w, -h2.y - 7: texpkb h2.w(TRUE), v5.zwzz, #0 - 9: minh h4.w(TRUE), h2.y, h2 - 10: maxh h5.x(TRUE), h2.y, h2.w - 11: texpkb h0.w(TRUE), v5, #0 - 13: addh h3.w(TRUE), -h0, h0.x - 14: addh h0.x(TRUE), h0.w, h0 - 15: addh h0.z(TRUE), -h2.w, h0.x - 16: addh h0.x(TRUE), h2.w, h3.w - 17: minh h5.y(TRUE), h0.w, h1.w - 18: nrmh h2.xz(TRUE), h0_n - 19: minh_m8 h2.w(TRUE), |h2.x|, |h2.z| - 20: divx h4.xy(TRUE), h2_n.xzzw, h2_n.w - 21: movr r1.zw(TRUE), v4.xxxy - 22: maxh h2.w(TRUE), h0, h1 - 23: fenct TRUE - 24: madr r0.xy(TRUE), -h2.xzzw, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zwzz, r1.zwzz - 26: texpkb h0(TRUE), r0, #0 - 28: maxh h5.x(TRUE), h2.w, h5 - 29: minh h5.w(TRUE), h5.y, h4 - 30: madr r1.xy(TRUE), h2.xzzw, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).zwzz, r1.zwzz - 32: texpkb h2(TRUE), r1, #0 - 34: addh_d2 h2(TRUE), h0, h2 - 35: texpkb h1(TRUE), v4, #0 - 37: maxh h5.y(TRUE), h5.x, h1.w - 38: minh h4.w(TRUE), h1, h5 - 39: madr r0.xy(TRUE), -h4, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz - 41: texpkb h0(TRUE), r0, #0 - 43: addh_m8 h5.z(TRUE), h5.y, -h4.w - 44: madr r2.xy(TRUE), h4, constant(cConst5.x, cConst5.y, cConst5.z, cConst5.w).xyxx, r1.zwzz - 46: texpkb h3(TRUE), r2, #0 - 48: addh_d2 h0(TRUE), h0, h3 - 49: addh_d2 h3(TRUE), h0, h2 - 50: movh h0(TRUE), h3 - 51: slth h3.x(TRUE), h3.w, h5.w - 52: sgth h3.w(TRUE), h3, h5.x - 53: addx.c0 rc(TRUE), h3.x, h3 - 54: slth.c0 rc(TRUE), h5.z, h5 - 55: movh h0(c0.NE.w), h2 - 56: movh h0(c0.NE.x), h1 - -IPU0 ------ Simplified schedule: -------- -Pass | Unit | uOp | PC: Op ------+--------+------+------------------------- - 1 | SCT0/1 | mov | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; - | TEX | txl | 0: TXLr h0.w, g[TEX1].zyxx, const.xxxx, TEX0; - | SCB0 | add | 2: ADDh h2.y, h0.-w--, const.-x--; - | | | - 2 | SCT0/1 | mov | 4: TXLr h1.w, g[TEX1].xwxx, const.xxxx, TEX0; - | TEX | txl | 4: TXLr h1.w, g[TEX1].xwxx, const.xxxx, TEX0; - | SCB0 | add | 6: ADDh h0.x, h1.w---,-h2.y---; - | | | - 3 | SCT0/1 | mov | 7: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; - | TEX | txl | 7: TXLr h2.w, g[TEX1].zwzz, const.xxxx, TEX0; - | SCB0 | max | 10: MAXh h5.x, h2.y---, h2.w---; - | SCB1 | min | 9: MINh h4.w, h2.---y, h2; - | | | - 4 | SCT0/1 | mov | 11: TXLr h0.w, g[TEX1], const.xxxx, TEX0; - | TEX | txl | 11: TXLr h0.w, g[TEX1], const.xxxx, TEX0; - | SCB0 | add | 14: ADDh h0.x, h0.w---, h0; - | SCB1 | add | 13: ADDh h3.w,-h0, h0.---x; - | | | - 5 | SCT0 | mad | 16: ADDh h0.x, h2.w---, h3.w---; - | SCT1 | mad | 15: ADDh h0.z,-h2.--w-, h0.--x-; - | SCB0 | min | 17: MINh h5.y, h0.-w--, h1.-w--; - | | | - 6 | SCT1 | mov | 18: NRMh h2.xz, h0; - | SRB | nrm | 18: NRMh h2.xz, h0; - | SCB1 | min | 19: MINh*8 h2.w, |h2.---x|, |h2.---z|; - | | | - 7 | SCT0 | div | 20: DIVx h4.xy, h2.xz--, h2.ww--; - | SCT1 | mov | 21: MOVr r1.zw, g[TEX0].--xy; - | SCB1 | max | 22: MAXh h2.w, h0, h1; - | | | - 8 | SCT0 | mad | 24: MADr r0.xy,-h2.xz--, const.zw--, r1.zw--; - | SCT1 | mov | 26: TXLr h0, r0, const.xxxx, TEX0; - | TEX | txl | 26: TXLr h0, r0, const.xxxx, TEX0; - | SCB0 | max | 28: MAXh h5.x, h2.w---, h5; - | SCB1 | min | 29: MINh h5.w, h5.---y, h4; - | | | - 9 | SCT0 | mad | 30: MADr r1.xy, h2.xz--, const.zw--, r1.zw--; - | SCT1 | mov | 32: TXLr h2, r1, const.xxxx, TEX0; - | TEX | txl | 32: TXLr h2, r1, const.xxxx, TEX0; - | SCB0/1 | add | 34: ADDh/2 h2, h0, h2; - | | | - 10 | SCT0/1 | mov | 35: TXLr h1, g[TEX0], const.xxxx, TEX0; - | TEX | txl | 35: TXLr h1, g[TEX0], const.xxxx, TEX0; - | SCB0 | max | 37: MAXh h5.y, h5.-x--, h1.-w--; - | SCB1 | min | 38: MINh h4.w, h1, h5; - | | | - 11 | SCT0 | mad | 39: MADr r0.xy,-h4, const.xy--, r1.zw--; - | SCT1 | mov | 41: TXLr h0, r0, const.zzzz, TEX0; - | TEX | txl | 41: TXLr h0, r0, const.zzzz, TEX0; - | SCB0 | mad | 44: MADr r2.xy, h4, const.xy--, r1.zw--; - | SCB1 | add | 43: ADDh*8 h5.z, h5.--y-,-h4.--w-; - | | | - 12 | SCT0/1 | mov | 46: TXLr h3, r2, const.xxxx, TEX0; - | TEX | txl | 46: TXLr h3, r2, const.xxxx, TEX0; - | SCB0/1 | add | 48: ADDh/2 h0, h0, h3; - | | | - 13 | SCT0/1 | mad | 49: ADDh/2 h3, h0, h2; - | SCB0/1 | mul | 50: MOVh h0, h3; - | | | - 14 | SCT0 | set | 51: SLTh h3.x, h3.w---, h5.w---; - | SCT1 | set | 52: SGTh h3.w, h3, h5.---x; - | SCB0 | set | 54: SLThc0 rc, h5.z---, h5; - | SCB1 | add | 53: ADDxc0_s rc, h3.---x, h3; - | | | - 15 | SCT0/1 | mul | 55: MOVh h0(NE0.wwww), h2; - | SCB0/1 | mul | 56: MOVh h0(NE0.xxxx), h1; - -Pass SCT TEX SCB - 1: 0% 100% 25% - 2: 0% 100% 25% - 3: 0% 100% 50% - 4: 0% 100% 50% - 5: 50% 0% 25% - 6: 0% 0% 25% - 7: 100% 0% 25% - 8: 0% 100% 50% - 9: 0% 100% 100% - 10: 0% 100% 50% - 11: 0% 100% 75% - 12: 0% 100% 100% - 13: 100% 0% 100% - 14: 50% 0% 50% - 15: 100% 0% 100% - -MEAN: 26% 60% 56% - -Pass SCT0 SCT1 TEX SCB0 SCB1 - 1: 0% 0% 100% 100% 0% - 2: 0% 0% 100% 100% 0% - 3: 0% 0% 100% 100% 100% - 4: 0% 0% 100% 100% 100% - 5: 100% 100% 0% 100% 0% - 6: 0% 0% 0% 0% 100% - 7: 100% 100% 0% 0% 100% - 8: 0% 0% 100% 100% 100% - 9: 0% 0% 100% 100% 100% - 10: 0% 0% 100% 100% 100% - 11: 0% 0% 100% 100% 100% - 12: 0% 0% 100% 100% 100% - 13: 100% 100% 0% 100% 100% - 14: 100% 100% 0% 100% 100% - 15: 100% 100% 0% 100% 100% - -MEAN: 33% 33% 60% 86% 80% -Fragment Performance Setup: Driver RSX Compiler, GPU RSX, Flags 0x5 -Results 15 cycles, 3 r regs, 800,000,000 pixels/s -============================================================================*/ -#if (FXAA_PS3 == 1) && (FXAA_EARLY_EXIT == 1) -/*--------------------------------------------------------------------------*/ -#pragma regcount 7 -#pragma disablepc all -#pragma option O2 -#pragma option OutColorPrec=fp16 -#pragma texformat default RGBA8 -/*==========================================================================*/ -half4 FxaaPixelShader( - // See FXAA Quality FxaaPixelShader() source for docs on Inputs! - FxaaFloat2 pos, - FxaaFloat4 fxaaConsolePosPos, - FxaaTex tex, - FxaaTex fxaaConsole360TexExpBiasNegOne, - FxaaTex fxaaConsole360TexExpBiasNegTwo, - FxaaFloat2 fxaaQualityRcpFrame, - FxaaFloat4 fxaaConsoleRcpFrameOpt, - FxaaFloat4 fxaaConsoleRcpFrameOpt2, - FxaaFloat4 fxaaConsole360RcpFrameOpt2, - FxaaFloat fxaaQualitySubpix, - FxaaFloat fxaaQualityEdgeThreshold, - FxaaFloat fxaaQualityEdgeThresholdMin, - FxaaFloat fxaaConsoleEdgeSharpness, - FxaaFloat fxaaConsoleEdgeThreshold, - FxaaFloat fxaaConsoleEdgeThresholdMin, - FxaaFloat4 fxaaConsole360ConstDir -) { -/*--------------------------------------------------------------------------*/ -// (1) - half4 rgbyNe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zy, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaNe = rgbyNe.w + half(1.0/512.0); - #else - half lumaNe = rgbyNe.y + half(1.0/512.0); - #endif -/*--------------------------------------------------------------------------*/ -// (2) - half4 lumaSw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xw, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaSwNegNe = lumaSw.w - lumaNe; - #else - half lumaSwNegNe = lumaSw.y - lumaNe; - #endif -/*--------------------------------------------------------------------------*/ -// (3) - half4 lumaNw = h4tex2Dlod(tex, half4(fxaaConsolePosPos.xy, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxNwSw = max(lumaNw.w, lumaSw.w); - half lumaMinNwSw = min(lumaNw.w, lumaSw.w); - #else - half lumaMaxNwSw = max(lumaNw.y, lumaSw.y); - half lumaMinNwSw = min(lumaNw.y, lumaSw.y); - #endif -/*--------------------------------------------------------------------------*/ -// (4) - half4 lumaSe = h4tex2Dlod(tex, half4(fxaaConsolePosPos.zw, 0, 0)); - #if (FXAA_GREEN_AS_LUMA == 0) - half dirZ = lumaNw.w + lumaSwNegNe; - half dirX = -lumaNw.w + lumaSwNegNe; - #else - half dirZ = lumaNw.y + lumaSwNegNe; - half dirX = -lumaNw.y + lumaSwNegNe; - #endif -/*--------------------------------------------------------------------------*/ -// (5) - half3 dir; - dir.y = 0.0; - #if (FXAA_GREEN_AS_LUMA == 0) - dir.x = lumaSe.w + dirX; - dir.z = -lumaSe.w + dirZ; - half lumaMinNeSe = min(lumaNe, lumaSe.w); - #else - dir.x = lumaSe.y + dirX; - dir.z = -lumaSe.y + dirZ; - half lumaMinNeSe = min(lumaNe, lumaSe.y); - #endif -/*--------------------------------------------------------------------------*/ -// (6) - half4 dir1_pos; - dir1_pos.xy = normalize(dir).xz; - half dirAbsMinTimes8 = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS); -/*--------------------------------------------------------------------------*/ -// (7) - half4 dir2_pos; - dir2_pos.xy = clamp(dir1_pos.xy / dirAbsMinTimes8, half(-2.0), half(2.0)); - dir1_pos.zw = pos.xy; - dir2_pos.zw = pos.xy; - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxNeSe = max(lumaNe, lumaSe.w); - #else - half lumaMaxNeSe = max(lumaNe, lumaSe.y); - #endif -/*--------------------------------------------------------------------------*/ -// (8) - half4 temp1N; - temp1N.xy = dir1_pos.zw - dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - temp1N = h4tex2Dlod(tex, half4(temp1N.xy, 0.0, 0.0)); - half lumaMax = max(lumaMaxNwSw, lumaMaxNeSe); - half lumaMin = min(lumaMinNwSw, lumaMinNeSe); -/*--------------------------------------------------------------------------*/ -// (9) - half4 rgby1; - rgby1.xy = dir1_pos.zw + dir1_pos.xy * fxaaConsoleRcpFrameOpt.zw; - rgby1 = h4tex2Dlod(tex, half4(rgby1.xy, 0.0, 0.0)); - rgby1 = (temp1N + rgby1) * 0.5; -/*--------------------------------------------------------------------------*/ -// (10) - half4 rgbyM = h4tex2Dlod(tex, half4(pos.xy, 0.0, 0.0)); - #if (FXAA_GREEN_AS_LUMA == 0) - half lumaMaxM = max(lumaMax, rgbyM.w); - half lumaMinM = min(lumaMin, rgbyM.w); - #else - half lumaMaxM = max(lumaMax, rgbyM.y); - half lumaMinM = min(lumaMin, rgbyM.y); - #endif -/*--------------------------------------------------------------------------*/ -// (11) - half4 temp2N; - temp2N.xy = dir2_pos.zw - dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - temp2N = h4tex2Dlod(tex, half4(temp2N.xy, 0.0, 0.0)); - half4 rgby2; - rgby2.xy = dir2_pos.zw + dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw; - half lumaRangeM = (lumaMaxM - lumaMinM) / FXAA_CONSOLE__PS3_EDGE_THRESHOLD; -/*--------------------------------------------------------------------------*/ -// (12) - rgby2 = h4tex2Dlod(tex, half4(rgby2.xy, 0.0, 0.0)); - rgby2 = (temp2N + rgby2) * 0.5; -/*--------------------------------------------------------------------------*/ -// (13) - rgby2 = (rgby2 + rgby1) * 0.5; -/*--------------------------------------------------------------------------*/ -// (14) - #if (FXAA_GREEN_AS_LUMA == 0) - bool twoTapLt = rgby2.w < lumaMin; - bool twoTapGt = rgby2.w > lumaMax; - #else - bool twoTapLt = rgby2.y < lumaMin; - bool twoTapGt = rgby2.y > lumaMax; - #endif - bool earlyExit = lumaRangeM < lumaMax; - bool twoTap = twoTapLt || twoTapGt; -/*--------------------------------------------------------------------------*/ -// (15) - if(twoTap) rgby2 = rgby1; - if(earlyExit) rgby2 = rgbyM; -/*--------------------------------------------------------------------------*/ - return rgby2; } -/*==========================================================================*/ -#endif diff --git a/examples/board_reprap/gfx/brass.png b/examples/board_reprap/gfx/brass.png deleted file mode 100644 index 56e73c30e779bc8a35ac1d39cfca2db3d849edce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17296 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 diff --git a/examples/board_reprap/gfx/buserror-nozzle-model.stl b/examples/board_reprap/gfx/buserror-nozzle-model.stl deleted file mode 100644 index c99e0a3..0000000 --- a/examples/board_reprap/gfx/buserror-nozzle-model.stl +++ /dev/null @@ -1,4202 +0,0 @@ -solid OpenSCAD_Model - facet normal -1 0 0 - outer loop - vertex -6.4 8.17705 5.29683 - vertex -6.4 11.25 4 - vertex -6.4 7.25 5.15 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 7.25 11.15 - vertex -6.4 -4.75 12.3 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 -4.75 12.3 - vertex -6.4 4.39683 7.22295 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 4.39683 7.22295 - vertex -6.4 4.82295 6.38664 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 4.82295 6.38664 - vertex -6.4 5.48664 5.72295 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 5.48664 5.72295 - vertex -6.4 6.32295 5.29683 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 6.32295 5.29683 - vertex -6.4 11.25 4 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 6.32295 5.29683 - vertex -6.4 7.25 5.15 - vertex -6.4 11.25 4 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 9.01336 5.72295 - vertex -6.4 11.25 4 - vertex -6.4 8.17705 5.29683 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 10.1032 9.07705 - vertex -6.4 11.25 12.3 - vertex -6.4 10.25 8.15 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 11.25 4 - vertex -6.4 9.01336 5.72295 - vertex -6.4 9.67705 6.38664 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 11.25 4 - vertex -6.4 9.67705 6.38664 - vertex -6.4 10.1032 7.22295 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 11.25 4 - vertex -6.4 10.1032 7.22295 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 10.1032 7.22295 - vertex -6.4 10.25 8.15 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 8.17705 11.0032 - vertex -6.4 11.25 12.3 - vertex -6.4 9.01336 10.5771 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 10.1032 9.07705 - vertex -6.4 9.67705 9.91336 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 9.67705 9.91336 - vertex -6.4 9.01336 10.5771 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 6.32295 11.0032 - vertex -6.4 -4.75 12.3 - vertex -6.4 7.25 11.15 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 8.17705 11.0032 - vertex -6.4 7.25 11.15 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 5.48664 10.5771 - vertex -6.4 -4.75 12.3 - vertex -6.4 6.32295 11.0032 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 4.82295 9.91336 - vertex -6.4 -4.75 12.3 - vertex -6.4 5.48664 10.5771 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 4.39683 9.07705 - vertex -6.4 -4.75 12.3 - vertex -6.4 4.82295 9.91336 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 4.25 8.15 - vertex -6.4 -4.75 12.3 - vertex -6.4 4.39683 9.07705 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.4 4.39683 7.22295 - vertex -6.4 -4.75 12.3 - vertex -6.4 4.25 8.15 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex -6.4 -4.75 12.3 - vertex -6.4 -4.75 4 - vertex 0 -4.75 4 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 0 -4.75 12.3 - vertex -6.4 -4.75 12.3 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 6.4 -4.75 4 - vertex -6.4 -4.75 12.3 - vertex 0 -4.75 4 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 6.4 -4.75 12.3 - vertex 0 -4.75 12.3 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.75 0 4 - vertex -6.4 -4.75 4 - vertex -4.51752 1.46783 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.79198 3.84283 4 - vertex -6.4 11.25 4 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.75 0 4 - vertex 6.4 11.25 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 -4.75 4 - vertex 1.46783 -4.51752 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.79198 3.84283 4 - vertex 6.4 11.25 4 - vertex 3.84283 2.79198 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46783 -4.51752 4 - vertex 2.79198 -3.84283 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.84283 2.79198 4 - vertex 6.4 11.25 4 - vertex 4.51752 1.46783 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.79198 -3.84283 4 - vertex 3.84283 -2.79198 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.84283 -2.79198 4 - vertex 4.51752 -1.46783 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.51752 -1.46783 4 - vertex 4.75 0 4 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46783 4.51752 4 - vertex -6.4 11.25 4 - vertex 2.79198 3.84283 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.84283 2.79198 4 - vertex -6.4 11.25 4 - vertex -2.79198 3.84283 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 4.75 4 - vertex -6.4 11.25 4 - vertex 1.46783 4.51752 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46783 4.51752 4 - vertex -6.4 11.25 4 - vertex 0 4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.79198 3.84283 4 - vertex -6.4 11.25 4 - vertex -1.46783 4.51752 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.51752 1.46783 4 - vertex -6.4 11.25 4 - vertex -3.84283 2.79198 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -6.4 11.25 4 - vertex -4.51752 1.46783 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -4.75 0 4 - vertex -4.51752 -1.46783 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -4.51752 -1.46783 4 - vertex -3.84283 -2.79198 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -3.84283 -2.79198 4 - vertex -2.79198 -3.84283 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -2.79198 -3.84283 4 - vertex -1.46783 -4.51752 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -6.4 -4.75 4 - vertex -1.46783 -4.51752 4 - vertex 0 -4.75 4 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.51752 1.46783 4 - vertex 6.4 11.25 4 - vertex 4.75 0 4 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex -6.4 11.25 4 - vertex -6.4 11.25 12.3 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 6.4 11.25 4 - vertex -6.4 11.25 12.3 - vertex 6.4 11.25 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.46783 -4.51752 12.3 - vertex -6.4 -4.75 12.3 - vertex 0 -4.75 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.79198 -3.84283 12.3 - vertex -6.4 -4.75 12.3 - vertex -1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.84283 -2.79198 12.3 - vertex -6.4 -4.75 12.3 - vertex -2.79198 -3.84283 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.51752 -1.46783 12.3 - vertex -6.4 -4.75 12.3 - vertex -3.84283 -2.79198 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.51752 1.46783 12.3 - vertex -3.84283 2.79198 12.3 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.75 0 12.3 - vertex -6.4 -4.75 12.3 - vertex -4.51752 -1.46783 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.84283 2.79198 12.3 - vertex -2.79198 3.84283 12.3 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.4 11.25 12.3 - vertex -6.4 -4.75 12.3 - vertex -4.75 0 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.46783 4.51752 12.3 - vertex -6.4 11.25 12.3 - vertex -2.79198 3.84283 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 4.75 12.3 - vertex -6.4 11.25 12.3 - vertex -1.46783 4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.46783 4.51752 12.3 - vertex -6.4 11.25 12.3 - vertex 0 4.75 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.79198 3.84283 12.3 - vertex -6.4 11.25 12.3 - vertex 1.46783 4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 11.25 12.3 - vertex -6.4 11.25 12.3 - vertex 2.79198 3.84283 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 11.25 12.3 - vertex 2.79198 3.84283 12.3 - vertex 3.84283 2.79198 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 11.25 12.3 - vertex 3.84283 2.79198 12.3 - vertex 4.51752 1.46783 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 -4.75 12.3 - vertex 4.51752 1.46783 12.3 - vertex 4.75 0 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 -4.75 12.3 - vertex 4.75 0 12.3 - vertex 4.51752 -1.46783 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 -4.75 12.3 - vertex 4.51752 -1.46783 12.3 - vertex 3.84283 -2.79198 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 -4.75 12.3 - vertex 3.84283 -2.79198 12.3 - vertex 2.79198 -3.84283 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 -4.75 12.3 - vertex 2.79198 -3.84283 12.3 - vertex 1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -4.75 12.3 - vertex 6.4 -4.75 12.3 - vertex 1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.4 11.25 12.3 - vertex 4.51752 1.46783 12.3 - vertex 6.4 -4.75 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.75 0 12.3 - vertex -4.51752 1.46783 12.3 - vertex -6.4 11.25 12.3 - endloop - endfacet - facet normal 3.47353e-17 0.987688 -0.156434 - outer loop - vertex 6.4 4.39683 9.07705 - vertex 6.4 4.25 8.15 - vertex -6.4 4.39683 9.07705 - endloop - endfacet - facet normal 3.47353e-17 0.987688 -0.156434 - outer loop - vertex -6.4 4.39683 9.07705 - vertex 6.4 4.25 8.15 - vertex -6.4 4.25 8.15 - endloop - endfacet - facet normal -3.47353e-17 0.987688 0.156434 - outer loop - vertex 6.4 4.39683 7.22295 - vertex -6.4 4.39683 7.22295 - vertex 6.4 4.25 8.15 - endloop - endfacet - facet normal -3.47353e-17 0.987688 0.156434 - outer loop - vertex 6.4 4.25 8.15 - vertex -6.4 4.39683 7.22295 - vertex -6.4 4.25 8.15 - endloop - endfacet - facet normal 1.00806e-16 0.891006 -0.453991 - outer loop - vertex 6.4 4.82295 9.91336 - vertex 6.4 4.39683 9.07705 - vertex -6.4 4.82295 9.91336 - endloop - endfacet - facet normal 1.00806e-16 0.891006 -0.453991 - outer loop - vertex -6.4 4.82295 9.91336 - vertex 6.4 4.39683 9.07705 - vertex -6.4 4.39683 9.07705 - endloop - endfacet - facet normal 1.57009e-16 0.707107 -0.707107 - outer loop - vertex 6.4 5.48664 10.5771 - vertex 6.4 4.82295 9.91336 - vertex -6.4 5.48664 10.5771 - endloop - endfacet - facet normal 1.57009e-16 0.707107 -0.707107 - outer loop - vertex -6.4 5.48664 10.5771 - vertex 6.4 4.82295 9.91336 - vertex -6.4 4.82295 9.91336 - endloop - endfacet - facet normal 1.97843e-16 0.453991 -0.891006 - outer loop - vertex 6.4 6.32295 11.0032 - vertex 6.4 5.48664 10.5771 - vertex -6.4 6.32295 11.0032 - endloop - endfacet - facet normal 1.97843e-16 0.453991 -0.891006 - outer loop - vertex -6.4 6.32295 11.0032 - vertex 6.4 5.48664 10.5771 - vertex -6.4 5.48664 10.5771 - endloop - endfacet - facet normal 2.19311e-16 0.156434 -0.987688 - outer loop - vertex 6.4 7.25 11.15 - vertex 6.4 6.32295 11.0032 - vertex -6.4 7.25 11.15 - endloop - endfacet - facet normal 2.19311e-16 0.156434 -0.987688 - outer loop - vertex -6.4 7.25 11.15 - vertex 6.4 6.32295 11.0032 - vertex -6.4 6.32295 11.0032 - endloop - endfacet - facet normal 2.19311e-16 -0.156434 -0.987688 - outer loop - vertex 6.4 8.17705 11.0032 - vertex 6.4 7.25 11.15 - vertex -6.4 8.17705 11.0032 - endloop - endfacet - facet normal 2.19311e-16 -0.156434 -0.987688 - outer loop - vertex -6.4 8.17705 11.0032 - vertex 6.4 7.25 11.15 - vertex -6.4 7.25 11.15 - endloop - endfacet - facet normal 1.97843e-16 -0.453991 -0.891006 - outer loop - vertex 6.4 9.01336 10.5771 - vertex 6.4 8.17705 11.0032 - vertex -6.4 9.01336 10.5771 - endloop - endfacet - facet normal 1.97843e-16 -0.453991 -0.891006 - outer loop - vertex -6.4 9.01336 10.5771 - vertex 6.4 8.17705 11.0032 - vertex -6.4 8.17705 11.0032 - endloop - endfacet - facet normal 1.57009e-16 -0.707107 -0.707107 - outer loop - vertex -6.4 9.67705 9.91336 - vertex 6.4 9.67705 9.91336 - vertex 6.4 9.01336 10.5771 - endloop - endfacet - facet normal 1.57009e-16 -0.707107 -0.707107 - outer loop - vertex -6.4 9.01336 10.5771 - vertex -6.4 9.67705 9.91336 - vertex 6.4 9.01336 10.5771 - endloop - endfacet - facet normal 1.00806e-16 -0.891006 -0.453991 - outer loop - vertex -6.4 10.1032 9.07705 - vertex 6.4 10.1032 9.07705 - vertex 6.4 9.67705 9.91336 - endloop - endfacet - facet normal 1.00806e-16 -0.891006 -0.453991 - outer loop - vertex -6.4 9.67705 9.91336 - vertex -6.4 10.1032 9.07705 - vertex 6.4 9.67705 9.91336 - endloop - endfacet - facet normal 3.47353e-17 -0.987688 -0.156434 - outer loop - vertex -6.4 10.25 8.15 - vertex 6.4 10.25 8.15 - vertex 6.4 10.1032 9.07705 - endloop - endfacet - facet normal 3.47353e-17 -0.987688 -0.156434 - outer loop - vertex -6.4 10.1032 9.07705 - vertex -6.4 10.25 8.15 - vertex 6.4 10.1032 9.07705 - endloop - endfacet - facet normal -3.47353e-17 -0.987688 0.156434 - outer loop - vertex 6.4 10.1032 7.22295 - vertex 6.4 10.25 8.15 - vertex -6.4 10.25 8.15 - endloop - endfacet - facet normal -3.47353e-17 -0.987688 0.156434 - outer loop - vertex -6.4 10.1032 7.22295 - vertex 6.4 10.1032 7.22295 - vertex -6.4 10.25 8.15 - endloop - endfacet - facet normal -1.00806e-16 -0.891006 0.453991 - outer loop - vertex 6.4 9.67705 6.38664 - vertex 6.4 10.1032 7.22295 - vertex -6.4 10.1032 7.22295 - endloop - endfacet - facet normal -1.00806e-16 -0.891006 0.453991 - outer loop - vertex -6.4 9.67705 6.38664 - vertex 6.4 9.67705 6.38664 - vertex -6.4 10.1032 7.22295 - endloop - endfacet - facet normal -1.57009e-16 -0.707107 0.707107 - outer loop - vertex 6.4 9.01336 5.72295 - vertex 6.4 9.67705 6.38664 - vertex -6.4 9.67705 6.38664 - endloop - endfacet - facet normal -1.57009e-16 -0.707107 0.707107 - outer loop - vertex -6.4 9.01336 5.72295 - vertex 6.4 9.01336 5.72295 - vertex -6.4 9.67705 6.38664 - endloop - endfacet - facet normal -1.97843e-16 -0.453991 0.891006 - outer loop - vertex 6.4 8.17705 5.29683 - vertex 6.4 9.01336 5.72295 - vertex -6.4 9.01336 5.72295 - endloop - endfacet - facet normal -1.97843e-16 -0.453991 0.891006 - outer loop - vertex -6.4 8.17705 5.29683 - vertex 6.4 8.17705 5.29683 - vertex -6.4 9.01336 5.72295 - endloop - endfacet - facet normal -2.19311e-16 -0.156434 0.987688 - outer loop - vertex 6.4 7.25 5.15 - vertex 6.4 8.17705 5.29683 - vertex -6.4 8.17705 5.29683 - endloop - endfacet - facet normal -2.19311e-16 -0.156434 0.987688 - outer loop - vertex -6.4 7.25 5.15 - vertex 6.4 7.25 5.15 - vertex -6.4 8.17705 5.29683 - endloop - endfacet - facet normal -2.19311e-16 0.156434 0.987688 - outer loop - vertex 6.4 6.32295 5.29683 - vertex 6.4 7.25 5.15 - vertex -6.4 7.25 5.15 - endloop - endfacet - facet normal -2.19311e-16 0.156434 0.987688 - outer loop - vertex -6.4 6.32295 5.29683 - vertex 6.4 6.32295 5.29683 - vertex -6.4 7.25 5.15 - endloop - endfacet - facet normal -1.97843e-16 0.453991 0.891006 - outer loop - vertex 6.4 5.48664 5.72295 - vertex 6.4 6.32295 5.29683 - vertex -6.4 6.32295 5.29683 - endloop - endfacet - facet normal -1.97843e-16 0.453991 0.891006 - outer loop - vertex -6.4 5.48664 5.72295 - vertex 6.4 5.48664 5.72295 - vertex -6.4 6.32295 5.29683 - endloop - endfacet - facet normal -1.57009e-16 0.707107 0.707107 - outer loop - vertex 6.4 5.48664 5.72295 - vertex -6.4 5.48664 5.72295 - vertex 6.4 4.82295 6.38664 - endloop - endfacet - facet normal -1.57009e-16 0.707107 0.707107 - outer loop - vertex 6.4 4.82295 6.38664 - vertex -6.4 5.48664 5.72295 - vertex -6.4 4.82295 6.38664 - endloop - endfacet - facet normal -1.00806e-16 0.891006 0.453991 - outer loop - vertex 6.4 4.82295 6.38664 - vertex -6.4 4.82295 6.38664 - vertex 6.4 4.39683 7.22295 - endloop - endfacet - facet normal -1.00806e-16 0.891006 0.453991 - outer loop - vertex 6.4 4.39683 7.22295 - vertex -6.4 4.82295 6.38664 - vertex -6.4 4.39683 7.22295 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex -1.46783 -4.51752 18 - vertex -1.46783 -4.51752 12.3 - vertex 0 -4.75 12.3 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex 0 -4.75 18 - vertex -1.46783 -4.51752 18 - vertex 0 -4.75 12.3 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex 0 -4.75 18 - vertex 0 -4.75 12.3 - vertex 1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex 1.46783 -4.51752 18 - vertex 0 -4.75 18 - vertex 1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 7.25 5.15 - vertex 6.4 -4.75 4 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 -4.75 12.3 - vertex 6.4 -4.75 4 - vertex 6.4 4.39683 7.22295 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 4.39683 9.07705 - vertex 6.4 -4.75 12.3 - vertex 6.4 4.25 8.15 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 4.82295 9.91336 - vertex 6.4 -4.75 12.3 - vertex 6.4 4.39683 9.07705 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 5.48664 10.5771 - vertex 6.4 -4.75 12.3 - vertex 6.4 4.82295 9.91336 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 6.32295 11.0032 - vertex 6.4 -4.75 12.3 - vertex 6.4 5.48664 10.5771 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 11.25 12.3 - vertex 6.4 -4.75 12.3 - vertex 6.4 6.32295 11.0032 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 8.17705 11.0032 - vertex 6.4 9.01336 10.5771 - vertex 6.4 11.25 12.3 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 11.25 12.3 - vertex 6.4 6.32295 11.0032 - vertex 6.4 7.25 11.15 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 10.25 8.15 - vertex 6.4 10.1032 7.22295 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 9.01336 5.72295 - vertex 6.4 8.17705 5.29683 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 11.25 12.3 - vertex 6.4 9.01336 10.5771 - vertex 6.4 9.67705 9.91336 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 11.25 12.3 - vertex 6.4 10.1032 9.07705 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 11.25 12.3 - vertex 6.4 9.67705 9.91336 - vertex 6.4 10.1032 9.07705 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 10.1032 9.07705 - vertex 6.4 10.25 8.15 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 10.1032 7.22295 - vertex 6.4 9.67705 6.38664 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 9.67705 6.38664 - vertex 6.4 9.01336 5.72295 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 8.17705 5.29683 - vertex 6.4 7.25 5.15 - vertex 6.4 11.25 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 5.48664 5.72295 - vertex 6.4 -4.75 4 - vertex 6.4 6.32295 5.29683 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 4.82295 6.38664 - vertex 6.4 -4.75 4 - vertex 6.4 5.48664 5.72295 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 4.39683 7.22295 - vertex 6.4 -4.75 4 - vertex 6.4 4.82295 6.38664 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 7.25 5.15 - vertex 6.4 6.32295 5.29683 - vertex 6.4 -4.75 4 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 4.39683 7.22295 - vertex 6.4 4.25 8.15 - vertex 6.4 -4.75 12.3 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.4 7.25 11.15 - vertex 6.4 8.17705 11.0032 - vertex 6.4 11.25 12.3 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex 0 -4.75 4 - vertex 0 -4.75 3 - vertex 1.46783 -4.51752 3 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex 1.46783 -4.51752 4 - vertex 0 -4.75 4 - vertex 1.46783 -4.51752 3 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex -1.46783 -4.51752 4 - vertex -1.46783 -4.51752 3 - vertex 0 -4.75 3 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex 0 -4.75 4 - vertex -1.46783 -4.51752 4 - vertex 0 -4.75 3 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex -2.79198 -3.84283 4 - vertex -2.79198 -3.84283 3 - vertex -1.46783 -4.51752 3 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex -1.46783 -4.51752 4 - vertex -2.79198 -3.84283 4 - vertex -1.46783 -4.51752 3 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -3.84283 -2.79198 4 - vertex -3.84283 -2.79198 3 - vertex -2.79198 -3.84283 3 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -2.79198 -3.84283 4 - vertex -3.84283 -2.79198 4 - vertex -2.79198 -3.84283 3 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex -4.51752 -1.46783 3 - vertex -3.84283 -2.79198 3 - vertex -4.51752 -1.46783 4 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex -4.51752 -1.46783 4 - vertex -3.84283 -2.79198 3 - vertex -3.84283 -2.79198 4 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex -4.75 0 3 - vertex -4.51752 -1.46783 3 - vertex -4.75 0 4 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex -4.75 0 4 - vertex -4.51752 -1.46783 3 - vertex -4.51752 -1.46783 4 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex -4.75 0 3 - vertex -4.75 0 4 - vertex -4.51752 1.46783 3 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex -4.51752 1.46783 3 - vertex -4.75 0 4 - vertex -4.51752 1.46783 4 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex -4.51752 1.46783 3 - vertex -4.51752 1.46783 4 - vertex -3.84283 2.79198 3 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex -3.84283 2.79198 3 - vertex -4.51752 1.46783 4 - vertex -3.84283 2.79198 4 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -3.84283 2.79198 3 - vertex -3.84283 2.79198 4 - vertex -2.79198 3.84283 3 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -2.79198 3.84283 3 - vertex -3.84283 2.79198 4 - vertex -2.79198 3.84283 4 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex -2.79198 3.84283 3 - vertex -2.79198 3.84283 4 - vertex -1.46783 4.51752 3 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex -1.46783 4.51752 3 - vertex -2.79198 3.84283 4 - vertex -1.46783 4.51752 4 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex -1.46783 4.51752 3 - vertex -1.46783 4.51752 4 - vertex 0 4.75 3 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex 0 4.75 3 - vertex -1.46783 4.51752 4 - vertex 0 4.75 4 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex 0 4.75 3 - vertex 0 4.75 4 - vertex 1.46783 4.51752 3 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex 1.46783 4.51752 3 - vertex 0 4.75 4 - vertex 1.46783 4.51752 4 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex 1.46783 4.51752 3 - vertex 1.46783 4.51752 4 - vertex 2.79198 3.84283 3 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex 2.79198 3.84283 3 - vertex 1.46783 4.51752 4 - vertex 2.79198 3.84283 4 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 2.79198 3.84283 3 - vertex 2.79198 3.84283 4 - vertex 3.84283 2.79198 3 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 3.84283 2.79198 3 - vertex 2.79198 3.84283 4 - vertex 3.84283 2.79198 4 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex 4.51752 1.46783 3 - vertex 3.84283 2.79198 3 - vertex 3.84283 2.79198 4 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex 4.51752 1.46783 4 - vertex 4.51752 1.46783 3 - vertex 3.84283 2.79198 4 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex 4.75 0 3 - vertex 4.51752 1.46783 3 - vertex 4.51752 1.46783 4 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex 4.75 0 4 - vertex 4.75 0 3 - vertex 4.51752 1.46783 4 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex 4.51752 -1.46783 4 - vertex 4.51752 -1.46783 3 - vertex 4.75 0 3 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex 4.75 0 4 - vertex 4.51752 -1.46783 4 - vertex 4.75 0 3 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex 3.84283 -2.79198 4 - vertex 3.84283 -2.79198 3 - vertex 4.51752 -1.46783 3 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex 4.51752 -1.46783 4 - vertex 3.84283 -2.79198 4 - vertex 4.51752 -1.46783 3 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 2.79198 -3.84283 4 - vertex 2.79198 -3.84283 3 - vertex 3.84283 -2.79198 3 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 3.84283 -2.79198 4 - vertex 2.79198 -3.84283 4 - vertex 3.84283 -2.79198 3 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex 1.46783 -4.51752 4 - vertex 1.46783 -4.51752 3 - vertex 2.79198 -3.84283 3 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex 2.79198 -3.84283 4 - vertex 1.46783 -4.51752 4 - vertex 2.79198 -3.84283 3 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex 1.46783 -4.51752 18 - vertex 1.46783 -4.51752 12.3 - vertex 2.79198 -3.84283 12.3 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex 2.79198 -3.84283 18 - vertex 1.46783 -4.51752 18 - vertex 2.79198 -3.84283 12.3 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 2.79198 -3.84283 18 - vertex 2.79198 -3.84283 12.3 - vertex 3.84283 -2.79198 12.3 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 3.84283 -2.79198 18 - vertex 2.79198 -3.84283 18 - vertex 3.84283 -2.79198 12.3 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex 3.84283 -2.79198 18 - vertex 3.84283 -2.79198 12.3 - vertex 4.51752 -1.46783 12.3 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex 4.51752 -1.46783 18 - vertex 3.84283 -2.79198 18 - vertex 4.51752 -1.46783 12.3 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex 4.51752 -1.46783 18 - vertex 4.51752 -1.46783 12.3 - vertex 4.75 0 12.3 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex 4.75 0 18 - vertex 4.51752 -1.46783 18 - vertex 4.75 0 12.3 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex 4.75 0 12.3 - vertex 4.51752 1.46783 12.3 - vertex 4.51752 1.46783 18 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex 4.75 0 18 - vertex 4.75 0 12.3 - vertex 4.51752 1.46783 18 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex 4.51752 1.46783 12.3 - vertex 3.84283 2.79198 12.3 - vertex 3.84283 2.79198 18 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex 4.51752 1.46783 18 - vertex 4.51752 1.46783 12.3 - vertex 3.84283 2.79198 18 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 2.79198 3.84283 12.3 - vertex 2.79198 3.84283 18 - vertex 3.84283 2.79198 12.3 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 3.84283 2.79198 12.3 - vertex 2.79198 3.84283 18 - vertex 3.84283 2.79198 18 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex 1.46783 4.51752 12.3 - vertex 1.46783 4.51752 18 - vertex 2.79198 3.84283 12.3 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex 2.79198 3.84283 12.3 - vertex 1.46783 4.51752 18 - vertex 2.79198 3.84283 18 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex 0 4.75 12.3 - vertex 0 4.75 18 - vertex 1.46783 4.51752 12.3 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex 1.46783 4.51752 12.3 - vertex 0 4.75 18 - vertex 1.46783 4.51752 18 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex -1.46783 4.51752 12.3 - vertex -1.46783 4.51752 18 - vertex 0 4.75 12.3 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex 0 4.75 12.3 - vertex -1.46783 4.51752 18 - vertex 0 4.75 18 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex -2.79198 3.84283 12.3 - vertex -2.79198 3.84283 18 - vertex -1.46783 4.51752 12.3 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex -1.46783 4.51752 12.3 - vertex -2.79198 3.84283 18 - vertex -1.46783 4.51752 18 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -3.84283 2.79198 12.3 - vertex -3.84283 2.79198 18 - vertex -2.79198 3.84283 12.3 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -2.79198 3.84283 12.3 - vertex -3.84283 2.79198 18 - vertex -2.79198 3.84283 18 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex -4.51752 1.46783 12.3 - vertex -4.51752 1.46783 18 - vertex -3.84283 2.79198 12.3 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex -3.84283 2.79198 12.3 - vertex -4.51752 1.46783 18 - vertex -3.84283 2.79198 18 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex -4.75 0 12.3 - vertex -4.75 0 18 - vertex -4.51752 1.46783 12.3 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex -4.51752 1.46783 12.3 - vertex -4.75 0 18 - vertex -4.51752 1.46783 18 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex -4.75 0 12.3 - vertex -4.51752 -1.46783 12.3 - vertex -4.75 0 18 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex -4.75 0 18 - vertex -4.51752 -1.46783 12.3 - vertex -4.51752 -1.46783 18 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex -4.51752 -1.46783 12.3 - vertex -3.84283 -2.79198 12.3 - vertex -4.51752 -1.46783 18 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex -4.51752 -1.46783 18 - vertex -3.84283 -2.79198 12.3 - vertex -3.84283 -2.79198 18 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -3.84283 -2.79198 18 - vertex -3.84283 -2.79198 12.3 - vertex -2.79198 -3.84283 12.3 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -2.79198 -3.84283 18 - vertex -3.84283 -2.79198 18 - vertex -2.79198 -3.84283 12.3 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex -2.79198 -3.84283 18 - vertex -2.79198 -3.84283 12.3 - vertex -1.46783 -4.51752 12.3 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex -1.46783 -4.51752 18 - vertex -2.79198 -3.84283 18 - vertex -1.46783 -4.51752 12.3 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4.51752 1.46783 18 - vertex -4.75 0 18 - vertex -4.51752 -1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 -1.23607 18 - vertex -4.51752 1.46783 18 - vertex -3.84283 -2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.84283 -2.79198 18 - vertex -4.51752 1.46783 18 - vertex -4.51752 -1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23607 -3.80423 18 - vertex 0 -4 18 - vertex 1.46783 -4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23607 -3.80423 18 - vertex -2.35114 -3.23607 18 - vertex -1.46783 -4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 4 18 - vertex 1.23607 3.80423 18 - vertex 1.46783 4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.79198 3.84283 18 - vertex -4.51752 1.46783 18 - vertex -1.46783 4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.84283 2.79198 18 - vertex -4.51752 1.46783 18 - vertex -2.79198 3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.79198 -3.84283 18 - vertex -3.80423 -1.23607 18 - vertex -3.84283 -2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.35114 -3.23607 18 - vertex 1.23607 -3.80423 18 - vertex 2.79198 -3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23607 3.80423 18 - vertex 2.35114 3.23607 18 - vertex 2.79198 3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.35114 3.23607 18 - vertex -1.23607 3.80423 18 - vertex 0 4.75 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.46783 4.51752 18 - vertex -2.35114 3.23607 18 - vertex 0 4.75 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.46783 4.51752 18 - vertex -4.51752 1.46783 18 - vertex -2.35114 3.23607 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 4.75 18 - vertex -1.23607 3.80423 18 - vertex 1.46783 4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23607 3.80423 18 - vertex 0 4 18 - vertex 1.46783 4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.46783 4.51752 18 - vertex 1.23607 3.80423 18 - vertex 2.79198 3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.23607 2.35114 18 - vertex -2.35114 3.23607 18 - vertex -4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.79198 3.84283 18 - vertex 2.35114 3.23607 18 - vertex 3.84283 2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.84283 2.79198 18 - vertex 3.23607 2.35114 18 - vertex 4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.51752 1.46783 18 - vertex 3.80423 1.23607 18 - vertex 4.75 0 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.75 0 18 - vertex 4 0 18 - vertex 4.51752 -1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4 0 18 - vertex 3.80423 -1.23607 18 - vertex 4.51752 -1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4.51752 -1.46783 18 - vertex 3.23607 -2.35114 18 - vertex 3.84283 -2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.84283 -2.79198 18 - vertex 2.35114 -3.23607 18 - vertex 2.79198 -3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.35114 3.23607 18 - vertex 3.23607 2.35114 18 - vertex 3.84283 2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.79198 -3.84283 18 - vertex 1.23607 -3.80423 18 - vertex 1.46783 -4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.23607 2.35114 18 - vertex 3.80423 1.23607 18 - vertex 4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.46783 -4.51752 18 - vertex 0 -4 18 - vertex 0 -4.75 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.80423 1.23607 18 - vertex 4 0 18 - vertex 4.75 0 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -4.75 18 - vertex -1.23607 -3.80423 18 - vertex -1.46783 -4.51752 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.80423 -1.23607 18 - vertex 3.23607 -2.35114 18 - vertex 4.51752 -1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.46783 -4.51752 18 - vertex -2.35114 -3.23607 18 - vertex -2.79198 -3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.35114 -3.23607 18 - vertex -3.23607 -2.35114 18 - vertex -2.79198 -3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 -1.23607 18 - vertex -4 0 18 - vertex -4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.23607 -2.35114 18 - vertex -3.80423 -1.23607 18 - vertex -2.79198 -3.84283 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -4 18 - vertex -1.23607 -3.80423 18 - vertex 0 -4.75 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4 0 18 - vertex -3.80423 1.23607 18 - vertex -4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.23607 -2.35114 18 - vertex 2.35114 -3.23607 18 - vertex 3.84283 -2.79198 18 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 1.23607 18 - vertex -3.23607 2.35114 18 - vertex -4.51752 1.46783 18 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.50104 1.46248 3 - vertex -4.51752 1.46783 3 - vertex -3.84283 2.79198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.82881 2.78179 3 - vertex -3.84283 2.79198 3 - vertex -2.79198 3.84283 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.78179 3.82881 3 - vertex -2.79198 3.84283 3 - vertex -1.46783 4.51752 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46248 4.50104 3 - vertex -1.46783 4.51752 3 - vertex 0 4.75 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 4.73267 3 - vertex 0 4.75 3 - vertex 1.46783 4.51752 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46248 4.50104 3 - vertex 1.46783 4.51752 3 - vertex 2.79198 3.84283 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.78179 3.82881 3 - vertex 2.79198 3.84283 3 - vertex 3.84283 2.79198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50104 1.46248 3 - vertex 3.84283 2.79198 3 - vertex 4.51752 1.46783 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.73267 0 3 - vertex 4.51752 1.46783 3 - vertex 4.75 0 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50104 -1.46248 3 - vertex 4.75 0 3 - vertex 4.51752 -1.46783 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.82881 -2.78179 3 - vertex 4.51752 -1.46783 3 - vertex 3.84283 -2.79198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.78179 -3.82881 3 - vertex 3.84283 -2.79198 3 - vertex 2.79198 -3.84283 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46248 -4.50104 3 - vertex 2.79198 -3.84283 3 - vertex 1.46783 -4.51752 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 -4.73267 3 - vertex 1.46783 -4.51752 3 - vertex 0 -4.75 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46248 -4.50104 3 - vertex 0 -4.75 3 - vertex -1.46783 -4.51752 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.78179 -3.82881 3 - vertex -1.46783 -4.51752 3 - vertex -2.79198 -3.84283 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.82881 -2.78179 3 - vertex -2.79198 -3.84283 3 - vertex -3.84283 -2.79198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.75 0 3 - vertex -4.51752 1.46783 3 - vertex -4.73267 0 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.75 0 3 - vertex -4.73267 0 3 - vertex -4.51752 -1.46783 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.50104 -1.46248 3 - vertex -4.51752 -1.46783 3 - vertex -4.73259 -0.000492458 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.73267 0 3 - vertex -4.73259 -0.000492458 3 - vertex -4.51752 -1.46783 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.82881 -2.78179 3 - vertex -4.51752 -1.46783 3 - vertex -4.50081 -1.46292 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.51752 -1.46783 3 - vertex -4.50104 -1.46248 3 - vertex -4.50081 -1.46292 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.78179 -3.82881 3 - vertex -2.79198 -3.84283 3 - vertex -3.82881 -2.78179 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.51752 -1.46783 3 - vertex -3.82881 -2.78179 3 - vertex -3.84283 -2.79198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.78135 -3.82904 3 - vertex -1.46783 -4.51752 3 - vertex -2.78179 -3.82881 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46198 -4.50111 3 - vertex 0 -4.75 3 - vertex -1.46248 -4.50104 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0.000492458 -4.73259 3 - vertex 1.46783 -4.51752 3 - vertex 0 -4.73267 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46292 -4.50081 3 - vertex 2.79198 -3.84283 3 - vertex 1.46248 -4.50104 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.82904 -2.78135 3 - vertex 4.51752 -1.46783 3 - vertex 3.82881 -2.78179 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50111 -1.46198 3 - vertex 4.75 0 3 - vertex 4.50104 -1.46248 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.73259 0.000492458 3 - vertex 4.51752 1.46783 3 - vertex 4.73267 0 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50104 1.46248 3 - vertex 4.51752 1.46783 3 - vertex 4.73259 0.000492458 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50081 1.46292 3 - vertex 3.84283 2.79198 3 - vertex 4.50104 1.46248 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.82881 2.78179 3 - vertex 3.84283 2.79198 3 - vertex 4.50081 1.46292 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.73267 0 3 - vertex 4.75 0 3 - vertex 4.50111 -1.46198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.78135 3.82904 3 - vertex 2.79198 3.84283 3 - vertex 2.78179 3.82881 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 4.50104 -1.46248 3 - vertex 4.51752 -1.46783 3 - vertex 3.82904 -2.78135 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46198 4.50111 3 - vertex 1.46783 4.51752 3 - vertex 1.46248 4.50104 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 3.82881 -2.78179 3 - vertex 3.84283 -2.79198 3 - vertex 2.78179 -3.82881 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.000492458 4.73259 3 - vertex 0 4.75 3 - vertex 0 4.73267 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.78179 -3.82881 3 - vertex 2.79198 -3.84283 3 - vertex 1.46292 -4.50081 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46292 4.50081 3 - vertex -1.46783 4.51752 3 - vertex -1.46248 4.50104 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46248 -4.50104 3 - vertex 1.46783 -4.51752 3 - vertex 0.000492458 -4.73259 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 -4.73267 3 - vertex 0 -4.75 3 - vertex -1.46198 -4.50111 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.82904 2.78135 3 - vertex -3.84283 2.79198 3 - vertex -3.82881 2.78179 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46248 -4.50104 3 - vertex -1.46783 -4.51752 3 - vertex -2.78135 -3.82904 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.50111 1.46198 3 - vertex -4.51752 1.46783 3 - vertex -4.50104 1.46248 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.73267 0 3 - vertex -4.51752 1.46783 3 - vertex -4.50111 1.46198 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -4.50104 1.46248 3 - vertex -3.84283 2.79198 3 - vertex -3.82904 2.78135 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -3.82881 2.78179 3 - vertex -2.79198 3.84283 3 - vertex -2.78179 3.82881 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -2.78179 3.82881 3 - vertex -1.46783 4.51752 3 - vertex -1.46292 4.50081 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -1.46248 4.50104 3 - vertex 0 4.75 3 - vertex -0.000492458 4.73259 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 0 4.73267 3 - vertex 1.46783 4.51752 3 - vertex 1.46198 4.50111 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 1.46248 4.50104 3 - vertex 2.79198 3.84283 3 - vertex 2.78135 3.82904 3 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 2.78179 3.82881 3 - vertex 3.84283 2.79198 3 - vertex 3.82881 2.78179 3 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex -4 0 18 - vertex -3.80423 -1.23607 18 - vertex -3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0.987688 0.156435 0 - outer loop - vertex -4 0 3.99 - vertex -4 0 18 - vertex -3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex -3.80423 -1.23607 18 - vertex -3.23607 -2.35114 18 - vertex -3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0.891007 0.45399 0 - outer loop - vertex -3.80423 -1.23607 3.99 - vertex -3.80423 -1.23607 18 - vertex -3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex -2.35114 -3.23607 18 - vertex -2.35114 -3.23607 3.99 - vertex -3.23607 -2.35114 18 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex -3.23607 -2.35114 18 - vertex -2.35114 -3.23607 3.99 - vertex -3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex -1.23607 -3.80423 18 - vertex -1.23607 -3.80423 3.99 - vertex -2.35114 -3.23607 18 - endloop - endfacet - facet normal 0.45399 0.891007 0 - outer loop - vertex -2.35114 -3.23607 18 - vertex -1.23607 -3.80423 3.99 - vertex -2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex 0 -4 18 - vertex 0 -4 3.99 - vertex -1.23607 -3.80423 18 - endloop - endfacet - facet normal 0.156435 0.987688 0 - outer loop - vertex -1.23607 -3.80423 18 - vertex 0 -4 3.99 - vertex -1.23607 -3.80423 3.99 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex 1.23607 -3.80423 18 - vertex 1.23607 -3.80423 3.99 - vertex 0 -4 18 - endloop - endfacet - facet normal -0.156435 0.987688 0 - outer loop - vertex 0 -4 18 - vertex 1.23607 -3.80423 3.99 - vertex 0 -4 3.99 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex 2.35114 -3.23607 18 - vertex 2.35114 -3.23607 3.99 - vertex 1.23607 -3.80423 18 - endloop - endfacet - facet normal -0.45399 0.891007 0 - outer loop - vertex 1.23607 -3.80423 18 - vertex 2.35114 -3.23607 3.99 - vertex 1.23607 -3.80423 3.99 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex 3.23607 -2.35114 18 - vertex 3.23607 -2.35114 3.99 - vertex 2.35114 -3.23607 18 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex 2.35114 -3.23607 18 - vertex 3.23607 -2.35114 3.99 - vertex 2.35114 -3.23607 3.99 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex 3.80423 -1.23607 18 - vertex 3.80423 -1.23607 3.99 - vertex 3.23607 -2.35114 18 - endloop - endfacet - facet normal -0.891007 0.45399 0 - outer loop - vertex 3.23607 -2.35114 18 - vertex 3.80423 -1.23607 3.99 - vertex 3.23607 -2.35114 3.99 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex 4 0 18 - vertex 4 0 3.99 - vertex 3.80423 -1.23607 18 - endloop - endfacet - facet normal -0.987688 0.156435 0 - outer loop - vertex 3.80423 -1.23607 18 - vertex 4 0 3.99 - vertex 3.80423 -1.23607 3.99 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex 4 0 18 - vertex 3.80423 1.23607 18 - vertex 4 0 3.99 - endloop - endfacet - facet normal -0.987688 -0.156435 0 - outer loop - vertex 4 0 3.99 - vertex 3.80423 1.23607 18 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex 3.80423 1.23607 18 - vertex 3.23607 2.35114 18 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal -0.891007 -0.45399 0 - outer loop - vertex 3.80423 1.23607 3.99 - vertex 3.23607 2.35114 18 - vertex 3.23607 2.35114 3.99 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex 3.23607 2.35114 3.99 - vertex 3.23607 2.35114 18 - vertex 2.35114 3.23607 18 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex 2.35114 3.23607 3.99 - vertex 3.23607 2.35114 3.99 - vertex 2.35114 3.23607 18 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex 2.35114 3.23607 3.99 - vertex 2.35114 3.23607 18 - vertex 1.23607 3.80423 18 - endloop - endfacet - facet normal -0.45399 -0.891007 0 - outer loop - vertex 1.23607 3.80423 3.99 - vertex 2.35114 3.23607 3.99 - vertex 1.23607 3.80423 18 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex 1.23607 3.80423 3.99 - vertex 1.23607 3.80423 18 - vertex 0 4 18 - endloop - endfacet - facet normal -0.156435 -0.987688 0 - outer loop - vertex 0 4 3.99 - vertex 1.23607 3.80423 3.99 - vertex 0 4 18 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex 0 4 3.99 - vertex 0 4 18 - vertex -1.23607 3.80423 18 - endloop - endfacet - facet normal 0.156435 -0.987688 0 - outer loop - vertex -1.23607 3.80423 3.99 - vertex 0 4 3.99 - vertex -1.23607 3.80423 18 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex -1.23607 3.80423 3.99 - vertex -1.23607 3.80423 18 - vertex -2.35114 3.23607 18 - endloop - endfacet - facet normal 0.45399 -0.891007 0 - outer loop - vertex -2.35114 3.23607 3.99 - vertex -1.23607 3.80423 3.99 - vertex -2.35114 3.23607 18 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex -2.35114 3.23607 3.99 - vertex -2.35114 3.23607 18 - vertex -3.23607 2.35114 18 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex -3.23607 2.35114 3.99 - vertex -2.35114 3.23607 3.99 - vertex -3.23607 2.35114 18 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex -3.23607 2.35114 3.99 - vertex -3.23607 2.35114 18 - vertex -3.80423 1.23607 18 - endloop - endfacet - facet normal 0.891007 -0.45399 0 - outer loop - vertex -3.80423 1.23607 3.99 - vertex -3.23607 2.35114 3.99 - vertex -3.80423 1.23607 18 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex -3.80423 1.23607 3.99 - vertex -3.80423 1.23607 18 - vertex -4 0 18 - endloop - endfacet - facet normal 0.987688 -0.156435 0 - outer loop - vertex -4 0 3.99 - vertex -3.80423 1.23607 3.99 - vertex -4 0 18 - endloop - endfacet - facet normal -0.498221 0.0789107 -0.863452 - outer loop - vertex -0.4 0 0.5 - vertex -4.73267 0 3 - vertex -4.50111 1.46198 3 - endloop - endfacet - facet normal -0.498222 -0.0789088 -0.863452 - outer loop - vertex -4.73267 0 3 - vertex -0.4 0 0.5 - vertex -4.73259 -0.000492458 3 - endloop - endfacet - facet normal -0.498222 -0.0789088 -0.863452 - outer loop - vertex -4.73259 -0.000492458 3 - vertex -0.4 0 0.5 - vertex -0.380423 -0.123607 0.5 - endloop - endfacet - facet normal -0.498222 0.0789089 -0.863451 - outer loop - vertex -4.50111 1.46198 3 - vertex -4.50104 1.46248 3 - vertex -0.4 0 0.5 - endloop - endfacet - facet normal -0.498222 0.0789089 -0.863451 - outer loop - vertex -0.4 0 0.5 - vertex -4.50104 1.46248 3 - vertex -0.380423 0.123607 0.5 - endloop - endfacet - facet normal -0.449452 0.229007 -0.863451 - outer loop - vertex -0.380423 0.123607 0.5 - vertex -4.50104 1.46248 3 - vertex -3.82904 2.78135 3 - endloop - endfacet - facet normal -0.449451 0.229008 -0.863452 - outer loop - vertex -3.82904 2.78135 3 - vertex -3.82881 2.78179 3 - vertex -0.380423 0.123607 0.5 - endloop - endfacet - facet normal -0.449451 0.229008 -0.863452 - outer loop - vertex -0.380423 0.123607 0.5 - vertex -3.82881 2.78179 3 - vertex -0.323607 0.235114 0.5 - endloop - endfacet - facet normal -0.356687 0.356687 -0.863452 - outer loop - vertex -3.82881 2.78179 3 - vertex -2.78179 3.82881 3 - vertex -0.323607 0.235114 0.5 - endloop - endfacet - facet normal -0.356687 0.356687 -0.863452 - outer loop - vertex -0.323607 0.235114 0.5 - vertex -2.78179 3.82881 3 - vertex -0.235114 0.323607 0.5 - endloop - endfacet - facet normal -0.229007 0.449452 -0.863452 - outer loop - vertex -0.235114 0.323607 0.5 - vertex -2.78179 3.82881 3 - vertex -1.46292 4.50081 3 - endloop - endfacet - facet normal -0.229008 0.449452 -0.863451 - outer loop - vertex -1.46292 4.50081 3 - vertex -1.46248 4.50104 3 - vertex -0.235114 0.323607 0.5 - endloop - endfacet - facet normal -0.229008 0.449452 -0.863451 - outer loop - vertex -0.235114 0.323607 0.5 - vertex -1.46248 4.50104 3 - vertex -0.123607 0.380423 0.5 - endloop - endfacet - facet normal -0.0789107 0.498221 -0.863451 - outer loop - vertex -0.123607 0.380423 0.5 - vertex -1.46248 4.50104 3 - vertex -0.000492458 4.73259 3 - endloop - endfacet - facet normal -0.0789088 0.498222 -0.863452 - outer loop - vertex -0.123607 0.380423 0.5 - vertex -0.000492458 4.73259 3 - vertex 0 0.4 0.5 - endloop - endfacet - facet normal -0.0789088 0.498222 -0.863452 - outer loop - vertex 0 0.4 0.5 - vertex -0.000492458 4.73259 3 - vertex 0 4.73267 3 - endloop - endfacet - facet normal 0.0789107 0.498221 -0.863452 - outer loop - vertex 1.46198 4.50111 3 - vertex 0 0.4 0.5 - vertex 0 4.73267 3 - endloop - endfacet - facet normal 0.0789089 0.498222 -0.863451 - outer loop - vertex 0 0.4 0.5 - vertex 1.46198 4.50111 3 - vertex 0.123607 0.380423 0.5 - endloop - endfacet - facet normal 0.0789089 0.498222 -0.863451 - outer loop - vertex 0.123607 0.380423 0.5 - vertex 1.46198 4.50111 3 - vertex 1.46248 4.50104 3 - endloop - endfacet - facet normal 0.229007 0.449452 -0.863451 - outer loop - vertex 2.78135 3.82904 3 - vertex 0.123607 0.380423 0.5 - vertex 1.46248 4.50104 3 - endloop - endfacet - facet normal 0.229008 0.449451 -0.863452 - outer loop - vertex 0.123607 0.380423 0.5 - vertex 2.78135 3.82904 3 - vertex 0.235114 0.323607 0.5 - endloop - endfacet - facet normal 0.229008 0.449451 -0.863452 - outer loop - vertex 0.235114 0.323607 0.5 - vertex 2.78135 3.82904 3 - vertex 2.78179 3.82881 3 - endloop - endfacet - facet normal 0.356687 0.356687 -0.863452 - outer loop - vertex 0.235114 0.323607 0.5 - vertex 2.78179 3.82881 3 - vertex 0.323607 0.235114 0.5 - endloop - endfacet - facet normal 0.356687 0.356687 -0.863452 - outer loop - vertex 0.323607 0.235114 0.5 - vertex 2.78179 3.82881 3 - vertex 3.82881 2.78179 3 - endloop - endfacet - facet normal 0.449452 0.229007 -0.863452 - outer loop - vertex 4.50081 1.46292 3 - vertex 0.323607 0.235114 0.5 - vertex 3.82881 2.78179 3 - endloop - endfacet - facet normal 0.449452 0.229008 -0.863451 - outer loop - vertex 0.323607 0.235114 0.5 - vertex 4.50081 1.46292 3 - vertex 0.380423 0.123607 0.5 - endloop - endfacet - facet normal 0.449452 0.229008 -0.863451 - outer loop - vertex 0.380423 0.123607 0.5 - vertex 4.50081 1.46292 3 - vertex 4.50104 1.46248 3 - endloop - endfacet - facet normal 0.498221 0.0789107 -0.863451 - outer loop - vertex 4.73259 0.000492458 3 - vertex 0.380423 0.123607 0.5 - vertex 4.50104 1.46248 3 - endloop - endfacet - facet normal 0.498222 0.0789088 -0.863452 - outer loop - vertex 0.380423 0.123607 0.5 - vertex 4.73259 0.000492458 3 - vertex 0.4 0 0.5 - endloop - endfacet - facet normal 0.498222 0.0789088 -0.863452 - outer loop - vertex 0.4 0 0.5 - vertex 4.73259 0.000492458 3 - vertex 4.73267 0 3 - endloop - endfacet - facet normal 0.498221 -0.0789107 -0.863452 - outer loop - vertex 4.50111 -1.46198 3 - vertex 0.4 0 0.5 - vertex 4.73267 0 3 - endloop - endfacet - facet normal 0.498222 -0.0789089 -0.863451 - outer loop - vertex 0.380423 -0.123607 0.5 - vertex 0.4 0 0.5 - vertex 4.50104 -1.46248 3 - endloop - endfacet - facet normal 0.498222 -0.0789089 -0.863451 - outer loop - vertex 4.50104 -1.46248 3 - vertex 0.4 0 0.5 - vertex 4.50111 -1.46198 3 - endloop - endfacet - facet normal 0.449452 -0.229007 -0.863451 - outer loop - vertex 3.82904 -2.78135 3 - vertex 0.380423 -0.123607 0.5 - vertex 4.50104 -1.46248 3 - endloop - endfacet - facet normal 0.449451 -0.229008 -0.863452 - outer loop - vertex 0.323607 -0.235114 0.5 - vertex 0.380423 -0.123607 0.5 - vertex 3.82881 -2.78179 3 - endloop - endfacet - facet normal 0.449451 -0.229008 -0.863452 - outer loop - vertex 3.82881 -2.78179 3 - vertex 0.380423 -0.123607 0.5 - vertex 3.82904 -2.78135 3 - endloop - endfacet - facet normal 0.356687 -0.356687 -0.863452 - outer loop - vertex 0.235114 -0.323607 0.5 - vertex 0.323607 -0.235114 0.5 - vertex 2.78179 -3.82881 3 - endloop - endfacet - facet normal 0.356687 -0.356687 -0.863452 - outer loop - vertex 2.78179 -3.82881 3 - vertex 0.323607 -0.235114 0.5 - vertex 3.82881 -2.78179 3 - endloop - endfacet - facet normal 0.229007 -0.449452 -0.863452 - outer loop - vertex 1.46292 -4.50081 3 - vertex 0.235114 -0.323607 0.5 - vertex 2.78179 -3.82881 3 - endloop - endfacet - facet normal 0.229008 -0.449452 -0.863451 - outer loop - vertex 0.123607 -0.380423 0.5 - vertex 0.235114 -0.323607 0.5 - vertex 1.46248 -4.50104 3 - endloop - endfacet - facet normal 0.229008 -0.449452 -0.863451 - outer loop - vertex 1.46248 -4.50104 3 - vertex 0.235114 -0.323607 0.5 - vertex 1.46292 -4.50081 3 - endloop - endfacet - facet normal 0.0789107 -0.498221 -0.863451 - outer loop - vertex 1.46248 -4.50104 3 - vertex 0.000492458 -4.73259 3 - vertex 0.123607 -0.380423 0.5 - endloop - endfacet - facet normal 0.0789088 -0.498222 -0.863452 - outer loop - vertex 0 -4.73267 3 - vertex 0 -0.4 0.5 - vertex 0.000492458 -4.73259 3 - endloop - endfacet - facet normal 0.0789088 -0.498222 -0.863452 - outer loop - vertex 0.000492458 -4.73259 3 - vertex 0 -0.4 0.5 - vertex 0.123607 -0.380423 0.5 - endloop - endfacet - facet normal -0.0789107 -0.498221 -0.863452 - outer loop - vertex 0 -4.73267 3 - vertex -1.46198 -4.50111 3 - vertex 0 -0.4 0.5 - endloop - endfacet - facet normal -0.0789089 -0.498222 -0.863451 - outer loop - vertex -1.46248 -4.50104 3 - vertex -0.123607 -0.380423 0.5 - vertex -1.46198 -4.50111 3 - endloop - endfacet - facet normal -0.0789089 -0.498222 -0.863451 - outer loop - vertex -1.46198 -4.50111 3 - vertex -0.123607 -0.380423 0.5 - vertex 0 -0.4 0.5 - endloop - endfacet - facet normal -0.229007 -0.449452 -0.863451 - outer loop - vertex -1.46248 -4.50104 3 - vertex -2.78135 -3.82904 3 - vertex -0.123607 -0.380423 0.5 - endloop - endfacet - facet normal -0.229008 -0.449451 -0.863452 - outer loop - vertex -2.78179 -3.82881 3 - vertex -0.235114 -0.323607 0.5 - vertex -2.78135 -3.82904 3 - endloop - endfacet - facet normal -0.229008 -0.449451 -0.863452 - outer loop - vertex -2.78135 -3.82904 3 - vertex -0.235114 -0.323607 0.5 - vertex -0.123607 -0.380423 0.5 - endloop - endfacet - facet normal -0.356687 -0.356687 -0.863452 - outer loop - vertex -3.82881 -2.78179 3 - vertex -0.323607 -0.235114 0.5 - vertex -2.78179 -3.82881 3 - endloop - endfacet - facet normal -0.356687 -0.356687 -0.863452 - outer loop - vertex -2.78179 -3.82881 3 - vertex -0.323607 -0.235114 0.5 - vertex -0.235114 -0.323607 0.5 - endloop - endfacet - facet normal -0.449452 -0.229007 -0.863452 - outer loop - vertex -3.82881 -2.78179 3 - vertex -4.50081 -1.46292 3 - vertex -0.323607 -0.235114 0.5 - endloop - endfacet - facet normal -0.449452 -0.229008 -0.863451 - outer loop - vertex -4.50104 -1.46248 3 - vertex -0.380423 -0.123607 0.5 - vertex -4.50081 -1.46292 3 - endloop - endfacet - facet normal -0.449452 -0.229008 -0.863451 - outer loop - vertex -4.50081 -1.46292 3 - vertex -0.380423 -0.123607 0.5 - vertex -0.323607 -0.235114 0.5 - endloop - endfacet - facet normal -0.498221 -0.0789107 -0.863451 - outer loop - vertex -4.50104 -1.46248 3 - vertex -4.73259 -0.000492458 3 - vertex -0.380423 -0.123607 0.5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.22639 -2.34411 3.99 - vertex -3.23607 -2.35114 3.99 - vertex -2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.34411 -3.22639 3.99 - vertex -3.22639 -2.34411 3.99 - vertex -2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23237 -3.79285 3.99 - vertex -2.34374 -3.22658 3.99 - vertex -1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -3.98804 3.99 - vertex -1.23196 -3.79292 3.99 - vertex 0 -4 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23237 -3.79285 3.99 - vertex 0.000410654 -3.98797 3.99 - vertex 1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.34411 -3.22639 3.99 - vertex 1.23274 -3.79266 3.99 - vertex 2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.22639 -2.34411 3.99 - vertex 2.34411 -3.22639 3.99 - vertex 3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.79285 -1.23237 3.99 - vertex 3.22658 -2.34374 3.99 - vertex 3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.34411 3.22639 3.99 - vertex -1.23274 3.79266 3.99 - vertex -1.23607 3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4 0 3.99 - vertex -3.98804 0 3.99 - vertex -3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -4 0 3.99 - vertex -3.80423 -1.23607 3.99 - vertex -3.98804 0 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.22639 2.34411 3.99 - vertex -2.34411 3.22639 3.99 - vertex -2.35114 3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 1.23607 3.99 - vertex -3.79285 1.23237 3.99 - vertex -3.23607 2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 1.23607 3.99 - vertex -3.79292 1.23196 3.99 - vertex -3.79285 1.23237 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23237 3.79285 3.99 - vertex -0.000410654 3.98797 3.99 - vertex 0 4 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.23607 2.35114 3.99 - vertex -3.22639 2.34411 3.99 - vertex -2.35114 3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.23607 2.35114 3.99 - vertex -3.22658 2.34374 3.99 - vertex -3.22639 2.34411 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.35114 3.23607 3.99 - vertex -2.34411 3.22639 3.99 - vertex -1.23607 3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 3.98804 3.99 - vertex 1.23196 3.79292 3.99 - vertex 1.23607 3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23607 3.80423 3.99 - vertex -1.23237 3.79285 3.99 - vertex 0 4 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23607 3.80423 3.99 - vertex -1.23274 3.79266 3.99 - vertex -1.23237 3.79285 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23237 3.79285 3.99 - vertex 2.34374 3.22658 3.99 - vertex 2.35114 3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 4 3.99 - vertex 0 3.98804 3.99 - vertex 1.23607 3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 4 3.99 - vertex -0.000410654 3.98797 3.99 - vertex 0 3.98804 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.34411 3.22639 3.99 - vertex 3.22639 2.34411 3.99 - vertex 3.23607 2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23607 3.80423 3.99 - vertex 1.23237 3.79285 3.99 - vertex 2.35114 3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23607 3.80423 3.99 - vertex 1.23196 3.79292 3.99 - vertex 1.23237 3.79285 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.35114 3.23607 3.99 - vertex 2.34411 3.22639 3.99 - vertex 3.23607 2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.35114 3.23607 3.99 - vertex 2.34374 3.22658 3.99 - vertex 2.34411 3.22639 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.23607 2.35114 3.99 - vertex 3.22639 2.34411 3.99 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.22639 2.34411 3.99 - vertex 3.79266 1.23274 3.99 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.79266 1.23274 3.99 - vertex 3.79285 1.23237 3.99 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.80423 1.23607 3.99 - vertex 3.98797 0.000410654 3.99 - vertex 4 0 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.98797 0.000410654 3.99 - vertex 3.98804 0 3.99 - vertex 4 0 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 4 0 3.99 - vertex 3.79292 -1.23196 3.99 - vertex 3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.79292 -1.23196 3.99 - vertex 3.79285 -1.23237 3.99 - vertex 3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.80423 -1.23607 3.99 - vertex 3.22658 -2.34374 3.99 - vertex 3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.22658 -2.34374 3.99 - vertex 3.22639 -2.34411 3.99 - vertex 3.23607 -2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.23607 -2.35114 3.99 - vertex 2.34411 -3.22639 3.99 - vertex 2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 2.35114 -3.23607 3.99 - vertex 1.23274 -3.79266 3.99 - vertex 1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23274 -3.79266 3.99 - vertex 1.23237 -3.79285 3.99 - vertex 1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.23607 -3.80423 3.99 - vertex 0.000410654 -3.98797 3.99 - vertex 0 -4 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.000410654 -3.98797 3.99 - vertex 0 -3.98804 3.99 - vertex 0 -4 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.79285 -1.23237 3.99 - vertex -3.98797 -0.000410654 3.99 - vertex -3.80423 -1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -4 3.99 - vertex -1.23196 -3.79292 3.99 - vertex -1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23196 -3.79292 3.99 - vertex -1.23237 -3.79285 3.99 - vertex -1.23607 -3.80423 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -1.23607 -3.80423 3.99 - vertex -2.34374 -3.22658 3.99 - vertex -2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -2.34374 -3.22658 3.99 - vertex -2.34411 -3.22639 3.99 - vertex -2.35114 -3.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.80423 -1.23607 3.99 - vertex -3.23607 -2.35114 3.99 - vertex -3.22639 -2.34411 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.79285 -1.23237 3.99 - vertex -3.80423 -1.23607 3.99 - vertex -3.79266 -1.23274 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.98804 0 3.99 - vertex 3.79292 -1.23196 3.99 - vertex 4 0 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.79285 1.23237 3.99 - vertex -3.22658 2.34374 3.99 - vertex -3.23607 2.35114 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.98804 0 3.99 - vertex -3.80423 -1.23607 3.99 - vertex -3.98797 -0.000410654 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.98804 0 3.99 - vertex -3.79292 1.23196 3.99 - vertex -3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 3.79285 1.23237 3.99 - vertex 3.98797 0.000410654 3.99 - vertex 3.80423 1.23607 3.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -3.22639 -2.34411 3.99 - vertex -3.79266 -1.23274 3.99 - vertex -3.80423 -1.23607 3.99 - endloop - endfacet - facet normal -0.987689 -0.156431 0 - outer loop - vertex -0.4 0 0 - vertex -0.380423 -0.123607 0 - vertex -0.4 0 0.5 - endloop - endfacet - facet normal -0.987689 -0.156431 0 - outer loop - vertex -0.4 0 0.5 - vertex -0.380423 -0.123607 0 - vertex -0.380423 -0.123607 0.5 - endloop - endfacet - facet normal -0.987689 0.156431 0 - outer loop - vertex -0.4 0 0 - vertex -0.4 0 0.5 - vertex -0.380423 0.123607 0 - endloop - endfacet - facet normal -0.987689 0.156431 0 - outer loop - vertex -0.380423 0.123607 0 - vertex -0.4 0 0.5 - vertex -0.380423 0.123607 0.5 - endloop - endfacet - facet normal -0.891005 -0.453993 0 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.323607 -0.235114 0 - vertex -0.380423 -0.123607 0.5 - endloop - endfacet - facet normal -0.891005 -0.453993 0 - outer loop - vertex -0.380423 -0.123607 0.5 - vertex -0.323607 -0.235114 0 - vertex -0.323607 -0.235114 0.5 - endloop - endfacet - facet normal -0.891005 0.453993 0 - outer loop - vertex -0.380423 0.123607 0 - vertex -0.380423 0.123607 0.5 - vertex -0.323607 0.235114 0 - endloop - endfacet - facet normal -0.891005 0.453993 0 - outer loop - vertex -0.323607 0.235114 0 - vertex -0.380423 0.123607 0.5 - vertex -0.323607 0.235114 0.5 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -0.323607 0.235114 0 - vertex -0.323607 0.235114 0.5 - vertex -0.235114 0.323607 0 - endloop - endfacet - facet normal -0.707107 0.707107 0 - outer loop - vertex -0.235114 0.323607 0 - vertex -0.323607 0.235114 0.5 - vertex -0.235114 0.323607 0.5 - endloop - endfacet - facet normal -0.453993 0.891005 0 - outer loop - vertex -0.235114 0.323607 0 - vertex -0.235114 0.323607 0.5 - vertex -0.123607 0.380423 0 - endloop - endfacet - facet normal -0.453993 0.891005 0 - outer loop - vertex -0.123607 0.380423 0 - vertex -0.235114 0.323607 0.5 - vertex -0.123607 0.380423 0.5 - endloop - endfacet - facet normal -0.156431 0.987689 0 - outer loop - vertex -0.123607 0.380423 0 - vertex -0.123607 0.380423 0.5 - vertex 0 0.4 0 - endloop - endfacet - facet normal -0.156431 0.987689 0 - outer loop - vertex 0 0.4 0 - vertex -0.123607 0.380423 0.5 - vertex 0 0.4 0.5 - endloop - endfacet - facet normal 0.156431 0.987689 0 - outer loop - vertex 0 0.4 0 - vertex 0 0.4 0.5 - vertex 0.123607 0.380423 0 - endloop - endfacet - facet normal 0.156431 0.987689 0 - outer loop - vertex 0.123607 0.380423 0 - vertex 0 0.4 0.5 - vertex 0.123607 0.380423 0.5 - endloop - endfacet - facet normal 0.453993 0.891005 0 - outer loop - vertex 0.123607 0.380423 0 - vertex 0.123607 0.380423 0.5 - vertex 0.235114 0.323607 0 - endloop - endfacet - facet normal 0.453993 0.891005 0 - outer loop - vertex 0.235114 0.323607 0 - vertex 0.123607 0.380423 0.5 - vertex 0.235114 0.323607 0.5 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 0.235114 0.323607 0 - vertex 0.235114 0.323607 0.5 - vertex 0.323607 0.235114 0 - endloop - endfacet - facet normal 0.707107 0.707107 0 - outer loop - vertex 0.323607 0.235114 0 - vertex 0.235114 0.323607 0.5 - vertex 0.323607 0.235114 0.5 - endloop - endfacet - facet normal 0.891005 0.453993 0 - outer loop - vertex 0.380423 0.123607 0 - vertex 0.323607 0.235114 0 - vertex 0.323607 0.235114 0.5 - endloop - endfacet - facet normal 0.891005 0.453993 0 - outer loop - vertex 0.380423 0.123607 0.5 - vertex 0.380423 0.123607 0 - vertex 0.323607 0.235114 0.5 - endloop - endfacet - facet normal 0.987689 0.156431 0 - outer loop - vertex 0.4 0 0 - vertex 0.380423 0.123607 0 - vertex 0.380423 0.123607 0.5 - endloop - endfacet - facet normal 0.987689 0.156431 0 - outer loop - vertex 0.4 0 0.5 - vertex 0.4 0 0 - vertex 0.380423 0.123607 0.5 - endloop - endfacet - facet normal 0.987689 -0.156431 0 - outer loop - vertex 0.380423 -0.123607 0.5 - vertex 0.380423 -0.123607 0 - vertex 0.4 0 0 - endloop - endfacet - facet normal 0.987689 -0.156431 0 - outer loop - vertex 0.4 0 0.5 - vertex 0.380423 -0.123607 0.5 - vertex 0.4 0 0 - endloop - endfacet - facet normal 0.891005 -0.453993 0 - outer loop - vertex 0.323607 -0.235114 0.5 - vertex 0.323607 -0.235114 0 - vertex 0.380423 -0.123607 0 - endloop - endfacet - facet normal 0.891005 -0.453993 0 - outer loop - vertex 0.380423 -0.123607 0.5 - vertex 0.323607 -0.235114 0.5 - vertex 0.380423 -0.123607 0 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 0.235114 -0.323607 0.5 - vertex 0.235114 -0.323607 0 - vertex 0.323607 -0.235114 0 - endloop - endfacet - facet normal 0.707107 -0.707107 0 - outer loop - vertex 0.323607 -0.235114 0.5 - vertex 0.235114 -0.323607 0.5 - vertex 0.323607 -0.235114 0 - endloop - endfacet - facet normal 0.453993 -0.891005 0 - outer loop - vertex 0.123607 -0.380423 0.5 - vertex 0.123607 -0.380423 0 - vertex 0.235114 -0.323607 0 - endloop - endfacet - facet normal 0.453993 -0.891005 0 - outer loop - vertex 0.235114 -0.323607 0.5 - vertex 0.123607 -0.380423 0.5 - vertex 0.235114 -0.323607 0 - endloop - endfacet - facet normal 0.156431 -0.987689 0 - outer loop - vertex 0 -0.4 0.5 - vertex 0 -0.4 0 - vertex 0.123607 -0.380423 0 - endloop - endfacet - facet normal 0.156431 -0.987689 0 - outer loop - vertex 0.123607 -0.380423 0.5 - vertex 0 -0.4 0.5 - vertex 0.123607 -0.380423 0 - endloop - endfacet - facet normal -0.156431 -0.987689 0 - outer loop - vertex -0.123607 -0.380423 0.5 - vertex -0.123607 -0.380423 0 - vertex 0 -0.4 0 - endloop - endfacet - facet normal -0.156431 -0.987689 0 - outer loop - vertex 0 -0.4 0.5 - vertex -0.123607 -0.380423 0.5 - vertex 0 -0.4 0 - endloop - endfacet - facet normal -0.453993 -0.891005 0 - outer loop - vertex -0.235114 -0.323607 0.5 - vertex -0.235114 -0.323607 0 - vertex -0.123607 -0.380423 0 - endloop - endfacet - facet normal -0.453993 -0.891005 0 - outer loop - vertex -0.123607 -0.380423 0.5 - vertex -0.235114 -0.323607 0.5 - vertex -0.123607 -0.380423 0 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -0.323607 -0.235114 0.5 - vertex -0.323607 -0.235114 0 - vertex -0.235114 -0.323607 0 - endloop - endfacet - facet normal -0.707107 -0.707107 0 - outer loop - vertex -0.235114 -0.323607 0.5 - vertex -0.323607 -0.235114 0.5 - vertex -0.235114 -0.323607 0 - endloop - endfacet - facet normal 0.638156 -0.101074 0.763243 - outer loop - vertex -0.4 0 0.99 - vertex -3.79292 1.23196 3.99 - vertex -3.98804 0 3.99 - endloop - endfacet - facet normal 0.638156 0.101072 0.763244 - outer loop - vertex -3.98797 -0.000410654 3.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.4 0 0.99 - endloop - endfacet - facet normal 0.638156 0.101072 0.763244 - outer loop - vertex -3.98804 0 3.99 - vertex -3.98797 -0.000410654 3.99 - vertex -0.4 0 0.99 - endloop - endfacet - facet normal 0.638156 0.101074 0.763243 - outer loop - vertex -3.79285 -1.23237 3.99 - vertex -0.380423 -0.123607 0.99 - vertex -3.98797 -0.000410654 3.99 - endloop - endfacet - facet normal 0.575689 0.29333 0.763243 - outer loop - vertex -3.79266 -1.23274 3.99 - vertex -0.323607 -0.235114 0.99 - vertex -0.380423 -0.123607 0.99 - endloop - endfacet - facet normal 0.575689 0.29333 0.763243 - outer loop - vertex -3.79285 -1.23237 3.99 - vertex -3.79266 -1.23274 3.99 - vertex -0.380423 -0.123607 0.99 - endloop - endfacet - facet normal 0.575689 0.293328 0.763243 - outer loop - vertex -3.22639 -2.34411 3.99 - vertex -0.323607 -0.235114 0.99 - vertex -3.79266 -1.23274 3.99 - endloop - endfacet - facet normal 0.456869 0.456869 0.763243 - outer loop - vertex -2.34411 -3.22639 3.99 - vertex -0.235114 -0.323607 0.99 - vertex -0.323607 -0.235114 0.99 - endloop - endfacet - facet normal 0.456869 0.456869 0.763243 - outer loop - vertex -3.22639 -2.34411 3.99 - vertex -2.34411 -3.22639 3.99 - vertex -0.323607 -0.235114 0.99 - endloop - endfacet - facet normal 0.29333 0.575688 0.763244 - outer loop - vertex -2.34374 -3.22658 3.99 - vertex -0.123607 -0.380423 0.99 - vertex -0.235114 -0.323607 0.99 - endloop - endfacet - facet normal 0.29333 0.575688 0.763244 - outer loop - vertex -2.34411 -3.22639 3.99 - vertex -2.34374 -3.22658 3.99 - vertex -0.235114 -0.323607 0.99 - endloop - endfacet - facet normal 0.293328 0.575689 0.763243 - outer loop - vertex -1.23237 -3.79285 3.99 - vertex -0.123607 -0.380423 0.99 - vertex -2.34374 -3.22658 3.99 - endloop - endfacet - facet normal 0.101072 0.638157 0.763243 - outer loop - vertex -1.23196 -3.79292 3.99 - vertex 0 -0.4 0.99 - vertex -0.123607 -0.380423 0.99 - endloop - endfacet - facet normal 0.101072 0.638157 0.763243 - outer loop - vertex -1.23237 -3.79285 3.99 - vertex -1.23196 -3.79292 3.99 - vertex -0.123607 -0.380423 0.99 - endloop - endfacet - facet normal 0.101074 0.638156 0.763243 - outer loop - vertex 0 -3.98804 3.99 - vertex 0 -0.4 0.99 - vertex -1.23196 -3.79292 3.99 - endloop - endfacet - facet normal -0.101072 0.638156 0.763244 - outer loop - vertex 0.000410654 -3.98797 3.99 - vertex 0.123607 -0.380423 0.99 - vertex 0 -0.4 0.99 - endloop - endfacet - facet normal -0.101072 0.638156 0.763244 - outer loop - vertex 0 -3.98804 3.99 - vertex 0.000410654 -3.98797 3.99 - vertex 0 -0.4 0.99 - endloop - endfacet - facet normal -0.101074 0.638156 0.763243 - outer loop - vertex 1.23237 -3.79285 3.99 - vertex 0.123607 -0.380423 0.99 - vertex 0.000410654 -3.98797 3.99 - endloop - endfacet - facet normal -0.29333 0.575689 0.763243 - outer loop - vertex 1.23237 -3.79285 3.99 - vertex 1.23274 -3.79266 3.99 - vertex 0.235114 -0.323607 0.99 - endloop - endfacet - facet normal -0.29333 0.575689 0.763243 - outer loop - vertex 0.123607 -0.380423 0.99 - vertex 1.23237 -3.79285 3.99 - vertex 0.235114 -0.323607 0.99 - endloop - endfacet - facet normal -0.293328 0.575689 0.763243 - outer loop - vertex 1.23274 -3.79266 3.99 - vertex 2.34411 -3.22639 3.99 - vertex 0.235114 -0.323607 0.99 - endloop - endfacet - facet normal -0.456869 0.456869 0.763243 - outer loop - vertex 2.34411 -3.22639 3.99 - vertex 3.22639 -2.34411 3.99 - vertex 0.323607 -0.235114 0.99 - endloop - endfacet - facet normal -0.456869 0.456869 0.763243 - outer loop - vertex 0.235114 -0.323607 0.99 - vertex 2.34411 -3.22639 3.99 - vertex 0.323607 -0.235114 0.99 - endloop - endfacet - facet normal -0.575688 0.29333 0.763244 - outer loop - vertex 3.22639 -2.34411 3.99 - vertex 3.22658 -2.34374 3.99 - vertex 0.380423 -0.123607 0.99 - endloop - endfacet - facet normal -0.575688 0.29333 0.763244 - outer loop - vertex 0.323607 -0.235114 0.99 - vertex 3.22639 -2.34411 3.99 - vertex 0.380423 -0.123607 0.99 - endloop - endfacet - facet normal -0.575689 0.293328 0.763243 - outer loop - vertex 3.22658 -2.34374 3.99 - vertex 3.79285 -1.23237 3.99 - vertex 0.380423 -0.123607 0.99 - endloop - endfacet - facet normal -0.638157 0.101072 0.763243 - outer loop - vertex 3.79285 -1.23237 3.99 - vertex 3.79292 -1.23196 3.99 - vertex 0.4 0 0.99 - endloop - endfacet - facet normal -0.638157 0.101072 0.763243 - outer loop - vertex 0.380423 -0.123607 0.99 - vertex 3.79285 -1.23237 3.99 - vertex 0.4 0 0.99 - endloop - endfacet - facet normal -0.638156 0.101074 0.763243 - outer loop - vertex 3.79292 -1.23196 3.99 - vertex 3.98804 0 3.99 - vertex 0.4 0 0.99 - endloop - endfacet - facet normal -0.638156 -0.101072 0.763244 - outer loop - vertex 0.4 0 0.99 - vertex 3.98804 0 3.99 - vertex 3.98797 0.000410654 3.99 - endloop - endfacet - facet normal -0.638156 -0.101072 0.763244 - outer loop - vertex 0.380423 0.123607 0.99 - vertex 0.4 0 0.99 - vertex 3.98797 0.000410654 3.99 - endloop - endfacet - facet normal -0.638156 -0.101074 0.763243 - outer loop - vertex 3.98797 0.000410654 3.99 - vertex 3.79285 1.23237 3.99 - vertex 0.380423 0.123607 0.99 - endloop - endfacet - facet normal -0.575689 -0.29333 0.763243 - outer loop - vertex 0.380423 0.123607 0.99 - vertex 3.79285 1.23237 3.99 - vertex 3.79266 1.23274 3.99 - endloop - endfacet - facet normal -0.575689 -0.29333 0.763243 - outer loop - vertex 0.323607 0.235114 0.99 - vertex 0.380423 0.123607 0.99 - vertex 3.79266 1.23274 3.99 - endloop - endfacet - facet normal -0.575689 -0.293328 0.763243 - outer loop - vertex 3.79266 1.23274 3.99 - vertex 3.22639 2.34411 3.99 - vertex 0.323607 0.235114 0.99 - endloop - endfacet - facet normal -0.456869 -0.456869 0.763243 - outer loop - vertex 0.323607 0.235114 0.99 - vertex 3.22639 2.34411 3.99 - vertex 2.34411 3.22639 3.99 - endloop - endfacet - facet normal -0.456869 -0.456869 0.763243 - outer loop - vertex 0.235114 0.323607 0.99 - vertex 0.323607 0.235114 0.99 - vertex 2.34411 3.22639 3.99 - endloop - endfacet - facet normal -0.29333 -0.575688 0.763244 - outer loop - vertex 0.235114 0.323607 0.99 - vertex 2.34411 3.22639 3.99 - vertex 2.34374 3.22658 3.99 - endloop - endfacet - facet normal -0.29333 -0.575688 0.763244 - outer loop - vertex 0.123607 0.380423 0.99 - vertex 0.235114 0.323607 0.99 - vertex 2.34374 3.22658 3.99 - endloop - endfacet - facet normal -0.293328 -0.575689 0.763243 - outer loop - vertex 2.34374 3.22658 3.99 - vertex 1.23237 3.79285 3.99 - vertex 0.123607 0.380423 0.99 - endloop - endfacet - facet normal -0.101072 -0.638157 0.763243 - outer loop - vertex 0.123607 0.380423 0.99 - vertex 1.23237 3.79285 3.99 - vertex 1.23196 3.79292 3.99 - endloop - endfacet - facet normal -0.101072 -0.638157 0.763243 - outer loop - vertex 0 0.4 0.99 - vertex 0.123607 0.380423 0.99 - vertex 1.23196 3.79292 3.99 - endloop - endfacet - facet normal -0.101074 -0.638156 0.763243 - outer loop - vertex 1.23196 3.79292 3.99 - vertex 0 3.98804 3.99 - vertex 0 0.4 0.99 - endloop - endfacet - facet normal 0.101072 -0.638156 0.763244 - outer loop - vertex 0 0.4 0.99 - vertex 0 3.98804 3.99 - vertex -0.000410654 3.98797 3.99 - endloop - endfacet - facet normal 0.101072 -0.638156 0.763244 - outer loop - vertex -0.123607 0.380423 0.99 - vertex 0 0.4 0.99 - vertex -0.000410654 3.98797 3.99 - endloop - endfacet - facet normal 0.101074 -0.638156 0.763243 - outer loop - vertex -0.123607 0.380423 0.99 - vertex -0.000410654 3.98797 3.99 - vertex -1.23237 3.79285 3.99 - endloop - endfacet - facet normal 0.29333 -0.575689 0.763243 - outer loop - vertex -0.235114 0.323607 0.99 - vertex -0.123607 0.380423 0.99 - vertex -1.23237 3.79285 3.99 - endloop - endfacet - facet normal 0.29333 -0.575689 0.763243 - outer loop - vertex -1.23274 3.79266 3.99 - vertex -0.235114 0.323607 0.99 - vertex -1.23237 3.79285 3.99 - endloop - endfacet - facet normal 0.293328 -0.575689 0.763243 - outer loop - vertex -0.235114 0.323607 0.99 - vertex -1.23274 3.79266 3.99 - vertex -2.34411 3.22639 3.99 - endloop - endfacet - facet normal 0.456869 -0.456869 0.763243 - outer loop - vertex -0.323607 0.235114 0.99 - vertex -0.235114 0.323607 0.99 - vertex -2.34411 3.22639 3.99 - endloop - endfacet - facet normal 0.456869 -0.456869 0.763243 - outer loop - vertex -3.22639 2.34411 3.99 - vertex -0.323607 0.235114 0.99 - vertex -2.34411 3.22639 3.99 - endloop - endfacet - facet normal 0.575688 -0.29333 0.763244 - outer loop - vertex -0.380423 0.123607 0.99 - vertex -0.323607 0.235114 0.99 - vertex -3.22639 2.34411 3.99 - endloop - endfacet - facet normal 0.575688 -0.29333 0.763244 - outer loop - vertex -3.22658 2.34374 3.99 - vertex -0.380423 0.123607 0.99 - vertex -3.22639 2.34411 3.99 - endloop - endfacet - facet normal 0.575689 -0.293328 0.763243 - outer loop - vertex -0.380423 0.123607 0.99 - vertex -3.22658 2.34374 3.99 - vertex -3.79285 1.23237 3.99 - endloop - endfacet - facet normal 0.638157 -0.101072 0.763243 - outer loop - vertex -0.4 0 0.99 - vertex -0.380423 0.123607 0.99 - vertex -3.79285 1.23237 3.99 - endloop - endfacet - facet normal 0.638157 -0.101072 0.763243 - outer loop - vertex -3.79292 1.23196 3.99 - vertex -0.4 0 0.99 - vertex -3.79285 1.23237 3.99 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.4 0 0 - vertex -0.380423 0.123607 0 - vertex -0.380423 -0.123607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.380423 0.123607 0 - vertex -0.323607 0.235114 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.323607 0.235114 0 - vertex -0.235114 0.323607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.235114 0.323607 0 - vertex -0.123607 0.380423 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.123607 0.380423 0 - vertex 0 0.4 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0 0.4 0 - vertex 0.123607 0.380423 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.123607 0.380423 0 - vertex 0.235114 0.323607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.235114 0.323607 0 - vertex 0.323607 0.235114 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.323607 0.235114 0 - vertex 0.380423 0.123607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.380423 0.123607 0 - vertex 0.4 0 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.4 0 0 - vertex 0.380423 -0.123607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.380423 -0.123607 0 - vertex 0.323607 -0.235114 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.323607 -0.235114 0 - vertex 0.235114 -0.323607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.235114 -0.323607 0 - vertex 0.123607 -0.380423 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0.123607 -0.380423 0 - vertex 0 -0.4 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex 0 -0.4 0 - vertex -0.123607 -0.380423 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.123607 -0.380423 0 - vertex -0.235114 -0.323607 0 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex -0.380423 -0.123607 0 - vertex -0.235114 -0.323607 0 - vertex -0.323607 -0.235114 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.380423 -0.123607 0.99 - vertex -0.323607 -0.235114 0.99 - vertex -0.235114 -0.323607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 -0.4 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.123607 -0.380423 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.123607 -0.380423 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.235114 -0.323607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.123607 -0.380423 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0 -0.4 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.235114 -0.323607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.123607 -0.380423 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.323607 -0.235114 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.235114 -0.323607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.380423 -0.123607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.323607 -0.235114 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.4 0 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.380423 -0.123607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.380423 0.123607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.4 0 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.323607 0.235114 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.380423 0.123607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.235114 0.323607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.323607 0.235114 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.123607 0.380423 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.235114 0.323607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0 0.4 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0.123607 0.380423 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.123607 0.380423 0.99 - vertex -0.380423 -0.123607 0.99 - vertex 0 0.4 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.235114 0.323607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.123607 0.380423 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.323607 0.235114 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.235114 0.323607 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.380423 0.123607 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.323607 0.235114 0.99 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -0.4 0 0.99 - vertex -0.380423 -0.123607 0.99 - vertex -0.380423 0.123607 0.99 - endloop - endfacet -endsolid OpenSCAD_Model diff --git a/examples/board_reprap/gfx/hb.jpg b/examples/board_reprap/gfx/hb.jpg deleted file mode 100644 index 6065a309808899ebf5e66ba790d0bffd4bf073dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72526 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 m6Bxg{v%5%E>2} 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 q#?Ah}a}GTAtmpB%$h%y7!du;m@RkopFp8?Gt(D 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]kD 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 z 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

WJBqED5S@4|(IB(YR+k=ADQQPYF!MN2UN+M207# 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

gZLF(4zvw=lx#}Sdh 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≻*={<${oLl`S|&qW+D;oFj0~qDVCm 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

6fmuK3p7shvA6 z%$xHDtSeI+-+pt-v^U=TYN>DG z9NQ1GEpxuH%=*$k^KP{pMTW)(R;1$zTGzYrH(hA>wIIJ<;~IE zZ;$dk|BUbHan4as*v33zduFU{!qd+Gjt{&v0lbx+<6pErHNiG+qVt)T+|R%2dEqVJ ze<#`Bm}-4(vgMVxyI-ATePfD!(lp1^>CSgQaDVs_Vh~N4=9)asHD#)6>O1cD-t&F* zq2q(;j`!blygSV{Ws2?XNtU~r1Y z{$m^YME9`ryG6z}y|NvaBFEOs4--zY$Y9NUzz4KBCArQL8z z7hGb|m30*k>na5{=9um$$6LmY?|AZAK$ z>&fx%G0!55e#SrQSC(?XujwRjKcON_?{@HFII_%!U15E{M)r7N5O5IcH^j z&g#V6HOYBvK_onT1u$EJU(XAEH8(tSZe+$>#P*pvFZR_B@tF$}U;Y^TY)<%tZ-eiC z6@F)CWa`ZDlo^R>AB5lk(Ea`g;KKOd{UAJTx_`n$AvaF>n_naYC3 z(x9m%WG)5#&vSP~r4GpvKg*9@DkFZr5Y;Q0pD&1l0jx~s6N$V+A@UKCCv>v7J_g%E zXZe^sA4lL}aokL{pUw8M7=9|*Po;Y)3^#@CBD0(%hLb>X;E6sG*-IvSC}cO81cuX2 zBB7f=xJ$%?AyRif+KS1uVe{<;1pr$C9^lEtxzQL;9@d+WK|VTQajra^6J6jyVZl$n zJR-n@COGp6R!l)B$bcdEab#Zs#e*S%&{sfmV+!0DjGs*Nk*FR5)rF_H2~-b}<{=}^ za}h`Y51AUEG5i#!pFj)XX;C86OJe%StN@i0X7D3S0SJQ(UVzR8A=r#Cg&~H(&k`Ui zVq5_jhKGcTxJq=HM_(xuu2Lx~gwi!s#yS* z$nX~AL5A&MTx^G+_z(#wKMvvId9-i=JAfB>3Bn+S8zFJyL~e}2kFZ1mw$MZ8dTCrA zhvx@(3loI=09)Yahyq-3fG-KLm_a5ZNT-MCj1Y|;piq4j3b;c86ncP24HKvlJUNUb z`LTF#>D>ib2R_e^ML95#Gaqv2At8u^6e|t|LQg&_n1_y_5u$l{aSSGl#;4H*@%(}i zwjf9(hG@(%LlCBmGE5#I&EjWyk~B}2;!5Kjaf~ev@I(>51X<+f9p$nBX{N*`;|6%V z0W2>nQdCJf&?zGOx=0+>sPD0jak@T?gVGST2aU?2=vg!)g=L0tj5Lv($!CTO7zrFJ zg{LM7)EI#hB~Zd7dW6ahQo-{{kKtJfA}2}WCXoxqi4xfnDmO;wCn+L8oQjZQh|_E- zAjuTxD3Tt!BF$8!8LAvZ*~?JonDQK3)+>N>e07ei>f;~`aMkxX2uYCwkQOO=#HwB? zoRg?QJR?>j&eSEEtXPv1YkMWSKB@jOIfd@AN9kTABG3WoRq6mBk{j|ykN9p=86G>Q z?}H8Z6o@c(PGJD_stWs*2=~>+_f*C{xuHj{M-tVD?028a06>a`jffDqwy0NA2)L&! zd|)Vkpe+O0GK#`pRdK(n1dvmgWc6kDHKpJuzEb*(PS-C1BEs9D^Zn4g;D{*V|9-TQXS9&#SWK9E4(M)2TLglX_Vm2sb z+hxXmEbUgjWTn1j>$tIpm6|AbMsqt`#48XnNFf$osL*;L;h8 z1;ARfN2T(>8W*e?axkH>Dbx-r>=YyFKZul_Ol^^>>_VlLEAQmV?ury0d~ugh+AWrM zi1IqY2=CPd7@grs8%Sh5)C1d+>{A#%S3e& zQG-Cxz!Ns|MGYbeXeZdcN`g=+5midXm2$}~h4h9(^1q2r)pBK>TvaWRSBYh{GG)C~ zSSRJxi8+lj{vB9!MhkUt8R#tfZJ^8DOh@qBd%o0 lkIT7-m<9g_009600{~)Z5HAhBN4o$3002ovPDHLkV1n8LE};Mb diff --git a/examples/board_reprap/gfx/postproc.fs b/examples/board_reprap/gfx/postproc.fs deleted file mode 100644 index f74ab7c..0000000 --- a/examples/board_reprap/gfx/postproc.fs +++ /dev/null @@ -1,92 +0,0 @@ - -#if (GLSL_VERSION == 120) -#extension GL_EXT_gpu_shader4 : enable -#endif - -// References: -// http://www.geeks3d.com/20110405/fxaa-fast-approximate-anti-aliasing-demo-glsl-opengl-test-radeon-geforce/3/ -// http://jmonkeyengine.googlecode.com/svn-history/r9095/trunk/engine/src/core-data/Common/MatDefs/Post/ - -uniform sampler2D m_Texture; -uniform vec2 g_Resolution = vec2(800,600); - -//uniform float m_VxOffset; -uniform float m_SpanMax = 8.0; -uniform float m_ReduceMul = (1.0/8.0); - -varying vec2 texCoord; -varying vec4 posPos; - -#define FxaaTex(t, p) texture2D(t, p) -#define OffsetVec(a, b) ivec2(a, b) -#if (GLSL_VERSION == 120) - #define FxaaTexOff(t, p, o, r) texture2DLodOffset(t, p, 0.0, o) -#endif -#if (GLSL_VERSION == 130) - #define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o) -#endif - -vec3 FxaaPixelShader( - vec4 posPos, // Output of FxaaVertexShader interpolated across screen. - sampler2D tex, // Input texture. - vec2 rcpFrame) // Constant {1.0/frameWidth, 1.0/frameHeight}. -{ - - #define FXAA_REDUCE_MIN (1.0/128.0) - //#define FXAA_REDUCE_MUL (1.0/8.0) - //#define FXAA_SPAN_MAX 8.0 - - vec3 rgbNW = FxaaTex(tex, posPos.zw).xyz; - vec3 rgbNE = FxaaTexOff(tex, posPos.zw, OffsetVec(1,0), rcpFrame.xy).xyz; - vec3 rgbSW = FxaaTexOff(tex, posPos.zw, OffsetVec(0,1), rcpFrame.xy).xyz; - vec3 rgbSE = FxaaTexOff(tex, posPos.zw, OffsetVec(1,1), rcpFrame.xy).xyz; - - vec3 rgbM = FxaaTex(tex, posPos.xy).xyz; - - vec3 luma = vec3(0.299, 0.587, 0.114); - float lumaNW = dot(rgbNW, luma); - float lumaNE = dot(rgbNE, luma); - float lumaSW = dot(rgbSW, luma); - float lumaSE = dot(rgbSE, luma); - float lumaM = dot(rgbM, luma); - - float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE))); - float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE))); - - vec2 dir; - dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE)); - dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE)); - - float dirReduce = max( - (lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * m_ReduceMul), - FXAA_REDUCE_MIN); - float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce); - dir = min(vec2( m_SpanMax, m_SpanMax), - max(vec2(-m_SpanMax, -m_SpanMax), - dir * rcpDirMin)) * rcpFrame.xy; - - vec3 rgbA = (1.0/2.0) * ( - FxaaTex(tex, posPos.xy + dir * vec2(1.0/3.0 - 0.5)).xyz + - FxaaTex(tex, posPos.xy + dir * vec2(2.0/3.0 - 0.5)).xyz); - vec3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * ( - FxaaTex(tex, posPos.xy + dir * vec2(0.0/3.0 - 0.5)).xyz + - FxaaTex(tex, posPos.xy + dir * vec2(3.0/3.0 - 0.5)).xyz); - - float lumaB = dot(rgbB, luma); - - if ((lumaB < lumaMin) || (lumaB > lumaMax)) - { - return rgbA; - } - else - { - return rgbB; - } -} - -void main() -{ - vec2 rcpFrame = vec2(1.0) / g_Resolution; - gl_FragColor = vec4(FxaaPixelShader(posPos, m_Texture, rcpFrame), 1.0); -// gl_FragColor.g *= 2; -} diff --git a/examples/board_reprap/gfx/postproc.vs b/examples/board_reprap/gfx/postproc.vs deleted file mode 100644 index fb69cfd..0000000 --- a/examples/board_reprap/gfx/postproc.vs +++ /dev/null @@ -1,16 +0,0 @@ - -//uniform mat4 g_WorldViewProjectionMatrix; -uniform vec2 g_Resolution = vec2(800,600); -uniform float m_SubPixelShift = 1.0 / 4.0; - -varying vec2 texCoord; -varying vec4 posPos; - -void main() { - gl_Position = ftransform(); - gl_TexCoord[0] = gl_MultiTexCoord0; - texCoord = gl_MultiTexCoord0.xy; - vec2 rcpFrame = vec2(1.0) / g_Resolution; - posPos.xy = texCoord; - posPos.zw = texCoord - (rcpFrame * vec2(0.5 + m_SubPixelShift)); -} diff --git a/examples/board_reprap/gfx/scene.fs b/examples/board_reprap/gfx/scene.fs deleted file mode 100644 index 5ff1baa..0000000 --- a/examples/board_reprap/gfx/scene.fs +++ /dev/null @@ -1,82 +0,0 @@ -uniform sampler2DShadow shadowMap ; - -// This define the value to move one pixel left or right -uniform vec2 pixelOffset = vec2(1.0 / 1024.0, 1.0 / 1024.0); -uniform sampler2D tex0; -varying vec2 texCoord; - -varying vec4 ShadowCoord; - - -float lookup( vec2 offSet) -{ - // Values are multiplied by ShadowCoord.w because shadow2DProj does a W division for us. - return shadow2DProj(shadowMap, - ShadowCoord + vec4( - offSet.x * pixelOffset.x * ShadowCoord.w, - offSet.y * pixelOffset.y * ShadowCoord.w, - 0.05, 0.0) ).w; -} - -void main() -{ - // Used to lower moiré pattern and self-shadowing - //shadowCoordinateWdivide.z += ; - - float shadow = 0.0; - - // Avoid counter shadow - if (ShadowCoord.w > 1.0) { - // Simple lookup, no PCF - //shadow = lookup(vec2(0.0,0.0)); - - // 8x8 kernel PCF - /* - float x,y; - for (y = -3.5 ; y <=3.5 ; y+=1.0) - for (x = -3.5 ; x <=3.5 ; x+=1.0) - shadow += lookup(vec2(x,y)); - shadow /= 64.0 ; - */ - - // 8x8 PCF wide kernel (step is 10 instead of 1) - /* - float x,y; - for (y = -30.5 ; y <=30.5 ; y+=10.0) - for (x = -30.5 ; x <=30.5 ; x+=10.0) - shadow += lookup(vec2(x,y)); - shadow /= 64.0 ; - */ - - // 4x4 kernel PCF - /* - float x,y; - for (y = -1.5 ; y <=1.5 ; y+=1.0) - for (x = -1.5 ; x <=1.5 ; x+=1.0) - shadow += lookup(vec2(x,y)); - shadow /= 16.0 ; - */ - // 4x4 PCF wide kernel (step is 10 instead of 1) - - float x,y; - for (y = -10.5 ; y <=10.5 ; y+=10.0) - for (x = -10.5 ; x <=10.5 ; x+=10.0) - shadow += lookup(vec2(x,y)); - shadow /= 16.0 ; - - - // 4x4 PCF dithered - /* - // use modulo to vary the sample pattern - vec2 o = mod(floor(gl_FragCoord.xy), 2.0); - - shadow += lookup(vec2(-1.5, 1.5) + o); - shadow += lookup(vec2( 0.5, 1.5) + o); - shadow += lookup(vec2(-1.5, -0.5) + o); - shadow += lookup(vec2( 0.5, -0.5) + o); - shadow *= 0.25 ; - */ - } - vec4 c = (shadow + 0.0) * gl_Color; - gl_FragColor = mix(texture2D(tex0, texCoord), vec4(0.0,0.0,0.0,0.9), 0.8-shadow); -} diff --git a/examples/board_reprap/gfx/scene.vs b/examples/board_reprap/gfx/scene.vs deleted file mode 100644 index f11edb2..0000000 --- a/examples/board_reprap/gfx/scene.vs +++ /dev/null @@ -1,15 +0,0 @@ -// Used for shadow lookup -uniform mat4 shadowMatrix; -varying vec4 ShadowCoord; -varying vec2 texCoord; - -void main() -{ - ShadowCoord= shadowMatrix * gl_Vertex; - - gl_Position = ftransform(); - gl_TexCoord[0] = gl_MultiTexCoord0; - gl_FrontColor = gl_Color; - texCoord = gl_MultiTexCoord0.xy; -} - diff --git a/examples/board_reprap/marlin/Configuration.h b/examples/board_reprap/marlin/Configuration.h deleted file mode 100644 index a84c46e..0000000 --- a/examples/board_reprap/marlin/Configuration.h +++ /dev/null @@ -1,249 +0,0 @@ -#ifndef __CONFIGURATION_H -#define __CONFIGURATION_H - -// This configurtion file contains the basic settings. -// Advanced settings can be found in Configuration_adv.h -// BASIC SETTINGS: select your board type, temperature sensor type, axis scaling, and endstop configuration - -//User specified version info of THIS file to display in [Pronterface, etc] terminal window during startup. -//Implementation of an idea by Prof Braino to inform user that any changes made -//to THIS file by the user have been successfully uploaded into firmware. -#define STRING_VERSION_CONFIG_H "2012-02-25" //Personal revision number for changes to THIS file. -#define STRING_CONFIG_H_AUTHOR "erik" //Who made the changes. - -// This determines the communication speed of the printer -//#define BAUDRATE 250000 -#define BAUDRATE 115200 - -//// The following define selects which electronics board you have. Please choose the one that matches your setup -// Gen7 custom (Alfons3 Version) = 10 "https://github.com/Alfons3/Generation_7_Electronics" -// Gen7 v1.1, v1.2 = 11 -// Gen7 v1.3 = 12 -// Gen7 v1.4 = 13 -// MEGA/RAMPS up to 1.2 = 3 -// RAMPS 1.3 = 33 (Power outputs: Extruder, Bed, Fan) -// RAMPS 1.3 = 34 (Power outputs: Extruder0, Extruder1, Bed) -// Gen6 = 5 -// Gen6 deluxe = 51 -// Sanguinololu 1.2 and above = 62 -// Ultimaker = 7 -// Teensylu = 8 -// Gen3+ =9 - -#ifndef MOTHERBOARD -#define MOTHERBOARD 7 -#endif - -//=========================================================================== -//=============================Thermal Settings ============================ -//=========================================================================== - -//// Temperature sensor settings: -// -2 is thermocouple with MAX6675 (only for sensor 0) -// -1 is thermocouple with AD595 -// 0 is not used -// 1 is 100k thermistor -// 2 is 200k thermistor -// 3 is mendel-parts thermistor -// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! -// 5 is ParCan supplied 104GT-2 100K -// 6 is EPCOS 100k -// 7 is 100k Honeywell thermistor 135-104LAG-J01 - -#define TEMP_SENSOR_0 5 -#define TEMP_SENSOR_1 0 -#define TEMP_SENSOR_2 0 -#define TEMP_SENSOR_BED 5 - -// Actual temperature must be close to target for this long before M109 returns success -#define TEMP_RESIDENCY_TIME 10 // (seconds) -#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one - -// The minimal temperature defines the temperature below which the heater will not be enabled It is used -// to check that the wiring to the thermistor is not broken. -// Otherwise this would lead to the heater being powered on all the time. -#define HEATER_0_MINTEMP 5 -#define HEATER_1_MINTEMP 5 -#define HEATER_2_MINTEMP 5 -//#define BED_MINTEMP 5 - -// When temperature exceeds max temp, your heater will be switched off. -// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! -// You should use MINTEMP for thermistor short/failure protection. -#define HEATER_0_MAXTEMP 275 -#define HEATER_1_MAXTEMP 275 -#define HEATER_2_MAXTEMP 275 -#define BED_MAXTEMP 150 - -#define CONFIG_STEPPERS_TOSHIBA 1 - -// PID settings: -// Comment the following line to disable PID and enable bang-bang. -//#define PIDTEMP -#define PID_MAX 255 // limits current to nozzle; 255=full current -#ifdef PIDTEMP - //#define PID_DEBUG // Sends debug data to the serial port. - //#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in % - #define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term - #define K1 0.95 //smoothing factor withing the PID - #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the - -// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it -// Ultimaker - #define DEFAULT_Kp 22.2 - #define DEFAULT_Ki 1.08 - #define DEFAULT_Kd 114 - -// Makergear -// #define DEFAULT_Kp 7.0 -// #define DEFAULT_Ki 0.1 -// #define DEFAULT_Kd 12 - -// Mendel Parts V9 on 12V -// #define DEFAULT_Kp 63.0 -// #define DEFAULT_Ki 2.25 -// #define DEFAULT_Kd 440 -#endif // PIDTEMP - -/* - * Use M303 to find suitable values for your hotend. - * - */ -#define PIDTEMP - #define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term - #define K1 0.95 //smoothing factor withing the PID - #define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the - #define DEFAULT_Kp 29.03 - #define DEFAULT_Ki 1.83 - #define DEFAULT_Kd 115.24 - -//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit -//can be software-disabled for whatever purposes by -#define PREVENT_DANGEROUS_EXTRUDE -#define EXTRUDE_MINTEMP 150 -#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. - -//=========================================================================== -//=============================Mechanical Settings=========================== -//=========================================================================== - -// Endstop Settings -#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors - -// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. -const bool X_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. -const bool Y_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. -const bool Z_ENDSTOPS_INVERTING = true; // set to true to invert the logic of the endstops. -#define DISABLE_MAX_ENDSTOPS - -// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 -#define X_ENABLE_ON 1 -#define Y_ENABLE_ON 1 -#define Z_ENABLE_ON 1 -#define E_ENABLE_ON 1 // For all extruders - -// Disables axis when it's not being used. -#define DISABLE_X false -#define DISABLE_Y false -#define DISABLE_Z false -#define DISABLE_E false // For all extruders - -#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true -#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false -#define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true -#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false -#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false -#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false - -// ENDSTOP SETTINGS: -// Sets direction of endstops when homing; 1=MAX, -1=MIN -#define X_HOME_DIR -1 -#define Y_HOME_DIR -1 -#define Z_HOME_DIR -1 - -#define min_software_endstops true //If true, axis won't move to coordinates less than HOME_POS. -#define max_software_endstops true //If true, axis won't move to coordinates greater than the defined lengths below. -#define X_MAX_LENGTH 205 -#define Y_MAX_LENGTH 205 -#define Z_MAX_LENGTH 120 - -// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0 -#define X_HOME_POS 0 -#define Y_HOME_POS 0 -#define Z_HOME_POS 0 - -//// MOVEMENT SETTINGS -#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E -#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) - -// default settings -//#define //DEFAULT_AXIS_STEPS_PER_UNIT {79.87, 79.87, 2566, 563,78} // Al's TVRR -//#define DEFAULT_AXIS_STEPS_PER_UNIT {81.26, 80.01, 2561, 599.14} // Michel TVRR old -#define DEFAULT_AXIS_STEPS_PER_UNIT {80.00, 79.84, 2560, 599.14} // Michel TVRR - -#ifndef DEFAULT_AXIS_STEPS_PER_UNIT -#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker -#endif -#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (mm/sec) -#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. - -/* MICHEL: This has an impact on the "ripples" in print walls */ -#define DEFAULT_ACCELERATION 500 // X, Y, Z and E max acceleration in mm/s^2 for printing moves -#define DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for r retracts - -// -#define DEFAULT_XYJERK 20.0 // (mm/sec) -#define DEFAULT_ZJERK 0.4 // (mm/sec) -#define DEFAULT_EJERK 5.0 // (mm/sec) - -//=========================================================================== -//=============================Additional Features=========================== -//=========================================================================== - -// EEPROM -// the microcontroller can store settings in the EEPROM, e.g. max velocity... -// M500 - stores paramters in EEPROM -// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily). -// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to. -//define this to enable eeprom support -//#define EEPROM_SETTINGS -//to disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out: -// please keep turned on if you can. -//#define EEPROM_CHITCHAT - -//LCD and SD support -//#define ULTRA_LCD //general lcd support, also 16x2 -//#define SDSUPPORT // Enable SD Card Support in Hardware Console - -//#define ULTIPANEL -#ifdef ULTIPANEL -// #define NEWPANEL //enable this if you have a click-encoder panel - #define SDSUPPORT - #define ULTRA_LCD - #define LCD_WIDTH 20 - #define LCD_HEIGHT 4 - -// Preheat Constants - #define PLA_PREHEAT_HOTEND_TEMP 180 - #define PLA_PREHEAT_HPB_TEMP 70 - #define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 - - #define ABS_PREHEAT_HOTEND_TEMP 240 - #define ABS_PREHEAT_HPB_TEMP 100 - #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 - -#else //no panel but just lcd - #ifdef ULTRA_LCD - #define LCD_WIDTH 16 - #define LCD_HEIGHT 2 - #endif -#endif - -// M240 Triggers a camera by emulating a Canon RC-1 Remote -// Data from: http://www.doc-diy.net/photo/rc-1_hacked/ -// #define PHOTOGRAPH_PIN 23 - -#include "Configuration_adv.h" -#include "thermistortables.h" - -#endif //__CONFIGURATION_H diff --git a/examples/board_reprap/marlin/Configuration_adv.h b/examples/board_reprap/marlin/Configuration_adv.h deleted file mode 100644 index 8697194..0000000 --- a/examples/board_reprap/marlin/Configuration_adv.h +++ /dev/null @@ -1,242 +0,0 @@ -#ifndef __CONFIGURATION_ADV_H -#define __CONFIGURATION_ADV_H - -//=========================================================================== -//=============================Thermal Settings ============================ -//=========================================================================== - -// Select one of these only to define how the bed temp is read. -// -//#define BED_LIMIT_SWITCHING -#ifdef BED_LIMIT_SWITCHING - #define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS -#endif -#define BED_CHECK_INTERVAL 5000 //ms - -//// Heating sanity check: -// This waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature -// If the temperature has not increased at the end of that period, the target temperature is set to zero. -// It can be reset with another M104/M109 -//#define WATCHPERIOD 20000 //20 seconds - -// Wait for Cooldown -// This defines if the M109 call should not block if it is cooling down. -// example: From a current temp of 220, you set M109 S200. -// if CooldownNoWait is defined M109 will not wait for the cooldown to finish -#define CooldownNoWait true - -#ifdef PIDTEMP - // this adds an experimental additional term to the heatingpower, proportional to the extrusion speed. - // if Kc is choosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #ifdef PID_ADD_EXTRUSION_RATE - #define DEFAULT_Kc (1) //heatingpower=Kc*(e_speed) - #endif -#endif - - -//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. -//The maximum buffered steps/sec of the extruder motor are called "se". -//You enter the autotemp mode by a M109 S T F -// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp -// you exit the value by any M109 without F* -// Also, if the temperature is set to a value 0 - #define THERMISTORHEATER_0 TEMP_SENSOR_0 - #define HEATER_0_USES_THERMISTOR -#endif -#if TEMP_SENSOR_1 > 0 - #define THERMISTORHEATER_1 TEMP_SENSOR_1 - #define HEATER_1_USES_THERMISTOR -#endif -#if TEMP_SENSOR_2 > 0 - #define THERMISTORHEATER_2 TEMP_SENSOR_2 - #define HEATER_2_USES_THERMISTOR -#endif -#if TEMP_SENSOR_BED > 0 - #define THERMISTORBED TEMP_SENSOR_BED - #define BED_USES_THERMISTOR -#endif -#if TEMP_SENSOR_0 == -1 - #define HEATER_0_USES_AD595 -#endif -#if TEMP_SENSOR_1 == -1 - #define HEATER_1_USES_AD595 -#endif -#if TEMP_SENSOR_2 == -1 - #define HEATER_2_USES_AD595 -#endif -#if TEMP_SENSOR_BED == -1 - #define BED_USES_AD595 -#endif -#if TEMP_SENSOR_0 == -2 - #define HEATER_0_USES_MAX6675 -#endif -#if TEMP_SENSOR_0 == 0 - #undef HEATER_0_MINTEMP - #undef HEATER_0_MAXTEMP -#endif -#if TEMP_SENSOR_1 == 0 - #undef HEATER_1_MINTEMP - #undef HEATER_1_MAXTEMP -#endif -#if TEMP_SENSOR_2 == 0 - #undef HEATER_2_MINTEMP - #undef HEATER_2_MAXTEMP -#endif -#if TEMP_SENSOR_BED == 0 - #undef BED_MINTEMP - #undef BED_MAXTEMP -#endif - - -#endif //__CONFIGURATION_ADV_H diff --git a/examples/board_reprap/marlin/Marlin.hex b/examples/board_reprap/marlin/Marlin.hex deleted file mode 100644 index 4eb3b1c..0000000 --- a/examples/board_reprap/marlin/Marlin.hex +++ /dev/null @@ -1,2759 +0,0 @@ -:10000000FCC700000C941A080C941A080C941A08E7 -:100010000C941A080C941A080C941A080C941A08D8 -:100020000C941A080C941A080C941A080C941A08C8 -:100030000C941A080C947F39FDC70000FBC7000020 -:10004000F9C700000C949A490C943321F3C70000BF -:100050000C94E122EFC70000EDC70000EBC70000E1 -:10006000E9C70000E7C70000E5C70000E3C70000DC -:10007000084AD73B3BCE016E84BCBFFDC12F3D6C0F -:1000800074319ABD56833DDA3D00C77F11BED9E475 -:10009000BB4C3E916BAAAABE000000803F05A84C55 -:1000A000CDB2D44EB93836A9020C50B99186880821 -:1000B0003CA6AAAA2ABE000000803F6563686F3A8A -:1000C00000737461727400506F7765725570002010 -:1000D00045787465726E616C20526573657400209A -:1000E00042726F776E206F7574205265736574006D -:1000F000205761746368646F67205265736574008C -:1001000020536F6674776172652052657365740061 -:100110004D61726C696E3A2000312E302E302052C3 -:10012000433200204C6173742055706461746564BF -:100130003A2000323031322D30352D303200207CE3 -:1001400020417574686F723A20006572696B0020F7 -:1001500046726565204D656D6F72793A20002020EA -:10016000506C616E6E657242756666657242797436 -:1001700065733A20004572726F723A004C696E6581 -:10018000204E756D626572206973206E6F74204C0D -:10019000617374204C696E65204E756D6265722BBB -:1001A000312C204C617374204C696E653A00636891 -:1001B00065636B73756D206D69736D617463682C15 -:1001C000204C617374204C696E653A004E6F204379 -:1001D0006865636B73756D2077697468206C696EF0 -:1001E00065206E756D6265722C204C617374204CB5 -:1001F000696E653A004E6F204C696E65204E756DD4 -:10020000626572207769746820636865636B7375D3 -:100210006D2C204C617374204C696E653A006F6BD5 -:10022000005072696E7465722073746F70706564CB -:100230002064657520746F206572726F72732E2052 -:1002400046697820746865206572726F7220616EED -:100250006420757365204D39393920746F207265BB -:100260007374617274212E202854656D70657261FB -:10027000747572652069732072657365742E2053DE -:100280006574206974206265666F7265207265739B -:1002900074617274696E6729006F6B20543A002094 -:1002A0002F0020423A00202F0020403A00543A000C -:1002B00020453A0020573A00543A0020453A0020A1 -:1002C000423A004649524D574152455F4E414D45D5 -:1002D0003A4D61726C696E2056313B2053707269E1 -:1002E0006E7465722F6772626C206D6173687570D1 -:1002F00020666F722067656E36204649524D574121 -:1003000052455F55524C3A687474703A2F2F777784 -:10031000772E6D656E64656C2D70617274732E63DB -:100320006F6D2050524F544F434F4C5F56455253C0 -:10033000494F4E3A312E30204D414348494E455F9A -:10034000545950453A4D656E64656C204558545279 -:10035000554445525F434F554E543A310A00583A7E -:1003600000593A005A3A00453A0020436F756E74BE -:1003700020583A00593A005A3A00785F6D696E3A4F -:1003800000795F6D696E3A007A5F6D696E3A00556B -:100390006E6B6E6F776E20636F6D6D616E643A2267 -:1003A000002200526573656E643A006F6B005072F4 -:1003B000696E7465722068616C7465642E206B6967 -:1003C0006C6C28292063616C6C65642021210050CD -:1003D00072696E7465722073746F707065642064E6 -:1003E000657520746F206572726F72732E20466976 -:1003F0007820746865206572726F7220616E642067 -:10040000757365204D39393920746F2072657374A6 -:10041000617274212E202854656D70657261747547 -:1004200072652069732072657365742E205365743C -:10043000206974206265666F7265207265737461ED -:100440007274696E6729000000000102000000005C -:100450000000000403070600000000000000000088 -:10046000000000000000000102040810204080018C -:1004700002040810204080010204081020408080FF -:1004800040201008040201020202020202020204D9 -:100490000404040404040403030303030303030127 -:1004A00001010101010101002225282B002124273F -:1004B0002A6563686F3A0020636F6C642065787406 -:1004C000727573696F6E2070726576656E7465649F -:1004D0000020746F6F206C6F6E6720657874727582 -:1004E00073696F6E2070726576656E746564006501 -:1004F00063686F3A00656E6473746F707320686927 -:10050000743A200020583A0020593A00205A3A0004 -:1005100024F427D3FD204D0FB0119A05160CE902E3 -:100520002D09C801650733013206DE005405A70016 -:10053000AD0483002A046900C10356006B03480020 -:1005400023033D00E6023500B1022D00840228009D -:100550005C0223003902200019021C00FD01190071 -:10056000E4011700CD011500B8011300A501110029 -:100570009401100084010F0075010E0067010D0049 -:100580005A010C004E010B0043010A0039010A0018 -:100590002F010900260109001D01080015010700AF -:1005A0000E01080006010700FF000600F900060022 -:1005B000F3000600ED000600E7000500E20005007C -:1005C000DD000500D8000500D3000400CF000500C1 -:1005D000CA000400C6000400C2000400BE000300FC -:1005E000BB000400B7000300B4000300B100040026 -:1005F000AD000300AA000300A7000200A50003004D -:10060000A20003009F0002009D0003009A00020068 -:100610009800030095000200930002009100020080 -:100620008F0002008D0002008B0002008900020092 -:1006300087000200850002008300020081000100A3 -:10064000800002007E0002007C0001007B000200AE -:1006500079000100780002007600010075000100B9 -:1006600074000200720001007100010070000200BD -:100670006E0001006D0001006C0001006B000200C3 -:1006800069000100680001006700010066000100C8 -:1006900065000100640001006300010062000100C8 -:1006A00061000100600001005F0001005E000100C8 -:1006B0005D0001005C0001005B0000005B000100C8 -:1006C0005A000100590001005800010057000000C5 -:1006D00057000100560001005500010054000000C1 -:1006E00054000100530001005200010051000000BD -:1006F00051000100500001004F0000004F000100B8 -:100700004E0000004E0001004D0001004C000000B2 -:100710004C0001004B0000004B0001004A000100AA -:1007200049000000490001004800000048000100A5 -:10073000470000004700010046000000460001009D -:100740004500000045000100440000004400010095 -:10075000430000004300010042000000420001008D -:100760004100000041000000410001004000000085 -:10077000400001003F0000003F0001003E0000007B -:100780003E0000003E0001003D0000003D00010071 -:100790003C0000003C0000003C0001003B00000069 -:1007A0003B0000003B0001003A0000003A0000005E -:1007B0003A00010039000000390000003900010052 -:1007C0003800000038000000380001003700000049 -:1007D000370000003700010036000000360000003E -:1007E0003600010035000000350000003500000033 -:1007F0003500010034000000340000003400010026 -:10080000330000003300000033000000330001001B -:10081000320000003200000032000000320001000F -:100820003100000031000000310000003100010003 -:1008300030000000300000003000000030000100F7 -:100840002F0000002F0000002F0000002F000100EB -:100850002E0000002E0000002E0000002E000000E0 -:100860002E0001002D0000002D0000002D000000D2 -:100870002D0001002C0000002C0000002C000000C6 -:100880002C0000002C0001002B0000002B000000B9 -:100890002B0000002B0000002B0001002A000000AC -:1008A0002A0000002A0000002A0000002A000000A0 -:1008B0002A00010029000000290000002900000092 -:1008C0002900000029000000290001002800000084 -:1008D0002800000028000000280000002800010077 -:1008E000270000002700000027000000270000006C -:1008F000270000002700000027000100260000005C -:10090000260000002600000026000000260000004F -:1009100024F4B12873CB111D62AECC159698F41057 -:10092000A287900D127A190BF96E4009B965D307A9 -:10093000E65DB5063157D005615116054B4C7D0477 -:10094000CE47FD03D14392033F403603093DE90200 -:10095000203AA4027C376A0212353602DC320802E1 -:10096000D430E101F32EBD01362D9E01982B81017B -:10097000172A6701B028500160273B01252628016E -:10098000FD241601E7230701E022F800E821EB002F -:10099000FD20DE001F20D3004C1FC800841EBF00B6 -:1009A000C51DB500101DAD00631CA500BE1B9E003B -:1009B000201B9700891A9100F8198A006E1985008A -:1009C000E9187F006A187B00EF177600791771002D -:1009D00008176D009B166A0031166500CC15620081 -:1009E0006A155F000B155B00B014580058145600D0 -:1009F00002145200B013500060134E0012134B004B -:100A0000C71249007E12460038124500F311430018 -:100A1000B011400070113F0031113D00F4103C0056 -:100A2000B8103A007E103800461037000F1035001D -:100A3000DA0F3400A60F3300730F3100420F30007D -:100A4000120F3000E20E2D00B50E2D00880E2C0086 -:100A50005C0E2B00310E2A00070E2800DF0D280047 -:100A6000B70D2700900D26006A0D2600440D2400C6 -:100A7000200D2400FC0C2300D90C2200B70C22000E -:100A8000950C2100740C2000540C1F00350C1F0025 -:100A9000160C1F00F70B1E00D90B1D00BC0B1C0011 -:100AA000A00B1C00840B1C00680B1B004D0B1B00D3 -:100AB000320B1A00180B1900FF0A1900E60A190078 -:100AC000CD0A1800B50A18009D0A1800850A1700FB -:100AD0006E0A1600580A1600420A16002C0A160062 -:100AE000160A1500010A1500EC091400D8091400B3 -:100AF000C4091400B00914009C09130089091300EB -:100B00007609130063091200510912003F0912000F -:100B10002D0911001C0912000A091100F908100022 -:100B2000E9081100D8081000C8081000B808100023 -:100B3000A808100098080F0089080F007A080F0015 -:100B40006B080F005C080F004D080E003F080E00F8 -:100B500031080E0023080E0015080E0007080D00CE -:100B6000FA070D00ED070D00E0070D00D3070D009B -:100B7000C6070D00B9070C00AD070C00A1070D005A -:100B800094070B0089070C007D070C0071070C000F -:100B900065070B005A070B004F070B0044070B00BB -:100BA00039070B002E070B0023070B0018070A005C -:100BB0000E070B0003070A00F9060A00EF060A00F9 -:100BC000E5060A00DB060A00D1060900C8060A008D -:100BD000BE060900B5060A00AB060900A206090018 -:100BE0009906090090060900870609007E0609009B -:100BF000750609006C060800640609005B0608001B -:100C0000530609004A060800420608003A06080092 -:100C1000320608002A060800220608001A06080004 -:100C2000120607000B06080003060800FB05070074 -:100C3000F4050800EC050700E5050700DE050700E0 -:100C4000D7050700D0050700C9050700C205070042 -:100C5000BB050700B4050700AD050700A6050600A3 -:100C6000A005070099050700920506008C050600FF -:100C7000860507007F050600790506007305070055 -:100C80006C05060066050600600506005A050600AC -:100C9000540506004E0506004805060042050500FD -:100CA0003D05060037050600310505002C05060048 -:100CB00026050500210506001B0505001605060092 -:100CC000100505000B0505000605060000050500DA -:100CD000FB040500F6040500F1040500EC04050022 -:100CE000E7040500E2040500DD040500D804050062 -:100CF000D3040500CE040500C9040500C4040500A2 -:100D0000BF040400BB040500B6040500B1040500DF -:100D100020626961733A200020643A2000206D69E6 -:100D20006E3A2000206D61783A2000204B753A2001 -:100D3000002054753A200020436C61736963205091 -:100D400049442000204B703A2000204B693A200093 -:100D5000204B643A2000504944204175746F7475EB -:100D60006E65206661696C6564212054656D7065EF -:100D700072617475726520746F2068696768006FAE -:100D80006B20543A0020403A005049442041757489 -:100D90006F74756E65206661696C65642120746985 -:100DA0006D656F757400504944204175746F74759A -:100DB0006E652066696E6973686564202120506CD9 -:100DC00061636520746865204B702C204B6920613D -:100DD0006E64204B6420636F6E7374616E74732055 -:100DE000696E2074686520636F6E666967757261ED -:100DF00074696F6E2E68004572726F723A00202D12 -:100E000020496E76616C69642065787472756465DA -:100E100072206E756D62657221001000C90220019A -:100E20003C0130020A014003EF005004DD00600580 -:100E3000D0007006C5008007BC009008B500A0096E -:100E4000AE00B00AA900C00BA300D00C9F00E00DBB -:100E50009A00F00E96000010930010118F002012DF -:100E60008C003013880040148500501582006016F5 -:100E7000800070177D0080187A0090197800A01A01 -:100E80007500B01B7300C01C7000D01D6E00E01E0A -:100E90006C00F01F6A00002167001022650020230B -:100EA00063003024610040255F0050265C0060270D -:100EB0005A007028580080295600902A5400A02B10 -:100EC0005100B02C4F00C02D4D00D02E4B00E02F14 -:100ED0004800F03046000032430010334000203418 -:100EE0003D0030353A004036370050373400603826 -:100EF000300070392C00803A2800903B2200A03C42 -:100F00001C00B03D1400C03E0800D03F0000202D62 -:100F100020496E76616C69642065787472756465C9 -:100F200072206E756D6265722021003A20457874DA -:100F30007275646572207377697463686564206F85 -:100F400066662E204D415854454D50207472696795 -:100F500067657265642021003A2045787472756473 -:100F60006572207377697463686564206F66662EA6 -:100F7000204D494E54454D50207472696767657223 -:100F8000656420210054656D7065726174757265C9 -:100F90002068656174656420626564207377697494 -:100FA00063686564206F66662E204D415854454D38 -:100FB0005020747269676765726564202121004959 -:100FC0004E46494E4954594E414E000020410000C2 -:100FD000C84200401C4620BCBE4CCA1B0E5AAEC5BF -:100FE0009D74CDCCCC3D0AD7233C17B7D13877CCF4 -:100FF0002B329595E6241FB14F0A11241FBECFEF67 -:10100000D0E1DEBFCDBF12E0A0E0B1E0E8EDFAEA4A -:1010100002C005900D92A038B107D9F71AE0A0E8F8 -:10102000B2E001C01D92A13FB107E1F70E942E215D -:101030000C946A550C940000AF92BF92CF92DF924D -:10104000EF92FF920F931F93CF93DF93CDB7DEB74D -:10105000E0970FB6F894DEBF0FBECDBF80E1E7E3A7 -:10106000F1E0DE01919601900D928A95E1F780E121 -:10107000E7E4F1E0DE01519601900D928A95E1F7E7 -:1010800080E1E7E5F1E0DE01119601900D928A958D -:10109000E1F76E0181E2C80ED11C85E2E82E8AE0FC -:1010A000F82E8E010F5E1F4F65E37AE0AE014F5FB1 -:1010B0005F4F95E1A92E9AE0B92E20E030E0F601CD -:1010C00081919191A191B1916F01F70181939193D8 -:1010D000A193B1937F01F80181919191A191B19177 -:1010E0008F01FB0181939193A193B193BF01FA0109 -:1010F00081919191A191B191AF01F501819391936A -:10110000A193B1935F012F5F3F4F24303105B9F6B2 -:1011100080E090E0AAEFB3E480930D0A90930E0A6A -:10112000A0930F0AB093100A80E090E8ABE3B5E417 -:101130008093090A90930A0AA0930B0AB0930C0AB1 -:101140001092110A1092120A1092130A1092140AA5 -:1011500080E29EE4A0E0B0E08093450A9093460AC6 -:10116000A093470AB093480A1092F9091092FA091D -:101170001092FB091092FC0980E090E0A0EAB1E433 -:101180008093050A9093060AA093070AB093080A71 -:101190008DEC9CECACECBEE38093010A9093020AC8 -:1011A000A093030AB093040A80E090E0A0EAB0E4C0 -:1011B0008093FD099093FE09A093FF09B093000A64 -:1011C000EBEBF0E007C09091C00095FFFCCF80935F -:1011D000C600319684918111F6CFE7E6F1E006C0B2 -:1011E0009091C00095FFFCCF8093C6008191811142 -:1011F000F7CF8091C00085FFFCCF8AE08093C600C6 -:10120000E0960FB6F894DEBF0FBECDBFDF91CF9151 -:101210001F910F91FF90EF90DF90CF90BF90AF9014 -:101220000895CF93DF9300D0CDB7DEB78091EB0A5E -:101230009091EC0A9E012F5F3F4F009719F4215FB8 -:101240003A4002C0281B390B3A83298389819A814D -:101250000F900F90DF91CF910895CF92DF92EF9290 -:10126000FF920F931F93CF93DF9300D000D0CDB7A1 -:10127000DEB740E052EC61E070E081E894E00E946B -:101280001623E1ECF0E007C09091C00095FFFCCF81 -:101290008093C600319684918111F6CF8091C00071 -:1012A00085FFFCCF8AE08093C6008BEB90E0FC01C9 -:1012B00007C03091C00035FFFCCF2093C6003196A7 -:1012C00024912111F6CF24B720FF14C0E7ECF0E001 -:1012D00007C04091C00045FFFCCF3093C600319657 -:1012E00034913111F6CF3091C00035FFFCCF3AE098 -:1012F0003093C60021FF14C0EFECF0E007C040912E -:10130000C00045FFFCCF3093C600319634913111B7 -:10131000F6CF3091C00035FFFCCF3AE03093C600E5 -:1013200022FF14C0EFEDF0E007C04091C00045FF80 -:10133000FCCF3093C600319634913111F6CF309105 -:10134000C00035FFFCCF3AE03093C60023FF14C045 -:10135000E0EFF0E007C04091C00045FFFCCF3093C4 -:10136000C600319634913111F6CF3091C00035FF6F -:10137000FCCF3AE03093C60025FF14C0E0E0F1E076 -:1013800007C03091C00035FFFCCF2093C6003196D6 -:1013900024912111F6CF2091C00025FFFCCF2AE037 -:1013A0002093C60014BEE0E1F1E007C03091C00018 -:1013B00035FFFCCF2093C600319624912111F6CF42 -:1013C000E9E1F1E007C03091C00035FFFCCF209388 -:1013D000C600319624912111F6CF2091C00025FF3F -:1013E000FCCF2AE02093C600FC012491EBEBF0E057 -:1013F00008C03091C00035FFFCCF2093C600319665 -:1014000024912111F6CFE3E2F1E007C03091C00052 -:1014100035FFFCCF2093C600319624912111F6CFE1 -:10142000E3E3F1E007C03091C00035FFFCCF20932B -:10143000C600319624912111F6CFEEE3F1E007C00A -:101440003091C00035FFFCCF2093C6003196249127 -:101450002111F6CFEAE4F1E007C03091C00035FF7A -:10146000FCCF2093C600319624912111F6CF209114 -:10147000C00025FFFCCF2AE02093C600FC01849128 -:10148000EBEBF0E008C09091C00095FFFCCF80939B -:10149000C600319684918111F6CFEFE4F1E007C0E8 -:1014A0009091C00095FFFCCF8093C6003196849147 -:1014B0008111F6CFB6DE4AE050E0BC0181E894E04D -:1014C0000E943C24EEE5F1E007C09091C00095FF3A -:1014D000FCCF8093C600319684918111F6CF4AE00B -:1014E00050E060ED74E081E894E00E943C2480913B -:1014F000C00085FFFCCF8AE08093C60010922A04CA -:1015000010922B0410922C0410922D0480E094DD94 -:1015100025E1C22E2AE0D22E35E2E32E3AE0F32E68 -:1015200009EE19E0F60161917191819191916F013C -:10153000F70121913191419151917F0129833A83A2 -:101540004B835C830E94744C29813A814B815C817E -:101550000E94A94E0E94484CF801619371938193B7 -:1015600091938F01F5E2CF16FAE0DF06D9F60E94DB -:101570005E440E94FD2C0F900F900F900F90DF9112 -:10158000CF911F910F91FF90EF90DF90CF900C942F -:10159000773F809134049091350460E070E00196CB -:1015A0000C94FE4F80913404909135044AE050E051 -:1015B00060E070E001960C944A5140912E045091E5 -:1015C0002F0490E6949F9001959F300D1124682F71 -:1015D00070E0C90186559D4F0E947C52909335045E -:1015E0008093340421E0892B09F420E0822F0895B0 -:1015F0000E94782160933E0470933F0480934004DE -:1016000090934104EBEAF3E007C09091C00095FF8E -:10161000FCCF8093C600319684918111F6CF8091E2 -:10162000C00085FFFCCF8AE08093C600089581E862 -:1016300094E00E945B23E3EAF3E007C09091C000CE -:1016400095FFFCCF8093C600319684918111F6CF2F -:1016500040913A0450913B0460913C0470913D04E8 -:101660004F5F5F4F6F4F7F4F2AE030E081E894E09B -:101670000E9406248091C00085FFFCCF8AE0809301 -:10168000C600B6CF4F925F927F928F929F92AF9299 -:10169000BF92CF92DF92EF92FF920F931F93CF935F -:1016A000DF9340E6742E54E0452E512CE1E2F2E047 -:1016B00084906AE0B62EEEE1F2E0A490992493942F -:1016C0008091020590910305209104053091050554 -:1016D000821B930B8F779927892B09F0FEC111C2CA -:1016E0008D3051F08A3321F490913104992321F007 -:1016F0002F3531050CF4D4C12115310519F41092A0 -:101700003104FFC18091A8029091A902789EE00166 -:10171000799ED00D1124FE01E20FF31FE655FD4F17 -:101720001082209131042111B6C110923104FC01C4 -:10173000E65DFB4F10828E0106551D4F6EE470E092 -:10174000C8010E947C52009709F403C190933504AC -:1017500080933404801B910B8C0F9D1F4AE050E056 -:1017600060E070E085559D4F0E944A5160933604B9 -:10177000709337048093380490933904C0903A04EE -:10178000D0903B04E0903C04F0903D04970186012A -:101790000F5F1F4F2F4F3F4F60177107820793074F -:1017A000C1F12091A8023091A902729EC001739EDE -:1017B000900D11246FE771E086559D4F0E9487526E -:1017C000892B39F5E5E7F1E007C09091C00095FF5E -:1017D000FCCF8093C600319684918111F6CFECE75F -:1017E000F1E007C09091C00095FFFCCF8093C60048 -:1017F000319684918111F6CF2AE030E0B701A6013D -:1018000081E894E00E9406248091C00085FFFCCF0F -:101810008AC08091A8029091A902789E8001799E49 -:10182000100D1124E801C655DD4F6AE270E0CE01CB -:101830000E947C52009721F450C0F3262F5F02C013 -:1018400020E0F12CF801E20FF11DE655FD4F30814B -:101850003A3299F790933504809334048C1B9D0B96 -:10186000800F911F60E070E085559D4F0E94FE4FF4 -:101870000E94434C2F2D30E02617370709F458C03B -:10188000E5E7F1E007C09091C00095FFFCCF8093A1 -:10189000C600319684918111F6CFEEEAF1E007C0DF -:1018A0009091C00095FFFCCF8093C6003196849143 -:1018B0008111F6CF40913A0450913B0460913C0471 -:1018C00070913D042AE030E081E894E00E94062413 -:1018D0008091C00085FFFCCF26C0E5E7F1E007C09E -:1018E0009091C00095FFFCCF8093C6003196849103 -:1018F0008111F6CFECECF1E007C09091C00095FFAC -:10190000FCCF8093C600319684918111F6CF2AE0F6 -:1019100030E0B701A60181E894E00E94062480919E -:10192000C00085FFFCCF8AE08093C60080DE47C000 -:101930008091360490913704A0913804B091390415 -:1019400080933A0490933B04A0933C04B0933D04ED -:101950003BC06AE270E0C8010E947C52892BA1F171 -:10196000E5E7F1E007C09091C00095FFFCCF8093C0 -:10197000C600319684918111F6CFE5EFF1E007C002 -:101980009091C00095FFFCCF8093C6003196849162 -:101990008111F6CF40913A0450913B0460913C0490 -:1019A00070913D042AE030E081E894E00E94062432 -:1019B0008091C00085FFFCCF8AE08093C600109222 -:1019C0003304109232049DC08091A8029091A90224 -:1019D000789EE001799ED00D11248E0106551D4F91 -:1019E00067E470E0C8010E947C52009709F43EC091 -:1019F0009093350480933404801B910B8C0F9D1FB2 -:101A000060E070E085559D4F0E94FE4F0E94434C60 -:101A10006430710558F580918002811113C08A2DC0 -:101A2000EEE1F2E008C09091C00095FFFCCF8093FA -:101A3000C600319684918111F6CF8091C00085FF58 -:101A4000FCCF12C0882DE1E2F2E008C09091C00006 -:101A500095FFFCCF8093C600319684918111F6CF1B -:101A60008091C00085FFFCCFB092C6008091A80293 -:101A70009091A9020196B2010E948E4F9093A90203 -:101A80008093A8028091A6029091A702019690935C -:101A9000A7028093A602109233041092320410CE53 -:101AA0008B3311F49092310490913104911108CE4E -:101AB0004091A8025091A902749ED001759EB00D6C -:101AC0001124A20FB31FA655BD4F8C932F5F3F4F1C -:101AD0003093330420933204F3CD8091A602909189 -:101AE000A702049774F481E894E00E943F23809356 -:101AF000300420913204309133048A3009F0F0CD63 -:101B0000FBCDDF91CF911F910F91FF90EF90DF9070 -:101B1000CF90BF90AF909F908F907F905F904F90AD -:101B200008958F929F92AF92BF92CF92DF92EF92E1 -:101B3000FF920F931F93CF93DF9378E1A72E72E06C -:101B4000B72E0FE812E0C6E4D4E0E2EA8E2EE2E01F -:101B50009E2EF50181915F0130DD882311F119DDA1 -:101B60006B017C01F4018081811103C060915604F6 -:101B700001C061E070E080E090E00E94764CF801E6 -:101B800020813181428153810E94A94E9B01AC0189 -:101B9000C701B6010E94FB4A688379838A839B83CD -:101BA00009C0F80180819181A281B38188839983E2 -:101BB000AA83BB830C5F1F4F2496FFEF8F1A9F0AE7 -:101BC0008CE1A81682E0B80621F686E4F6DC8823CC -:101BD000D1F0DFDC6B017C016093680470936904D1 -:101BE00080936A0490936B0420E030E0A9010E9486 -:101BF000D74D181644F4C0921401D0921501E0920A -:101C00001601F0921701DF91CF911F910F91FF9074 -:101C1000EF90DF90CF90BF90AF909F908F900895FE -:101C200080DF89E4CADC882351F0B3DC60936C0464 -:101C300070936D0480936E0490936F0408C01092AB -:101C40006C0410926D0410926E0410926F048AE47A -:101C5000B4DC882351F09DDC6093700470937104B0 -:101C600080937204909373040895109270041092FC -:101C7000710410927204109273040895CF92DF924F -:101C8000EF92FF920F931F9320E030E0A901609143 -:101C900046047091470480914804909149040E9441 -:101CA000D44B87FF08C0109246041092470410924C -:101CB00048041092490420E030E0A90160914A04F0 -:101CC00070914B0480914C0490914D040E94D44B30 -:101CD00087FF08C010924A0410924B0410924C04E3 -:101CE00010924D0420E030E0A90160914E04709103 -:101CF0004F0480915004909151040E94D44B87FF6F -:101D000008C010924E0410924F041092500410928A -:101D1000510420E030E04DE453E4609146047091BA -:101D2000470480914804909149040E94D74D1816A9 -:101D300064F480E090E0ADE4B3E4809346049093D3 -:101D40004704A0934804B093490420E030E04DE4F8 -:101D500053E460914A0470914B0480914C0490913B -:101D60004D040E94D74D181664F480E090E0ADE475 -:101D7000B3E480934A0490934B04A0934C04B09333 -:101D80004D0420E030E040EF52E460914E04709149 -:101D90004F0480915004909151040E94D74D181621 -:101DA00064F480E090E0A0EFB2E480934E0490935E -:101DB0004F04A0935004B09351040E947821609383 -:101DC0003E0470933F0480934004909341046091DB -:101DD000020170910301882777FD8095982F0E945A -:101DE000764C2091140130911501409116015091CB -:101DF00017010E94A94E20E030E040E752E40E9423 -:101E0000DB4B20E030E048EC52E40E94DB4BF2E890 -:101E1000CF2EF2E0DF2E7B018C0122E534E04EE490 -:101E200054E06AE474E086E494E00E947C2D8091A2 -:101E3000460490914704A0914804B09149048093CE -:101E40008F0290939002A0939102B093920280919E -:101E50004A0490914B04A0914C04B0914D0480939E -:101E6000930290939402A0939502B093960280916E -:101E70004E0490914F04A0915004B091510480936E -:101E8000970290939802A0939902B0939A0280913E -:101E9000520490915304A0915404B091550480933E -:101EA0009B0290939C02A0939D02B0939E021F916F -:101EB0000F91FF90EF90DF90CF900895AF92BF9277 -:101EC000CF92DF92EF92FF920F931F93CF93DF9306 -:101ED000182F209170043091710440917204509138 -:101EE000730460916C0470916D0480916E04909104 -:101EF0006F040E94E44DEB01082FF92E609102015E -:101F000070910301882777FD8095982F0E94764C69 -:101F10002091140130911501409116015091170143 -:101F20000E94A94E20E030E040E752E40E94DB4BE3 -:101F300020E030E048EC52E40E94DB4B209182022A -:101F40002F931F93FF920F93DF93CF935B016C014D -:101F5000A2E0EA2E01E020E04CE654E066E474E002 -:101F60008FE892E00E9400258091460490914704FA -:101F7000A0914804B091490480938F0290939002FD -:101F8000A0939102B093920280914A0490914B04E5 -:101F9000A0914C04B0914D048093930290939402CD -:101FA000A0939502B093960280914E0490914F04B5 -:101FB000A0915004B091510480939702909398029D -:101FC000A0939902B0939A02809152049091530485 -:101FD000A0915404B091550480939B0290939C026D -:101FE000A0939D02B0939E020E94782160933E04CC -:101FF00070933F0480934004909341040F900F909E -:102000000F900F900F900F90DF91CF911F910F9134 -:10201000FF90EF90DF90CF90BF90AF900895F8942D -:102020000E94BB445A985A985A985A98E5E7F1E0AA -:1020300007C09091C00095FFFCCF8093C6003196F9 -:1020400084918111F6CFEEEAF3E007C09091C000D1 -:1020500095FFFCCF8093C600319684918111F6CF15 -:102060008091C00085FFFCCF8AE08093C600FFCF3F -:10207000CF92DF92EF92FF920F931F930E947821ED -:102080000091600410916104209162043091630416 -:10209000C0903E04D0903F04E0904004F090410492 -:1020A0006C197D098E099F0906171707280739073C -:1020B00028F4012B022B032B09F0B1DF80911901C9 -:1020C00090911A01A0911B01B0911C01892B8A2BC0 -:1020D0008B2B09F10E94782100913E0410913F045E -:1020E0002091400430914104601B710B820B930BD3 -:1020F0000091190110911A0120911B0130911C01CE -:10210000061717072807390730F4909108058091C2 -:102110000705981721F00E94312D1EBA05C05A9864 -:102120005A985A985A98F7CF1F910F91FF90EF90B5 -:10213000DF90CF9008952F923F924F925F926F92CF -:102140007F928F929F92AF92BF92CF92DF92EF9247 -:10215000FF920F931F93CF93DF93CDB7DEB7A69770 -:102160000FB6F894DEBF0FBECDBF87E426DA882312 -:1021700009F489C20EDA0E94434C64307105B1F152 -:1021800044F46230710511F144F577FF17C00C94E7 -:10219000501D6A35710509F422C234F46C317105A1 -:1021A00011F00C94501D60C06B35710509F41BC211 -:1021B0006C35710511F00C94501D1AC2809180028B -:1021C000811104C0AEDC5ADD0C9495208091800210 -:1021D000811103C025DD81E006C08091800281115C -:1021E00005C01EDD80E06ADE0C94952080E5E5D90F -:1021F000882331F0CED90E94484C6B017C0103C08A -:10220000C12CD12C760183E5D8D9882359F0C1D9C6 -:1022100020E030E04AE754E40E94A94E0E94484C76 -:102220006B017C010E94B63F0E9478214B015C014A -:102230008C0C9D1CAE1CBF1C0E94782160933E0438 -:1022400070933F04809340049093410404C00E9423 -:10225000E24181E00DDF0E947821681579058A0549 -:102260009B05A8F30C94501D8091140190911501C9 -:10227000A0911601B09117018093420490934304FA -:10228000A0934404B093450480910201909103010E -:102290009093A1028093A00284E690E090930301C2 -:1022A000809302010E94782160933E0470933F0462 -:1022B000809340049093410481E00E94763980919C -:1022C0008F0290919002A0919102B091920280931E -:1022D000460490934704A0934804B0934904809126 -:1022E000930290919402A0919502B09196028093EE -:1022F0004A0490934B04A0934C04B0934D048091F6 -:10230000970290919802A0919902B0919A028093BD -:102310004E0490934F04A0935004B09351048091C5 -:102320009B0290919C02A0919D02B0919E0280938D -:10233000520490935304A0935404B0935504109204 -:10234000140110921501109216011092170188E5E0 -:1023500034D9882311F090E008C089E52ED9811185 -:10236000FACF8AE52AD991E0982790931801911124 -:102370000C94531D88E521D9882309F48EC089E582 -:102380001CD981110C94531D88C0C0921401D092A5 -:102390001501E0921601F092170120E030E040E7CD -:1023A00052E4609114017091150180911601909191 -:1023B00017010E94DB4BE2E8CE2EE2E0DE2E7B012D -:1023C0008C0122E534E04EE454E06AE474E086E4F3 -:1023D00094E00E947C2D0E94B63F10928F021092D2 -:1023E0009002109291021092920210929302109217 -:1023F000940210929502109296022BE932E047E97E -:1024000052E063E972E08FE892E00E94FC3780912D -:102410008F0290919002A0919102B09192028093CC -:10242000460490934704A0934804B09349048091D4 -:10243000930290919402A0919502B091960280939C -:102440004A0490934B04A0934C04B0934D0420E0B5 -:1024500030E040E752E460911401709115018091E1 -:102460001601909117010E94DB4B7B018C0122E544 -:1024700034E04EE454E06AE474E086E494E00E94C0 -:102480007C2D1092140110921501109216011092D9 -:1024900017010E94B63F0E946F3980911801811187 -:1024A0000C94A31D88E589D881110C94A31D8091FB -:1024B000180181110C947B1E89E57FD881110C9441 -:1024C0007B1E8091180181110C94531F8AE575D8E9 -:1024D00081110C94531F88E570D88823C1F062D80D -:1024E000672B682B692B99F054D820918302309187 -:1024F000840240918502509186020E94FB4A6093BB -:102500008F0270939002809391029093920289E5DA -:1025100054D88823C1F046D8672B682B692B99F0D3 -:1025200038D82091870230918802409189025091D9 -:102530008A020E94FB4A60939302709394028093F4 -:102540009502909396028AE538D88823C1F02AD85C -:10255000672B682B692B99F01CD820918B02309146 -:102560008C0240918D0250918E020E94FB4A609332 -:102570009702709398028093990290939A022BE9A4 -:1025800032E047E952E063E972E08FE892E00E94AE -:10259000FC378091420490914304A0914404B0918F -:1025A00045048093140190931501A0931601B093F4 -:1025B00017018091A0029091A10290930301809352 -:1025C00002010E94782160933E0470933F0480933F -:1025D0004004909341040E946F390C94501D109256 -:1025E00056040C94501D81E0809356040C94501DA9 -:1025F00085E40E94DD0A811102C00E94B63F48E1D5 -:10260000C42E42E0D42E53E8E52E52E0F52E0FE81A -:1026100012E0B12CF60181916F010E94DD0A88233E -:1026200039F1F3E0BF120CC00E94C90AF8016083BF -:102630007183828393838BE992E00E94973818C05C -:102640000E94C90AF70120813181428153810E9491 -:10265000FB4AF80160837183828393832BE932E024 -:1026600047E952E063E972E08FE892E00E94FC37AC -:10267000B394F4E0EF0EF11C0C5F1F4F24E0B21294 -:10268000C9CF0C94501D8DE40E94DD0A882311F4FB -:102690000C94A51C0E94C90A0E94434C683771051E -:1026A00009F4D1C60CF053C06C35710509F44FC55F -:1026B00044F56A32710509F406C174F4623171059A -:1026C00009F4F4C46F31710509F4A4C061317105D6 -:1026D00011F00C94501D98C06335710509F4E2C4E3 -:1026E00034F46235710511F00C94501DD8C4643572 -:1026F000710509F4DBC46535710511F00C94501DAA -:1027000010C56B36710509F4C7C464F469367105E8 -:1027100009F48FC10CF099C46836710511F00C945E -:10272000501D11C16237710509F4B1C534F46D361D -:10273000710511F00C94501D4DC26337710509F4F9 -:1027400098C56737710511F00C94501D82C66C3D19 -:10275000710509F4CDC744F5693C710509F4D8C683 -:1027600074F46C38710509F450C16E3B710509F4BD -:10277000D0C36937710511F00C94501D66C66C3CCE -:10278000710509F41BC734F46B3C710511F00C940E -:10279000501DF8C66D3C710509F430C76E3C7105DB -:1027A00011F00C94501D88C76F3231E0730711F49B -:1027B0000C94781C74F46D3291E0790709F4B9C770 -:1027C00014F00C94741C6D3D710511F00C94501DA7 -:1027D000A1C7653FF1E07F0711F40C948A1C3CF41B -:1027E0006039714011F00C94501D0C94871C663FA9 -:1027F00081E0780711F40C948C1C673E734011F053 -:102800000C94501D0C94901C5A9A5A9A5A9A5A9A9F -:102810000C94501D0E9478216093570470935804C3 -:102820008093590490935A0400915B0410915C04C6 -:1028300020915D0430915E04601B710B820B930B41 -:1028400028EE33E040E050E00E94A14FCA01B901F8 -:102850002CE330E040E050E00E94A14F7F936F9363 -:102860003F932F938AE891E09F938F93CE01019637 -:102870009F938F930E94A152EBEBF0E084910FB6EF -:10288000F894DEBF0FBECDBFEBEBF0E008C0909137 -:10289000C00095FFFCCF8093C600319684918111D2 -:1028A000F6CFFE01319606C09091C00095FFFCCF97 -:1028B0008093C60081918111F7CF8091C00085FF80 -:1028C000FCCF0C944D1D83E50E94DD0A882311F492 -:1028D0000C94501D0E94C90A6B017C0180E50E9486 -:1028E000DD0A882311F40C94501DC701B6010E9423 -:1028F000434C7B0177FF02C00C94501D6F3F710564 -:1029000009F014F40C942B200C94501D819191919A -:102910008017910711F40C94501D22E0E039F20762 -:10292000A9F717FF02C00C94501D61E0802F0E9490 -:1029300092226E2D802F0E94AE22B701802F0E941E -:1029400009220C94501D8091820280935F0484E5DB -:102950000E94DD0A882379F10E94C90A0E94484C2E -:1029600060935F04662339F1EBEBF0E007C09091D0 -:10297000C00095FFFCCF8093C600319684918111F1 -:10298000F6CFE9E9F1E006C09091C00095FFFCCFD9 -:102990008093C60081918111F7CF40E050E06091B3 -:1029A0005F0481E894E00E9400248091C00085FFCC -:1029B000FCCF0C944D1D83E50E94DD0A882309F1AC -:1029C000B0905F040E94C90A6B017C010B2D10E0DE -:1029D0000E94434CDC01CB016B2D0E944640F80164 -:1029E000EE0FFF1FE255F54F91838083F801EE0F44 -:1029F000FF1FEE0FFF1FEC55F54FC082D182E28220 -:102A0000F3820E94BA440C94501D83E50E94DD0AB3 -:102A1000882311F40C94501D0E94C90A0E94434C53 -:102A2000CB010E94CA409093AD0A8093AC0A0C94EB -:102A3000501D8091820280935F0484E50E94DD0A2C -:102A4000882371F10E94C90A0E94484C60935F0478 -:102A5000662331F1EBEBF0E007C09091C00095FFE9 -:102A6000FCCF8093C600319684918111F6CFE0EBC4 -:102A7000F1E006C09091C00095FFFCCF8093C600A6 -:102A800081918111F7CF40E050E060915F0481E8CF -:102A900094E00E9400248091C00085FFFCCFFDC718 -:102AA000E9E9F2E007C09091C00095FFFCCF809368 -:102AB000C600319684918111F6CF60915F04E62FB4 -:102AC000F0E0EE0FFF1FE655F54F808191810E94E7 -:102AD0001641AB01BC0121E030E081E894E00E94A6 -:102AE000FF24EFE9F2E007C09091C00095FFFCCF12 -:102AF0008093C600319684918111F6CF60915F0476 -:102B0000E62FF0E0EE0FFF1FE255F54F8081918137 -:102B10000E941641AB01BC0121E030E081E894E065 -:102B20000E94FF24E2EAF2E007C09091C00095FF06 -:102B3000FCCF8093C600319684918111F6CF8091AD -:102B4000A80A9091A90A0E94C943AB01BC0121E0E7 -:102B500030E081E894E00E94FF24E6EAF2E007C05A -:102B60009091C00095FFFCCF8093C6003196849170 -:102B70008111F6CF8091AC0A9091AD0A0E94C943B1 -:102B8000AB01BC0121E030E081E894E00E94FF2429 -:102B9000E9EAF2E007C09091C00095FFFCCF809376 -:102BA000C600319684918111F6CF80915F0490E048 -:102BB0000E9440404AE050E0BC0181E894E00E945D -:102BC0003C248091C00085FFFCCF8AE08093C60042 -:102BD0000C9495208091820280935F0484E50E948A -:102BE000DD0A882371F10E94C90A0E94484C609353 -:102BF0005F04662331F1EBEBF0E007C09091C00079 -:102C000095FFFCCF8093C600319684918111F6CF59 -:102C1000E7ECF1E006C09091C00095FFFCCF8093F7 -:102C2000C60081918111F7CF40E050E060915F04D0 -:102C300081E894E00E9400248091C00085FFFCCFD1 -:102C40002CC783E50E94DD0A882309F1B0905F0458 -:102C50000E94C90A6B017C010B2D10E00E94434CBD -:102C6000DC01CB016B2D0E944640F801EE0FFF1FE7 -:102C7000E255F54F91838083F801EE0FFF1FEE0FB1 -:102C8000FF1FEC55F54FC082D182E282F3820E9491 -:102C9000BA440E9478214B015C0180915F0490E06E -:102CA000880F991FFC01E255F54F2081318138A32F -:102CB0002F8FFC01E655F54F808191819EA38DA356 -:102CC000CC24CA94DC2C7601EDEAF2E02490E0EB0F -:102CD000F2E03490E4EBF2E0049178EE472E73E0FA -:102CE000572E612C712C1AE00C944C20822DEDEAA9 -:102CF000F2E008C09091C00095FFFCCF8093C60021 -:102D0000319684918111F6CF60915F04E62FF0E057 -:102D1000EE0FFF1FE655F54F808191810E9416410D -:102D2000AB01BC0121E030E081E894E00E94FF2487 -:102D3000832DE0EBF2E008C09091C00095FFFCCF3E -:102D40008093C600319684918111F6CF60915F0423 -:102D50004AE050E070E081E894E00E943C24802F3B -:102D6000E4EBF2E008C09091C00095FFFCCF8093A7 -:102D7000C600319684918111F6CFF7FE03C0EEEDC7 -:102D8000F1E027C00E9478214B015C01C701B60128 -:102D9000605F784D8F4F9F4F681979098A099B09A9 -:102DA000A30192010E94A14F49015A012AE030E09B -:102DB000B501A40181E894E00E94F0238091C00055 -:102DC00085FFFCCF0DC09091C00095FFFCCF809394 -:102DD000C60081918111F7CF8091C00085FFFCCFA3 -:102DE0001093C6000E9478214B015C010E94E241D1 -:102DF00081E03ED99FEFC916D906E906F906C1F56B -:102E000060915F04EF8DF8A12DA13EA12E173F0721 -:102E100014F00C946820E62FF0E0EE0FFF1FE6554B -:102E2000F54F808191810E94164169A37AA38BA3FB -:102E30009CA360915F04E62FF0E0EE0FFF1FE255C8 -:102E4000F54F808191810E94164120E030E040E8FA -:102E50005FE30E94FA4A9B01AC0169A17AA18BA1B0 -:102E60009CA10E94D74D87FD02C00C9434203AC02B -:102E7000F7FC38C060915F04E62FF0E0EE0FFF1F13 -:102E8000E655F54F808191810E94164169A37AA38E -:102E90008BA39CA360915F04E62FF0E0EE0FFF1F71 -:102EA000E255F54F808191810E9416419B01AC0152 -:102EB00069A17AA18BA19CA10E94FA4A0E94434C6D -:102EC000AB01BC0177FF07C07095609550954195A7 -:102ED0005F4F6F4F7F4F443051056105710514F00E -:102EE0000C9434203FEFC316D306E306F30611F427 -:102EF0000C944C20F7FE02C00C9439200E947821DB -:102F00006C197D096031774210F40C944C200C94BC -:102F1000392083E50E94DD0A882359F00E94C90AFE -:102F20000E94434CCB010E94CA409093AD0A80930B -:102F3000AC0A0E9478216B017C01E8EBF2E0A490DE -:102F4000EBEBF2E0B490EFEBF2E014910AE06FC02B -:102F50000E9478216C197D098E099F09693E734092 -:102F60008105910508F45FC060918202A62FB0E050 -:102F7000AA0FBB1FA655B54F8D919C910E9416417B -:102F8000AB01BC018A2DE8EBF2E008C09091C000D3 -:102F900095FFFCCF8093C600319684918111F6CFC6 -:102FA00022E030E081E894E00E94FF248B2DEBEBDF -:102FB000F2E008C09091C00095FFFCCF8093C6005E -:102FC000319684918111F6CF609182024AE050E0FF -:102FD00070E081E894E00E943C24812FEFEBF2E066 -:102FE00008C09091C00095FFFCCF8093C600319639 -:102FF00084918111F6CF8091A80A9091A90A0E942C -:10300000C943AB01BC0121E030E081E894E00E94BB -:10301000FF248091C00085FFFCCF0093C6000E9472 -:1030200078216B017C010E94E24181E021D820914E -:10303000AC0A3091AD0A8091A80A9091A90A821732 -:1030400093070CF485CF0C94422083E50E94DD0A9F -:103050008823F1F00E94C90A20E030E0A9010E9413 -:10306000D44B87FD0FC00E94C90A20E030E04FE733 -:1030700053E40E94D74D18163CF00E94C90A0E94E2 -:10308000484C03C060E001C06FEF6093810208C547 -:103090008FEF8093810204C51092810201C51092C6 -:1030A000A502FEC481E08093A502FAC483E50E94D4 -:1030B000DD0A882399F00E94C90A20E030E04AE73F -:1030C00054E40E94A94E0E94484C609319017093E9 -:1030D0001A0180931B0190931C01E2C488E50E94B1 -:1030E000DD0A8111EDC789E50E94DD0A8111E8C77B -:1030F0008AE50E94DD0A8111E3C785E40E94DD0AAA -:103100008111DEC7D7C75A9889E50E94DD0A81116F -:103110005A988AE50E94DD0A882309F4C1C45A98A6 -:10312000BFC483E50E94DD0A0E94C90A20E030E0A6 -:103130004AE754E40E94A94E0E94484C6093600400 -:10314000709361048093620490936304A9C428E19E -:1031500032E03EA32DA3B5E22B2EBAE03B2E85E351 -:103160009AE098A38F8F19EE812E19E0912E10E02E -:10317000EDA1FEA18191FEA3EDA30E94DD0A8823AB -:1031800009F466C0133009F05CC00E94C90A6B01E3 -:103190007C0120E030E040EA51E40E94D44B87FFFC -:1031A0004AC0A7019601F1016081718182819381FA -:1031B0000E94DB4B762EA72EB82E092F762F272FB5 -:1031C0003A2D4B2D502F6091FD097091FE09809191 -:1031D000FF099091000A0E94A94E6093FD09709327 -:1031E000FE098093FF099093000A272D3A2D4B2D5D -:1031F000502FEF8DF8A160817181828193810E94AF -:10320000A94EEF8DF8A16083718382839383F401CB -:1032100060817181828193810E94744C272D3A2DA7 -:103220004B2D502F0E94A94E0E94484CF401608300 -:10323000718382839383F101C082D182E282F3821F -:1032400007C00E94C90AF10160837183828393835E -:103250001F5FF4E02F0E311C2F8D38A12C5F3F4FE4 -:1032600038A32F8F34E0830E911C143009F080CFE7 -:1032700017C4E3ECF2E007C09091C00095FFFCCFCB -:103280008093C600319684918111F6CF09C4EEE592 -:10329000F3E007C09091C00095FFFCCF8093C6007B -:1032A000319684918111F6CF40918F025091900216 -:1032B000609191027091920222E030E081E894E006 -:1032C0000E94FF24E1E6F3E007C09091C00095FF63 -:1032D000FCCF8093C600319684918111F6CF409146 -:1032E000930250919402609195027091960222E0AF -:1032F00030E081E894E00E94FF24E4E6F3E007C0B8 -:103300009091C00095FFFCCF8093C60031968491C8 -:103310008111F6CF409197025091980260919902E5 -:1033200070919A0222E030E081E894E00E94FF244C -:10333000E7E6F3E007C09091C00095FFFCCF8093D3 -:10334000C600319684918111F6CF40919B02509135 -:103350009C0260919D0270919E0222E030E081E823 -:1033600094E00E94FF24EAE6F3E007C09091C000D9 -:1033700095FFFCCF8093C600319684918111F6CFE2 -:103380000E940F400E94764C2091250A3091260A17 -:103390004091270A5091280A0E94DB4BAB01BC01E7 -:1033A00022E030E081E894E00E94FF24E4E7F3E0CB -:1033B00007C09091C00095FFFCCF8093C600319666 -:1033C00084918111F6CF81E00E940F400E94764CDB -:1033D0002091290A30912A0A40912B0A50912C0AF7 -:1033E0000E94DB4BAB01BC0122E030E081E894E0BD -:1033F0000E94FF24E7E7F3E007C09091C00095FF2B -:10340000FCCF8093C600319684918111F6CF82E083 -:103410000E940F400E94764C20912D0A30912E0A76 -:1034200040912F0A5091300A0E94DB4BAB01BC0146 -:1034300022E030E081E894E00E94FF248091C00007 -:1034400085FFFCCF2AC380E001C081E00E9476396D -:1034500027C3EAE7F3E007C09091C00095FFFCCFD7 -:103460008093C600319684918111F6CF189903C0DC -:10347000E4E8F1E009C0E7E8F1E006C09091C0009F -:1034800095FFFCCF8093C60081918111F7CFE1E8D1 -:10349000F3E007C09091C00095FFFCCF8093C60079 -:1034A000319684918111F6CF199903C0E4E8F1E0D7 -:1034B00009C0E7E8F1E006C09091C00095FFFCCF9D -:1034C0008093C60081918111F7CFE8E8F3E007C04F -:1034D0009091C00095FFFCCF8093C60031968491F7 -:1034E0008111F6CF1A9903C0E4E8F1E009C0E7E8DA -:1034F000F1E006C09091C00095FFFCCF8093C6001C -:1035000081918111F7CF8091C00085FFFCCFC5C2AA -:10351000A8E1EA2EA2E0FA2E00E010E0F701819186 -:103520007F010E94DD0A882339F10E94C90AE5E182 -:10353000CE2EEAE0DE2EC00ED11E0E94484CF601CF -:1035400060837183828393830E94C90AF9EECF2E30 -:10355000F9E0DF2EC00ED11EF801EB5DF54F2081A2 -:103560003181428153810E94A94E0E94484CF6014C -:1035700060837183828393830C5F1F4F0031110539 -:1035800069F68EC208E112E065E3E62E6AE0F62EE7 -:10359000F80181918F010E94DD0A882339F00E9491 -:1035A000C90AF7016083718382839383F4E0EF0E8D -:1035B000F11C22E00C31120759F772C283E50E9418 -:1035C000DD0A882351F00E94C90A60930D0A7093A6 -:1035D0000E0A80930F0A9093100A84E50E94DD0A78 -:1035E000882309F45DC20E94C90A6093090A709396 -:1035F0000A0A80930B0A90930C0A52C283E50E9438 -:10360000DD0A882351F00E94C90A6093110A709361 -:10361000120A8093130A9093140A84E50E94DD0A2B -:10362000882351F00E94C90A6093F9097093FA093E -:103630008093FB099093FC0982E40E94DD0A8823B1 -:1036400061F00E94C90A0E94484C6093450A709339 -:10365000460A8093470A9093480A88E50E94DD0A4B -:10366000882351F00E94C90A6093050A7093060AE4 -:103670008093070A9093080A8AE50E94DD0A88234E -:1036800051F00E94C90A6093010A7093020A809364 -:10369000030A9093040A85E40E94DD0A882309F452 -:1036A000FFC10E94C90A6093FD097093FE098093CF -:1036B000FF099093000AF4C108E112E053E8E52EF7 -:1036C00052E0F52EF80181918F010E94DD0A8823D6 -:1036D00039F00E94C90AF701608371838283938362 -:1036E000F4E0EF0EF11C22E00B31120759F7D8C1BC -:1036F00083E50E94DD0A882309F4D2C10E94C90A29 -:103700000E94434C709303016093020181E0809317 -:103710009F02C6C183E50E94DD0A882309F4C0C167 -:103720000E94C90A0E94434C7093010160930001FA -:10373000B7C180E50E94DD0A882351F00E94C90AC2 -:1037400060932E0170932F0180933001909331018B -:1037500089E40E94DD0A882381F00E94C90A25E9D4 -:103760003FEB46ED5DE30E94A94E60932A01709302 -:103770002B0180932C0190932D0184E40E94DD0A9B -:10378000882381F00E94C90A25E93FEB46ED5DE3FD -:103790000E94DB4B609326017093270180932801E0 -:1037A0009093290183E40E94DD0A882351F00E944E -:1037B000C90A60932201709323018093240190939E -:1037C00025010E942940E0EEF1E006C09091C00082 -:1037D00095FFFCCF8093C60081918111F7CFE3EE76 -:1037E000F1E006C09091C00095FFFCCF8093C60029 -:1037F00081918111F7CF40912E0150912F0160915D -:1038000030017091310122E030E081E894E00E94C3 -:10381000FF24E7EEF1E006C09091C00095FFFCCFD9 -:103820008093C60081918111F7CF25E93FEB46EDEA -:103830005DE360912A0170912B0180912C019091A0 -:103840002D010E94DB4BAB01BC0122E030E081E89E -:1038500094E00E94FF24EBEEF1E006C09091C000DE -:1038600095FFFCCF8093C60081918111F7CF25E9A8 -:103870003FEB46ED5DE36091260170912701809159 -:103880002801909129010E94A94EAB01BC0122E0C0 -:1038900030E081E894E00E94FF24EFEEF1E006C002 -:1038A0009091C00095FFFCCF8093C600819181115B -:1038B000F7CF25E93FEB46ED5DE360912201709182 -:1038C000230180912401909125010E94A94EAB0112 -:1038D000BC0122E030E081E894E00E94FF24809166 -:1038E000C00085FFFCCFD9C081E00E94B038D8C0AD -:1038F00083E50E94DD0A882319F00E94C90A04C0EA -:1039000060E070E086E193E40E94E744C9C00E9451 -:10391000B63FC6C080E001C081E00E941C08C0C064 -:10392000109280028091640490916504A0916604D5 -:10393000B091670480933A0490933B04A0933C04B5 -:10394000B0933D040E94170BABC084E50E94DD0AD2 -:10395000882309F461C00E94C90A0E94484C609300 -:103960005F04662389F1EBEBF0E007C09091C000A3 -:1039700095FFFCCF8093C600319684918111F6CFDC -:10398000E3EFF1E006C09091C00095FFFCCF80937B -:10399000C60081918111F7CF40E050E060915F0453 -:1039A00081E894E02DD7E5EFF1E006C09091C000EA -:1039B00095FFFCCF8093C60081918111F7CF809154 -:1039C000C00085FFFCCF69C010928202EBEBF0E0F3 -:1039D00007C09091C00095FFFCCF8093C600319640 -:1039E00084918111F6CFE6E0F2E006C09091C0002C -:1039F00095FFFCCF8093C60081918111F7CF609134 -:103A000082024AE050E070E081E894E035D780918E -:103A1000C00085FFFCCF41C0EBEBF0E007C0909108 -:103A2000C00095FFFCCF8093C60031968491811130 -:103A3000F6CFEFE8F3E007C09091C00095FFFCCF10 -:103A40008093C600319684918111F6CF80912E0427 -:103A500090912F0420E6289FF001299FF00D11245A -:103A6000E655FD4F06C09091C00095FFFCCF8093B6 -:103A7000C60081918111F7CFE1EAF3E007C0909190 -:103A8000C00095FFFCCF8093C600319684918111D0 -:103A9000F6CF8091C00085FFFCCF8AE08093C600FE -:103AA0000E94F80A42C310928F0210929002109264 -:103AB000910210929202109293021092940210922C -:103AC0009502109296022BE932E047E952E063E951 -:103AD00072E08FE892E00E94FC3780E090ECA9E968 -:103AE000B3EC8093460490934704A0934804B093AA -:103AF000490480934A0490934B04A0934C04B093E0 -:103B00004D0420910401309105014091060150912E -:103B1000070120931401309315014093160150932F -:103B20001701C0900801D0900901E0900A01F090BF -:103B30000B01C701B6010E94D44B87FF02C00C9451 -:103B4000C5110C94CD1110928F0210929002109218 -:103B50009102109292022BE932E047E952E063E9C8 -:103B600072E08FE892E00E94FC3780E090ECA9E9D7 -:103B7000B3EC8093460490934704A0934804B09319 -:103B800049046091040170910501809106019091B2 -:103B900007016093140170931501809316019093AF -:103BA000170120E030E040E752E40E94DB4B42E89E -:103BB000C42E42E0D42E7B018C0122E534E04EE499 -:103BC00054E06AE474E086E494E00E947C2D0E9454 -:103BD000B63F10928F0210929002109291021092B2 -:103BE00092022BE932E047E952E063E972E08FE8A4 -:103BF00092E00E94FC3780E090E0A0EAB0E480937D -:103C0000460490934704A0934804B093490420E0ED -:103C100030E040E752E46091140170911501809109 -:103C20001601909117010E94DB4B7B018C0122E56C -:103C300034E04EE454E06AE474E086E494E00E94E8 -:103C40007C2D0E94B63F80E090E0A0E2B1EC809332 -:103C5000460490934704A0934804B093490420E09D -:103C600030E040E05FE360910401709105018091D4 -:103C70000601909107010E94A94EFB01462F5F2F7C -:103C8000682F792F4093140150931501609316010A -:103C90007093170120E030E040E752E4BF010E943A -:103CA000DB4B7B018C0122E534E04EE454E06AE416 -:103CB00074E086E494E00E947C2D0E94B63F10924E -:103CC0008F02109290021092910210929202109222 -:103CD000460410924704109248041092490410922E -:103CE00014011092150110921601109217010E94F2 -:103CF0006F390C9457121092930210929402109202 -:103D00009502109296022BE932E047E952E063E90E -:103D100072E08FE892E00E94FC3780E090ECA9E925 -:103D2000B3EC80934A0490934B04A0934C04B0935B -:103D30004D04609108017091090180910A019091F0 -:103D40000B016093140170931501809316019093F9 -:103D5000170120E030E040E752E40E94DB4B32E8FC -:103D6000C32E32E0D32E7B018C0122E534E04EE4F9 -:103D700054E06AE474E086E494E00E947C2D0E94A2 -:103D8000B63F1092930210929402109295021092F4 -:103D900096022BE932E047E952E063E972E08FE8EE -:103DA00092E00E94FC3780E090E0A0EAB0E48093CB -:103DB0004A0490934B04A0934C04B0934D0420E02C -:103DC00030E040E752E46091140170911501809158 -:103DD0001601909117010E94DB4B7B018C0122E5BB -:103DE00034E04EE454E06AE474E086E494E00E9437 -:103DF0007C2D0E94B63F80E090E0A0E2B1EC809381 -:103E00004A0490934B04A0934C04B0934D0420E0DB -:103E100030E040E05FE3609108017091090180911A -:103E20000A0190910B010E94A94EFB01462F5F2FC2 -:103E3000682F792F40931401509315016093160158 -:103E40007093170120E030E040E752E4BF010E9488 -:103E5000DB4B7B018C0122E534E04EE454E06AE464 -:103E600074E086E494E00E947C2D0E94B63F10929C -:103E70009302109294021092950210929602109260 -:103E80004A0410924B0410924C0410924D0410926C -:103E900014011092150110921601109217010E9440 -:103EA0006F390C946112109297021092980210923E -:103EB000990210929A022BE932E047E952E063E955 -:103EC00072E08FE892E00E94FC3780E090E0A4E38B -:103ED000B3EC80934E0490934F04A0935004B0939E -:103EE000510460910C0170910D0180910E0190912F -:103EF0000F01609314017093150180931601909344 -:103F0000170120E030E040E752E40E94DB4B22E85A -:103F1000C22E22E0D22E7B018C0122E534E04EE459 -:103F200054E06AE474E086E494E00E947C2D0E94F0 -:103F3000B63F109297021092980210929902109236 -:103F40009A022BE932E047E952E063E972E08FE838 -:103F500092E00E94FC3780E090E0A0E8BFE380930D -:103F60004E0490934F04A0935004B093510420E06A -:103F700030E040E752E460911401709115018091A6 -:103F80001601909117010E94DB4B7B018C0122E509 -:103F900034E04EE454E06AE474E086E494E00E9485 -:103FA0007C2D0E94B63F80E090E0A0E0B0EC8093D2 -:103FB0004E0490934F04A0935004B093510420E01A -:103FC00030E040E05FE360910C0170910D01809161 -:103FD0000E0190910F010E94A94EFB01462F5F2F09 -:103FE000682F792F409314015093150160931601A7 -:103FF0007093170120E030E040E752E4BF010E94D7 -:10400000DB4B7B018C0122E534E04EE454E06AE4B2 -:1040100074E086E494E00E947C2D0E94B63F1092EA -:104020009702109298021092990210929A0210929E -:104030004E0410924F0410925004109251041092AA -:1040400014011092150110921601109217010E948E -:104050006F390C946B120E94C90A0E94434C8B0169 -:10406000ECE1F2E00C94861443D16B017C010C94DA -:1040700072173ED160935B0470935C0480935D047F -:1040800090935E0435D160933E0470933F04809317 -:1040900040049093410404CD2BD1681979098A0911 -:1040A0009B09693E73408105910510F00C947616CA -:1040B0000C94F6160E94B63F5A980E942340F0CC0A -:1040C0000E94B63F88E50E94DD0A81111CC81CC809 -:1040D000E62FF0E0EE0FFF1FE655F54F808191814E -:1040E0000E94164169A37AA38BA39CA360915F04ED -:1040F000E62FF0E0EE0FFF1FE255F54F8081918132 -:104100000E94164120E030E040E85FE30E94FB4A55 -:104110009B01AC0169A17AA18BA19CA10E94D44B07 -:1041200018160CF0A1CF0C947217A6960FB6F8943F -:10413000DEBF0FBECDBFDF91CF911F910F91FF90DA -:10414000EF90DF90CF90BF90AF909F908F907F9037 -:104150006F905F904F903F902F9008958091A602AE -:104160009091A702039714F40E94420B8091A6023B -:104170009091A702892BC1F00E949B108091A6020A -:104180009091A70201979093A7028093A602809135 -:104190002E0490912F04019664E070E00E948E4FEF -:1041A00090932F0480932E040E94E24181E00E94AC -:1041B00038100C94B3380E94BB4480918002811166 -:1041C00034C081E08093800280913A0490913B0456 -:1041D000A0913C04B0913D048093640490936504E5 -:1041E000A0936604B0936704E5E7F1E007C09091FF -:1041F000C00095FFFCCF8093C60031968491811159 -:10420000F6CFEFECF3E007C09091C00095FFFCCF34 -:104210008093C600319684918111F6CF8091C000C1 -:1042200085FFFCCF8AE08093C600089580918002CC -:104230000895E82FF0E0E95BFB4FE491E650E230AF -:1042400060F48091B1008C7F8093B1008091B100C7 -:1042500067707727862B8093B10008959FD00E94C6 -:104260002D097CDFFECF1F920F920FB60F92112403 -:104270002F933F938F939F93AF93BF938091780435 -:1042800090917904A0917A04B0917B0430918004DC -:10429000232F2A592D3720F02D570196A11DB11D2E -:1042A000209380048093780490937904A0937A04F7 -:1042B000B0937B0480917C0490917D04A0917E0456 -:1042C000B0917F040196A11DB11D80937C04909351 -:1042D0007D04A0937E04B0937F04BF91AF919F9122 -:1042E0008F913F912F910F900FBE0F901F901895B7 -:1042F0000F931F938FB7F89400917804109179046D -:1043000020917A0430917B048FBFB801C9011F91BD -:104310000F9108959FB7F89440917C0450917D04CB -:1043200060917E0470917F0486B5A89B06C08F3F84 -:1043300021F04F5F5F4F6F4F7F4F9FBF2227342F7A -:10434000452F562F280F311D411D511DA3E0B0E010 -:104350000C946F4FCF92DF92EF92FF92CF93DF9347 -:104360006B017C01D7DFEB010DC0D4DF6C1B7D0B33 -:10437000683E734038F081E0C81AD108E108F108BE -:10438000C851DC4FC114D104E104F10471F7DF918D -:10439000CF91FF90EF90DF90CF900895789484B5FF -:1043A000826084BD84B5816084BD85B5826085BD31 -:1043B00085B5816085BDEEE6F0E080818160808317 -:1043C000E1E8F0E0108280818260808380818160FA -:1043D0008083E0E8F0E0808181608083E1EBF0E0C1 -:1043E000808184608083E0EBF0E080818160808365 -:1043F000EAE7F0E08081846080838081826080834E -:104400008081816080838081806880831092C10078 -:1044100008951F93CF93DF93182FEB0161E082D0B3 -:10442000209711F460E004C0CF3FD10531F461E082 -:10443000812FDF91CF911F9191C0E12FF0E0E95BD7 -:10444000FB4FE491E330B9F028F4E13051F0E23071 -:10445000B1F50CC0E63019F1E73049F1E43079F5F7 -:1044600014C084B5806884BDC7BD2EC084B5806289 -:1044700084BDC8BD29C08091800080688093800081 -:10448000D0938900C09388001FC080918000806213 -:1044900080938000D0938B00C0938A0015C08091D8 -:1044A000B00080688093B000C093B3000DC08091CD -:1044B000B00080628093B000C093B40005C0C038E3 -:1044C000D1050CF0B4CFAECFDF91CF911F910895FD -:1044D000833069F028F48130A1F0823011F514C0E6 -:1044E0008630B1F08730C1F08430D9F404C08091B7 -:1044F00080008F7703C0809180008F7D8093800043 -:10450000089584B58F7702C084B58F7D84BD0895EA -:104510008091B0008F7703C08091B0008F7D809331 -:10452000B000089590E0FC01E959FB4F2491FC0193 -:10453000E957FB4FE491EE2381F0F0E0E455FB4FA7 -:10454000A491B0E09FB7F8948C91611103C02095BD -:10455000822301C0822B8C939FBF08950F931F93DA -:10456000CF93DF931F92CDB7DEB7A82FB0E0FD0148 -:10457000E95BFB4F8491FD01E959FB4F1491FD016B -:10458000E957FB4F04910023B1F0882319F06983A8 -:104590009FDF6981E02FF0E0E955FB4FA491B0E087 -:1045A0009FB7F8948C91611103C01095812301C0CD -:1045B000812B8C939FBF0F90DF91CF911F910F9113 -:1045C00008951F920F920FB60F9211242F933F93CD -:1045D0004F935F936F938F939F93EF93FF936091AC -:1045E000C6002091020530910305C90101968F771D -:1045F000992740910405509105058417950741F0CE -:10460000F901EE57FB4F60839093030580930205F9 -:10461000FF91EF919F918F916F915F914F913F919A -:104620002F910F900FBE0F901F9018959A01AB011C -:1046300082E08093C00060E47BE48CE490E00E9420 -:10464000C34F2150310941095109CA01B90122E082 -:1046500030E040E050E00E94C34F832F99278093C1 -:10466000C5002093C400E1ECF0E08081806180838C -:1046700080818860808380818068808308958091B4 -:104680000405909105052091020530910305281736 -:10469000390769F0FC01EE57FB4F208101968F77B7 -:1046A0009927909305058093040530E002C02FEF11 -:1046B0003FEFC901089580910405909105059093FD -:1046C00003058093020508956F927F928F929F92C7 -:1046D000AF92BF92CF92DF92EF92FF920F931F9310 -:1046E000CF93DF93CDB7DEB7A0970FB6F894DEBFB8 -:1046F0000FBECDBF8C014115510561057105C1F497 -:1047000040E050E060E3A0960FB6F894DEBF0FBE25 -:10471000CDBFDF91CF911F910F91FF90EF90DF9070 -:10472000CF90BF90AF909F908F907F906F90ABC0D5 -:1047300066246394712C6C0E7D1EC12CD12C7601E5 -:10474000822E912CA12CB12CCB01BA01A501940190 -:104750000E94A14FFA01D3016D933D01BFEFCB1A27 -:10476000DB0AEB0AFB0AA901BF01411551056105EE -:10477000710551F781E0C81AD108E108F10815C0A8 -:10478000E1E0F0E0EC0FFD1FEC0DFD1D60816A30F3 -:1047900010F4605D01C0695C40E050E0C80173D076 -:1047A000A1E0CA1AD108E108F108BFEFCB16DB0679 -:1047B000EB06FB0629F7A0960FB6F894DEBF0FBEF6 -:1047C000CDBFDF91CF911F910F91FF90EF90DF90C0 -:1047D000CF90BF90AF909F908F907F906F900895F3 -:1047E0002115310539F48091C00085FFFCCF40933D -:1047F000C600089569CF9A01AB0160E070E0F0CF88 -:104800009A01462F50E060E070E0EACFCF92DF924D -:10481000EF92FF92CF93DF93EC016A017B012115A8 -:10482000310539F48091C00085FFFCCFC092C600ED -:104830001CC02A30310579F477FF0CC040E050E00D -:104840006DE221D0F094E094D094C094C11CD11CAE -:10485000E11CF11C2AE0B701A601CE01DF91CF9146 -:10486000FF90EF90DF90CF902FCFDF91CF91FF900F -:10487000EF90DF90CF9008959A01AB01662757FD26 -:104880006095762FC3CF9A01462F50E060E070E02C -:10489000BDCFCF93DF93EC0140E050E06DE0F3DF5C -:1048A00040E050E06AE0CE01DF91CF91ECCFCF93B2 -:1048B000DF93EC01A0DFCE01DF91CF91EACF8F92A1 -:1048C0009F92AF92BF92CF92DF92EF92FF920F939F -:1048D0001F93CF93DF938C014A015B01C22F20E02D -:1048E00030E0A901C501B4010E94D44B87FF09C083 -:1048F00040E050E06DE2C801C6DFB7FAB094B7F807 -:10490000B094D0E060E070E080E09FE307C020E07A -:1049100030E040E251E40E94DB4BDF5FDC13F7CF75 -:10492000262F372F482F592FC501B4010E94FB4A6B -:10493000D62EE72EF82ED92F0E94484C962EA72E61 -:10494000B82EC92E0E94744C9B01AC016D2D7E2D9A -:104950008F2D9D2F0E94FA4AD62FF72EE82ED92EA2 -:104960002AE030E0492D5A2D6B2D7C2DC80138DF0F -:10497000CC23B1F1E6E5F2E006C09091C00095FFCE -:10498000FCCF8093C60081918111F7CF29C020E030 -:1049900030E040E251E46D2F7F2D8E2D9D2D0E9441 -:1049A000A94E6B017C017D2D9F2D0E94434C5B0124 -:1049B0004AE050E0C80160DFB501882777FD8095A7 -:1049C000982F0E94764C9B01AC016C2D7D2D8E2D75 -:1049D0009F2D0E94FA4AD62FF72EE82ED92EC150CD -:1049E000C111D5CFDF91CF911F910F91FF90EF9023 -:1049F000DF90CF90BF90AF909F908F9008955FCF42 -:104A00002F923F924F925F926F927F928F929F92DE -:104A1000AF92BF92CF92DF92EF92FF920F931F93CC -:104A2000CF93DF93CDB7DEB7CA54D1090FB6F89450 -:104A3000DEBF0FBECDBF1C017E8B6D8B3A012BA359 -:104A40000EA3E8A6AEAABFAAC8AED9AE34E0239F93 -:104A500080011124400F511F5BAB4AABDA018D90EE -:104A60009D90AD90BC90FC01E00FF11F2081318141 -:104A700042815381C501B4010E94FB4A6AAF7BAFFA -:104A80008CAF9DAFEEA1B4E0EB9F700111249301B8 -:104A90002E0D3F1D3DAB2CABD9014D905D906D901F -:104AA0007C90F101EE0DFF1D208131814281538107 -:104AB000C301B2010E94FB4A6EAF7FAF21968FAF58 -:104AC000219722969FAF2297E8A5B4E0EB9FC00103 -:104AD0001124F101E80FF91F2081318142815381B6 -:104AE0002B8F3C8F4D8F5E8FED89FE89E80FF91F6C -:104AF00060817181828193810E94FA4A462F572FEB -:104B0000682F792F498B5A8B6B8B7C8BAD89BE8933 -:104B10001C968D919D910D90BC91A02D8AA79BA76D -:104B2000ACA7BDA7D1011C962D913D914D915C91F3 -:104B30001F972F8F38A349A35AA3B7FAB094B7F899 -:104B4000B09477FA709477F87094ED89FE89E00F4D -:104B5000F11F7AAD6BAD9CAD8DAD272F362F492F50 -:104B6000582F60817181828193810E94FA4A6F8BF4 -:104B7000788F898F9DA3ED89FE89EE0DFF1D7EAD97 -:104B80006FAD21969FAD219722968FAD2297272F4B -:104B9000362F492F582F60817181828193810E9425 -:104BA000FA4A162F072F382E292E7F89688D998D66 -:104BB0008DA1272F362F492F582FC501B4010E94F0 -:104BC000A94E6B017C01B801C101272F362F492F57 -:104BD000582FC301B2010E94A94E9B01AC01C7012D -:104BE000B6010E94FB4A6B017C01B801C101272F6D -:104BF000362F492F582FC501B4010E94A94E6EA728 -:104C00007FA788AB99AB7F89688D998D8DA1272F60 -:104C1000362F492F582FC301B2010E94A94E9B0184 -:104C2000AC016EA57FA588A999A90E94FA4AA7019F -:104C300096010E946E4B362E272E182F092F20E04A -:104C400030E0A901D101F8016B2F7A2F8F2F9E2F11 -:104C50000E94D44B87FF10C02BED3FE049EC50E49D -:104C6000D101F8016B2F7A2F8F2F9E2F0E94FB4AC4 -:104C7000362E272E182F092FA4968FADA4978823A0 -:104C800081F02BED3FE049EC50E4D101F8016B2FAE -:104C9000722D8F2F902F0E94FA4A362E272E182F12 -:104CA000092FC988DA88EB88FC88E894F7F8A3967E -:104CB0002CAD3DAD4EAD5FADA397D101F8016B2F8B -:104CC000722D8F2F902F0E94A94EA70196010E944E -:104CD000E44D6B017C012FE632E143E85AE30E9488 -:104CE000D44B87FD79C2C701B6010E94B14C0E9426 -:104CF000484C7A8F698FFB01EF2B21F421E030E0E3 -:104D00003A8F298F498D5A8DBA0180E090E00E9438 -:104D1000744C6B017C019B01AC01D101F8016B2F3C -:104D2000722D8F2F902F0E94DB4B6F8B788F1C0181 -:104D3000A701960169897A898B899C890E94DB4B3E -:104D400024966FAF249725967FAF259726968FAF31 -:104D5000269727969FAF27972F8D38A149A15AA153 -:104D60006AA57BA58CA59DA50E94FA4AA70196017C -:104D70000E94DB4B28966FAF289729967FAF299723 -:104D80002A968FAF2A972B969FAF2B9720E030E083 -:104D900040E05FE3BF89A88D6B2F7A2F822D932D82 -:104DA0000E94A94EBF89A88D2B2F3A2F422D532D3B -:104DB0000E94A94E9B01AC0160E070E080E89FE397 -:104DC0000E94FA4A6DA37AA78EA723969FAF2397D6 -:104DD000CE010196FC01A8A554E0A59FE00DF11DB0 -:104DE00011242B8D3C8D4D8D5E8D2083318342832C -:104DF00053832F8D38A149A15AA12D873E874F8714 -:104E0000588B198A41E050E05C8F4B8F81E090E035 -:104E10008C0F9D1FBBA1A4E0BA9F800D911D112492 -:104E200099A788A721E030E02C0F3D1F5EA144E048 -:104E3000549F200D311D11243FA32EA3FCA3EBA3EF -:104E4000ABC1898989310CF050C07F89688D272FCB -:104E5000362F422D532DC501B4010E94A94E6B017E -:104E60007C017DA16AA59EA523968FAD2397272F50 -:104E7000362F492F582FC301B2010E94A94E9B0122 -:104E8000AC01C701B6010E94FB4A7B018C017DA1E8 -:104E90006AA59EA523968FAD2397272F362F492FDE -:104EA000582FC501B4010E94A94E5B016C017F8996 -:104EB000688D272F362F422D532DC301B2010E943A -:104EC000A94E9B01AC016A2D7B2D8C2D9D2D0E943E -:104ED000FA4A862E972EA82EB92E99899F5F998B14 -:104EE0004E2C5F2C602E712E72C0AB8DBC8DBD011F -:104EF00080E090E00E94744CBF89A88D2B2F3A2F40 -:104F0000422D532D0E94A94E7B018C017F2D802FB5 -:104F1000912F0E94D84B2B013C016E2D7F2D802FAD -:104F2000912F0E940C4F698B7A8B8B8B9C8BEAA9FB -:104F3000FBA980819181A281B3819C01AD01505870 -:104F40002F8F38A349A35AA3ACA9BDA9CD90DD905A -:104F5000ED90FC90A30192016F8D78A189A19AA197 -:104F60000E94A94E4B015C0129893A894B895C89D1 -:104F7000C701B6010E94A94E9B01AC01C501B40155 -:104F80000E94FB4A862E972EA82EB92E29893A898F -:104F90004B895C896F8D78A189A19AA10E94A94E45 -:104FA000698B7A8B8B8B9C8BA3019201C701B60115 -:104FB0000E94A94E9B01AC0169897A898B899C89E1 -:104FC0000E94FA4A462E572E682E792E198AA5017C -:104FD0009401BAADABADFCADEDAD6B2F7A2F8F2F39 -:104FE0009E2F0E94FB4AE8A5F9A560837183828306 -:104FF0009383A3019201BEADAFAD2196FFAD219782 -:105000002296EFAD22976B2F7A2F8F2F9E2F0E9423 -:10501000FB4AAEA1BFA16D937D938D939C93139793 -:1050200024967FAD249725966FAD259726969FAD44 -:10503000269727968FAD2797272F362F492F582F42 -:10504000EBA1FCA160817181828193810E94FB4A66 -:10505000ABA1BCA16D937D938D939C9313972896E0 -:105060007FAD289729966FAD29972A969FAD2A97ED -:105070002B968FAD2B97272F362F492F582F6D85C5 -:105080007E858F8598890E94FB4A6D877E878F87F2 -:10509000988B20E030E0A90169817A818B819C8125 -:1050A0000E94D44B87FF04C019821A821B821C8283 -:1050B00020E030E0A9016D817E818F8198850E947A -:1050C000D44B87FF04C01D821E821F82188620E0F9 -:1050D00030E0A90169857A858B859C850E94D44B37 -:1050E00087FF04C019861A861B861C8620E030E0E4 -:1050F0004DE453E469817A818B819C810E94D74D74 -:10510000181644F480E090E0ADE4B3E489839A8318 -:10511000AB83BC8320E030E04DE453E46D817E81BD -:105120008F8198850E94D74D181644F480E090E056 -:10513000ADE4B3E48D839E83AF83B88720E030E095 -:1051400040EF52E469857A858B859C850E94D74D16 -:10515000181644F480E090E0A0EFB2E489879A87C3 -:10516000AB87BC8794E6C92ED12CCC0EDD1EEEA8F1 -:10517000FFA808AD19AD9E01235F3F4FAE01475F09 -:105180005F4FBE016B5F7F4FCE010196B5D4EB8DB3 -:10519000FC8D3196FC8FEB8F2B8D3C8D498D5A8D7C -:1051A0002417350708F44DCE2D893E89245F3F4FE3 -:1051B0004D895E89485F5F4F6D897E896C5F7F4F47 -:1051C00084E6C82ED12CCC0EDD1EEEA8FFA808ADBB -:1051D00019AD8D899E8990D4C65BDF4F0FB6F894C8 -:1051E000DEBF0FBECDBFDF91CF911F910F91FF901A -:1051F000EF90DF90CF90BF90AF909F908F907F9077 -:105200006F905F904F903F902F9008958F5F803107 -:1052100009F480E008952F923F924F925F926F922F -:105220007F928F929F92AF92BF92CF92DF92EF9236 -:10523000FF920F931F93CF93DF93CDB7DEB768979D -:105240000FB6F894DEBF0FBECDBF1C014A015B0153 -:1052500068017901DC01D8966D917D918D919C91C9 -:10526000DB970E94744C69837A838B839C83A501AE -:1052700094010E94A94E0E94C14B0E94484C6D832C -:105280007E838F839887A701960169817A818B81BC -:105290009C810E94A94E0E94C14B0E94484C698784 -:1052A0007A878B879C872D813E814F81588528374F -:1052B00031054105510540F488E790E0A0E0B0E0F9 -:1052C0008D839E83AF83B88729853A854B855C851E -:1052D000283731054105510540F488E790E0A0E00A -:1052E000B0E089879A87AB87BC87F101EC5BFF4F01 -:1052F0004080518062807380C301B2010E94764C6D -:105300006B017C01D101DC966D917D918D919C9119 -:10531000DF970E94744C6D877E878F87988B20E083 -:1053200030E0A901C701B6010E94D44B882339F1AE -:1053300029813A814B815C81CA01B9010E94A94E41 -:105340004B015C012D853E854F855889CA01B90105 -:105350000E94A94E9B01AC01C501B4010E94FA4A0A -:105360004B015C01A7019601C701B6010E94FB4AEF -:105370009B01AC01C501B4010E94DB4B04C060E09D -:1053800070E080E090E00E94C14B0E94434C4B01D2 -:105390005C0166277727CB0164197509860997098F -:1053A0000E94764C2B013C01F101E05CFF4F6081D3 -:1053B0007181828193810E94744C698B7A8B8B8B73 -:1053C0009C8B20E030E0A901C301B2010E94D44BC4 -:1053D000882379F129893A894B895C89CA01B90105 -:1053E0000E94A94E6D8B7E8B8F8B988F29813A817D -:1053F0004B815C81CA01B9010E94A94E9B01AC019D -:105400006D897E898F89988D0E94FA4A69837A8393 -:105410008B839C83A3019201C301B2010E94FB4ACA -:105420009B01AC0169817A818B819C810E94DB4B5D -:1054300004C060E070E080E090E00E94B14CD101D7 -:1054400050962D913D914D915C91539729833A83CC -:105450004B835C8329013A01481859086A087B0884 -:105460000E94434C461A570A680A790A77FE6CC0B4 -:1054700020E030E0A901C701B6010E94D44B882387 -:1054800009F445C0A7019601C701B6010E94FB4A75 -:105490002B013C0169817A818B819C810E94744C33 -:1054A0009B01AC01C301B2010E94A94E2B013C013A -:1054B0002D853E854F855889CA01B9010E94A94EA4 -:1054C0009B01AC01C301B2010E94FA4A2B013C01CD -:1054D00029893A894B895C89CA01B9010E94A94E80 -:1054E0009B01AC01C301B2010E94FB4A4B015C016C -:1054F00020E030E040E850E4C701B6010E94A94E28 -:105500009B01AC01C501B4010E94DB4B04C060E00B -:1055100070E080E090E00E94C14B0E94434C4B0140 -:105520005C01B7FE03C0812C912C540129813A8182 -:105530004B815C8182169306A406B50610F04901E2 -:105540005A01412C512C32018FB7F894F101E45BE0 -:10555000FF4F9081911125C0D10154968D929D925B -:10556000AD92BC925797480C591C6A1C7B1CF101E8 -:10557000408E518E628E738E2D813E814F81588573 -:10558000DC962D933D934D935C93DF97A05CBF4FCA -:1055900029853A854B855C852D933D934D935C938E -:1055A00013978FBF68960FB6F894DEBF0FBECDBFBE -:1055B000DF91CF911F910F91FF90EF90DF90CF90EF -:1055C000BF90AF909F908F907F906F905F904F9023 -:1055D0003F902F900895AF92BF92CF92DF92EF92BB -:1055E000FF920F931F93CF93DF935B017A016115B5 -:1055F000710509F475C04115510509F471C0FB012D -:1056000002A513A5D4A5C5A5CE01202F312F492F62 -:10561000582F66A177A180A591A50E94D44B88231D -:1056200009F45EC0F50187A981114BC0F701C6A03E -:10563000D7A0E0A4F1A4A7019601DE01602F712F8D -:105640008B2F9A2F0E94D74D1816DCF5A7019601D3 -:10565000C701B6010E94A94E6B017C01F50182A928 -:1056600093A9A4A9B5A9BC01CD0190589B01AC0197 -:105670000E94FB4AF50126A537A540A951A90E9421 -:10568000A94E9B01AC01C701B6010E94FA4A0E94D3 -:10569000164F6B017C01762F272F3D2D4E2D5F2D50 -:1056A000FE01602F712F8F2F9E2F0E94D44B87FFFA -:1056B00003C06801ED2EFC2E5C2D4D2D3E2D2F2DAF -:1056C00003C0502F412F9E01852F942FA32FB22F5F -:1056D000F50186A397A3A0A7B1A781E0F50186AB4A -:1056E000DF91CF911F910F91FF90EF90DF90CF90BE -:1056F000BF90AF900895CF92DF92FF920F931F93C8 -:10570000CF93DF931F92CDB7DEB7809108058091CC -:1057100008052091070590E0821B91098F70992759 -:1057200004970CF12091080523502F7040E050E0C1 -:1057300000E010E08DE4F82E12C0211101C020E13C -:105740002150F29E6001112489E095E0C80ED91E17 -:10575000B801C60129833FDFA80186012981809114 -:1057600007052813EACF0F90DF91CF911F910F917A -:10577000FF90DF90CF9008952F923F924F925F92CB -:105780006F927F928F929F92AF92BF92CF92DF9251 -:10579000EF92FF920F931F93CF93DF93EC011B01C6 -:1057A000009709F464C08FA9811161C08EA09FA0E9 -:1057B000A8A4B9A4FB01C6A0D7A0E0A4F1A42C2DF5 -:1057C0003D2D4E2D5F2DC501B4010E94D44B87FFA6 -:1057D0004EC0A5019401C501B4010E94A94E2B0140 -:1057E0003C018AA89BA8ACA8BDA8C501B4019058EB -:1057F0009B01AC010E94FB4A2EA53FA548A959A9CF -:105800000E94A94E9B01AC01C301B2010E94FA4A59 -:105810000E94164F8B01D82FC92F762FCE01272F2C -:10582000312F492F582F6C2D7D2D8E2D9F2D0E94AD -:10583000D44B87FF03C08601DE2DCF2DCE01202F54 -:10584000312F492F5C2F6C2D7D2D8E2D9F2D0E9489 -:10585000D44B882361F09E01802F912FA32FBC2F62 -:10586000F10186A397A3A0A7B1A781E086ABDF9142 -:10587000CF911F910F91FF90EF90DF90CF90BF904D -:10588000AF909F908F907F906F905F904F903F90E0 -:105890002F900895EF92FF920F931F93CF93DF9372 -:1058A000F0900705C0E0D0E080E090E02DE4E22E2B -:1058B0000DC0EF9C80011124075F1A4FA801BE01A3 -:1058C0005BDF8F2DA3DCF82ECE01E80120910805C7 -:1058D000F212EFCF40E050E0BE01DF91CF911F9177 -:1058E0000F91FF90EF9048CF4F925F926F927F920F -:1058F0008F929F92AF92BF92CF92DF92EF92FF92E0 -:105900000F931F93CF93DF9350900705C0E0D0E033 -:105910003DE4432E34C0429E3001439E700C11245E -:1059200089E095E0680E791E209729F18EA98111F2 -:1059300004C0F30186A98823F1F0CAA0DBA0ECA083 -:10594000FDA0A7019601F30166A177A180A591A50D -:105950000E94DB4B4B015C01A70196016EA17FA168 -:1059600088A599A50E94DB4BAB01BC019501840180 -:10597000CE0151DC1EAA852D49DC582EE301252DD0 -:10598000332727FD30958091080590E028173907C7 -:1059900009F0C1CF2097E9F0CAA0DBA0ECA0FDA0E0 -:1059A000A70196016DEC7CEC8CE49DE30E94DB4B3F -:1059B0004B015C01A70196016EA17FA188A599A565 -:1059C0000E94DB4BAB01BC0195018401CE0123DCBD -:1059D0001EAADF91CF911F910F91FF90EF90DF9062 -:1059E000CF90BF90AF909F908F907F906F905F907F -:1059F0004F90089580DE4EDF77CF10920805109209 -:105A0000070580E1E9EDF9E0DF011D928A95E9F7EC -:105A10001092490A10924A0A10924B0A10924C0AAC -:105A200010924D0A10924E0A10924F0A1092500A8C -:105A30001092510A1092520A1092530A1092540A6C -:105A40001092550A1092560A1092570A1092580A4C -:105A50001092590A10925A0A10925B0A10925C0A2C -:105A60000895CF939091070580910805981709F143 -:105A7000209107058DE4289FF0011124EF5AFA4F79 -:105A8000C08130E04DE410C0429FF0011124EF5A74 -:105A9000FA4F80819181A281B381892B8A2B8B2B34 -:105AA00009F03F5F2F5F2F70809108052813ECCF1E -:105AB0000AC060918102662321F070E08EE00E94AE -:105AC0000922C0E030E080918102811107C03111CC -:105AD00005C060E070E08EE00E94092280918102A2 -:105AE000882341F0CC2331F06C2F70E08EE0CF9111 -:105AF0000C940922CF9108952F923F924F925F927A -:105B00006F927F928F929F92AF92BF92CF92DF92CD -:105B1000EF92FF920F931F93CF93DF93CDB7DEB732 -:105B2000CD56D1090FB6F894DEBF0FBECDBF2C0104 -:105B30003B014A015901EFA6FBAA0CAB19AFDEAE3F -:105B4000CDAE8091080562DBAA968FAFAA97082F89 -:105B5000112707FD109505C00E94E24181E00E94D7 -:105B600038108091070590E080179107A9F32091E4 -:105B7000250A3091260A4091270A5091280AD2011D -:105B80006D917D918D919C910E94A94E0E94794EBC -:105B900060966FAF609761967FAF619762968FAFA7 -:105BA000629763969FAF63972091290A30912A0AE2 -:105BB00040912B0A50912C0AF301608171818281FE -:105BC00093810E94A94E0E94794E64966FAF6497AC -:105BD00065967FAF659766968FAF669767969FAF1E -:105BE000679720912D0A30912E0A40912F0A5091EB -:105BF000300AD4016D917D918D919C910E94A94EA6 -:105C00000E94794E68966FAF689769967FAF6997E3 -:105C10006A968FAF6A976B969FAF6B972091310A08 -:105C20003091320A4091330A5091340AF501608173 -:105C30007181828193810E94A94E0E94794E2296A1 -:105C40006FAF229723967FAF239724968FAF249729 -:105C500025969FAF25978091E5099091E609A0913F -:105C6000E709B091E80925962CAD3DAD4EAD5FAD8D -:105C70002597281739074A075B07C1F1609182020F -:105C8000E62FF0E0EE0FFF1FE655F54F8081918182 -:105C90000E94164120E030E046E153E40E94D44BDC -:105CA00087FF24C080910605811120C00C94D03755 -:105CB0009091C00095FFFCCF8093C60031968491EF -:105CC0008111F6CFE7EBF4E007C09091C00095FF9B -:105CD000FCCF8093C600319684918111F6CF8091DC -:105CE000C00085FFFCCF8AE08093C6008091E50963 -:105CF0009091E609A091E709B091E80925962CADAD -:105D00003DAD4EAD5FAD2597281B390B4A0B5B0BA4 -:105D1000CA01B90157FF07C09095809570956195AC -:105D20007F4F8F4F9F4F0E94764C4B015C0120E0CC -:105D300030E04DEC53E46091310A7091320A809169 -:105D4000330A9091340A0E94A94E9B01AC01C5010F -:105D5000B4010E94D74D18167CF525968CAD9DADEB -:105D6000AEADBFAD25978093E5099093E609A0936A -:105D7000E709B093E809E1EBF4E007C09091C000B7 -:105D800095FFFCCF8093C600319684918111F6CFA8 -:105D9000E1EDF4E007C09091C00095FFFCCF809347 -:105DA000C600319684918111F6CF8091C00085FFA5 -:105DB000FCCF8AE08093C600809108059DE4899F0E -:105DC00010011124A9E0B5E02A0E3B1EF101E45BAD -:105DD000FF4F10822091D9093091DA094091DB09F7 -:105DE0005091DC092BA33CA34DA35EA363964CAC5E -:105DF0005DAC6EAC7FAC6397421A530A640A750AB5 -:105E000077FE08C07094609450944094411C511CDB -:105E1000611C711CD1014D925D926D927C92139721 -:105E20002091DD093091DE094091DF095091E009B0 -:105E30002FA338A749A75AA767968CAC9DACAEACE8 -:105E4000BFAC6797821A930AA40AB50AB7FE08C0C6 -:105E5000B094A09490948094811C911CA11CB11CBE -:105E6000D10114968D929D92AD92BC92179720917C -:105E7000E1093091E2094091E3095091E4092BA72F -:105E80003CA74DA75EA76B964CAD5DAD6EAD7FADEB -:105E90006B978BA59CA5ADA5BEA5481B590B6A0B9E -:105EA0007B0B77FF07C070956095509541955F4FCC -:105EB0006F4F7F4F142F052F26966FAF26977DAB20 -:105EC000D10118964C93189719965C9319971A96C6 -:105ED0006C931A971B967C93C090E509D090E609C5 -:105EE000E090E709F090E809A0910001B09101016C -:105EF00025962CAD3DAD4EAD5FAD25972C193D09D6 -:105F00004E095F0957FF07C0509540953095219580 -:105F10003F4F4F4F5F4F0E94794F24E630E040E003 -:105F200050E00E94C34FF101248735874687578789 -:105F3000812F902F2696AFAD2697BDA9881599057C -:105F4000AA05BB0514F4D501C40182179307A40761 -:105F5000B50714F4DA01C901930182014816590604 -:105F60006A067B0614F48C019D01D10150960D93B5 -:105F70001D932D933C935397063011052105310550 -:105F800010F40C94E237F101E85BFF4F809181023D -:105F900090E0A0E0B0E080839183A283B383639616 -:105FA0002CAD3DAD4EAD5FAD63978BA19CA1ADA176 -:105FB000BEA1281739074A075B0724F0D101909644 -:105FC0001C9203C081E0F10180A367962CAD3DAD2A -:105FD0004EAD5FAD67978FA198A5A9A5BAA5281763 -:105FE00039074A075B073CF4D10190968C91909752 -:105FF000826090968C936B962CAD3DAD4EAD5FADAF -:106000006B978BA59CA5ADA5BEA5281739074A0798 -:106010005B073CF4D10190968C91909784609096A8 -:106020008C9325962CAD3DAD4EAD5FAD25972C15CF -:106030003D054E055F053CF4D10190968C919097FB -:10604000886090968C93EDADFEAD8081D1019196E4 -:106050008C9345284628472809F05A9AF1018481F3 -:106060009581A681B781892B8A2B8B2B09F05A9AAF -:10607000F10180859185A285B385892B8A2B8B2B95 -:1060800009F05A9AF10184859585A685B785892BF3 -:106090008A2B8B2B09F05A9AD1011C962D913D9198 -:1060A0004D915C911F972F962CAF3DAF4EAF5FAFD8 -:1060B0002F97232B242B252BE9F44090F90950909E -:1060C000FA096090FB097090FC09242D352D462DAE -:1060D000572DBFA5ABA9FCA9E9AD6B2F7A2F8F2F48 -:1060E0009E2F0E94D44B87FD0EC04FA45BA86CA8C6 -:1060F00079AC09C04090110A5090120A6090130ABE -:106100007090140AE2CF63966CAD7DAD8EAD9FADFD -:1061100063972BA13CA14DA15EA1621B730B840B65 -:10612000950B0E94764C2091250A3091260A4091C9 -:10613000270A5091280A0E94DB4B6BA37FA78BABE9 -:106140009CAB362F272F982F8CA9432F522F692FC6 -:10615000782F498B5A8B6B8B7C8B67966CAD7DADA2 -:106160008EAD9FAD67972FA138A549A55AA5621B93 -:10617000730B840B950B0E94764C2091290A309169 -:106180002A0A40912B0A50912C0A0E94DB4B162FB1 -:10619000072F8FA399AF9801982F89AD432F522FC6 -:1061A000692F782F4D8B5E8B6F8B788F6B966CADD4 -:1061B0007DAD8EAD9FAD6B972BA53CA54DA55EA586 -:1061C000621B730B840B950B0E94764C20912D0A59 -:1061D00030912E0A40912F0A5091300A0E94DB4BD9 -:1061E0006BA77DAF26968FAF26979DAB362F272FB7 -:1061F000982F8DA9432F522F692F782F498F5A8FAF -:106200006B8F7C8FA0900001B090010125966CAD42 -:106210007DAD8EAD9FAD25976C197D098E099F09C7 -:106220000E94764C2091310A3091320A4091330A13 -:106230005091340A0E94DB4B6B017C01B501882729 -:1062400077FD8095982F0E94764C9B01AC01C70189 -:10625000B6010E94A94E20E030E048EC52E40E94D2 -:10626000DB4B462F572F682F792FDB01CA014D8F4B -:106270005E8F6F8F78A3F10180809180A280B380C0 -:10628000F6E08F169104A104B104DCF4F10144811D -:1062900055816681778146305105610571058CF421 -:1062A00040855185628573854630510561057105CC -:1062B00044F4AC01BD017F7746A757A760AB71AB33 -:1062C0003CC05BA14FA53BA92CA9652F742F832F40 -:1062D000922F0E94544F6B017C01A8013FA129AD70 -:1062E000652F702F832F922F0E94544F9B01AC017A -:1062F000C701B6010E94FB4A162F072FF82EE92E80 -:106300005BA54DAD26963FAD26972DA9652F742F21 -:10631000832F922F0E94544F9B01AC01D801F701AB -:106320006B2F7A2F8F2F9E2F0E94FB4A0E94164FB1 -:10633000F10166A777A780AB91ABD1019E962D9115 -:106340003D914D915C91D19729962CAF3DAF4EAFC9 -:106350005FAF299760E070E080E89FE30E94DB4B2D -:106360009B01AC01642D752D862D972D0E94A94EA1 -:106370006FA77BAB8CAB9DAF909108058091070513 -:10638000E92FF0E0E81BF109EF70FF27FAAFE9AF62 -:10639000762F6BA99CA98DAD272F362F492F582F0B -:1063A00060E074E284E799E40E94DB4B0E94794E3E -:1063B0006BA37FA38C0129AD3AAD223031050CF4DB -:1063C0004BC06901EE24D7FCE094FE2CC701B60156 -:1063D0000E94764C20E030E040E051E40E94D44B33 -:1063E00087FF3AC04BA05FA038018091450A909189 -:1063F000460AA091470AB091480A481659066A060B -:106400007B0650F5BC01CD01641975098609970911 -:10641000660F771F881F991FA70196010E94A14F41 -:10642000CA01B9010E94744C0E94794EAB01BC01B3 -:10643000CB01BA01640D751D861D971D0E94744C19 -:106440009B01AC0160E074E284E799E40E94DB4BBD -:106450006FA77BAB8CAB9DAF7FA56BA99CA98DADC6 -:10646000272F362F492F582F29966CAD7DAD8EAD35 -:106470009FAD29970E94A94EA6966FAFA697A796A3 -:106480007FAFA797A8968FAFA897A9969FAFA99718 -:10649000362F272F982FA9968FADA997432F522FCC -:1064A000692F782FD10192964D935D936D937C93D4 -:1064B000959750966D917D918D919C9153970E94E7 -:1064C000744C6B017C017FA56BA99CA98DAD272F16 -:1064D000362F492F582FC701B6010E94A94E0E949E -:1064E000C14B0E94484C6F966CAF7DAF8EAF9FAF93 -:1064F0006F97F10160AF71AF82AF93AF9E012F5ED6 -:106500003F4F3EAB2DABAE014F5F5F4F5CA74BA73C -:1065100085E39AE0A5969FAF8EAFA597DE01919691 -:10652000BAA3A9A32B965FAF4EAF2B971BA21FA2B6 -:1065300000E81FE3EDA9FEA961917191819191910C -:10654000FEABEDABBFA5ABA9FCA9EDAD2B2F3A2F50 -:106550004F2F5E2F0E94A94EAB01BC012B96AEAD12 -:10656000BFAD2B974D935D936D937D932B96BFAFEE -:10657000AEAF2B97DB01CA01BF77A3968CAF9DAF5F -:10658000AEAFBFAFA397A596AEADBFADA5974D90EB -:106590005D906D907D90A596BFAFAEAFA597A3011E -:1065A0009201A3966CAD7DAD8EAD9FADA3970E9479 -:1065B000D74D18160CF5A3962CAD3DAD4EAD5FAD85 -:1065C000A397C301B2010E94DB4B2B01782E692EE9 -:1065D000762FC301272F352D492F582FBBA1AFA1EF -:1065E0006B2F7A2F802F912F0E94D44B87FD04C0F0 -:1065F0004BA25FA2072D162DEDA9FEA929A13AA154 -:10660000E217F30709F096CF20E030E040E85FE3BF -:10661000BBA1AFA16B2F7A2F802F912F0E94D44B5B -:1066200087FF53C03E0131E1630E711C7BA16FA156 -:10663000272F362F402F512FABA5BCA56D917D91F3 -:106640008D919C910E94A94EEBA5FCA5619371933D -:1066500081939193FCA7EBA7E615F70539F77BA18A -:106660006FA1272F362F402F512FA696BFADA6978B -:10667000A796AFADA797A896FFADA897A996EFAD3F -:10668000A9976B2F7A2F8F2F9E2F0E94A94ED10191 -:1066900092966D937D938D939C9395976F966CAD29 -:1066A0007DAD8EAD9FAD6F970E94744CBBA1AFA125 -:1066B0002B2F3A2F402F512F0E94A94E0E94484C59 -:1066C000F10160AF71AF82AF93AF29962CAD3DADB4 -:1066D0004EAD5FAD2997C701B6010E94DB4B162F67 -:1066E000072F8FA39BA781149104A104B10489F5FE -:1066F000F10184819581A681B781892B8A2B8B2B0F -:1067000041F580859185A285B385892B8A2B8B2BBA -:1067100001F52091090A30910A0A40910B0A509123 -:106720000C0AD801FFA1EBA56B2F7A2F8F2F9E2F7C -:106730000E94A94E0E94C14B7101F4E4EF0EF11CBE -:106740000E94484CD7016D937D938D939C93139732 -:10675000FDC020910D0A30910E0A40910F0A509110 -:10676000100AD801FFA1EBA56B2F702F8F2F9E2F42 -:106770000E94A94E0E94C14B0E94484CF101EC5B63 -:10678000FF4FFCA3EBA360837183828393834090CC -:10679000E9095090EA096090EB097090EC090E94B9 -:1067A000744C6FA778AB89AB9AABC501B4010E945A -:1067B000764C9B01AC016FA578A989A99AA90E9482 -:1067C000A94EA70196010E94DB4B4B015C01C3015E -:1067D000B2010E94744C9B01AC01C501B4010E943E -:1067E000D74D181634F4EBA1FCA14082518262828D -:1067F00073824090ED095090EE096090EF0970901F -:10680000F009ABA1BCA16D917D918D919C910E94ED -:10681000744C4B015C01F101648175818681978123 -:106820000E94764C9B01AC01C501B4010E94A94EA7 -:10683000A70196010E94DB4B4B015C01C301B20131 -:106840000E94744C9B01AC01C501B4010E94D74D5C -:1068500018163CF4ABA1BCA14D925D926D927C9256 -:1068600013974090F5095090F6096090F7097090E1 -:10687000F809F101EC5BFF4FFCA3EBA36081718190 -:10688000828193810E94744C4B015C012F966CAD08 -:106890007DAD8EAD9FAD2F970E94764C9B01AC01D4 -:1068A000C501B4010E94A94EA70196010E94DB4BCD -:1068B0004B015C01C301B2010E94744C9B01AC010D -:1068C000C501B4010E94D74D18163CF4ABA1BCA180 -:1068D0004D925D926D927C9213974090F109509089 -:1068E000F2096090F3097090F409EBA1FCA16081BA -:1068F0007181828193810E94744C4B015C01D101B2 -:1069000018966D917D918D919C911B970E94764C6C -:106910009B01AC01C501B4010E94A94EA7019601DB -:106920000E94DB4B6B017C01C301B2010E94744CDD -:106930009B01AC01C701B6010E94D74D181634F473 -:10694000EBA1FCA14082518262827382F101EC5B77 -:10695000FF4F60817181828193810E94744C6B0131 -:106960007C01B8019FA18BA5272F302F492F582FCD -:10697000C701B6010E94DB4B462F572F682F792F96 -:10698000AE964CAF5DAF6EAF7FAFAE97D101D296F2 -:106990004D935D936D937C93D5972DEB37E346E054 -:1069A00051E4C701B6010E94A94E0E94434CF10177 -:1069B000648F758F868F978F4090050A5090060AD6 -:1069C0006090070A7090080A29853A854B855C8596 -:1069D0006F962CAF3DAF4EAF5FAF6F978090010ABF -:1069E0009090020AA090030AB090040A20E030E0E0 -:1069F00040E05FE3C501B4010E94A94E6BA37FA3F1 -:106A00008C016F966CAD7DAD8EAD9FAD6F979F770E -:106A1000BBA1AFA12B2F3A2F402F512F0E94D74D52 -:106A200018165CF020E030E040E05FE3C301B20103 -:106A30000E94A94E6BA37FA38C01D1019296BC91B9 -:106A4000BBA7F101F3A1FFA7D1019496BC91BBAB09 -:106A5000F101F5A1FCAB7BA56FA5272F362F4B2F9E -:106A60005F2FBBA1AFA16B2F7A2F802F912F0E9498 -:106A7000D44B87FD06C02BA52BA33FA53FA30BA995 -:106A80001CA98D859E85AF85B889A3968CAF9DAFD7 -:106A9000AEAFBFAFA397C090FD09D090FE09E090C4 -:106AA000FF09F090000A20E030E040E05FE3C7011A -:106AB000B6010E94A94E6DAF7DAB2A968FAF2A9783 -:106AC0002C969FAF2C97A3966CAD7DAD8EAD9FADF0 -:106AD000A3979F77BDADADA92A96FFAD2A972C96B7 -:106AE000EFAD2C972B2F3A2F4F2F5E2F0E94D74DB3 -:106AF000181604F57DAD6DA92A969FAD2A972C96A0 -:106B00008FAD2C97272F362F492F582FBBA1AFA120 -:106B10006B2F7A2F802F912F0E94D44B87FD0AC0B4 -:106B20009DAD9BA3ADA9AFA32A960FAD2A972C9636 -:106B30001FAD2C97E9ADFAAD32970CF434C127E1C3 -:106B400037EB41ED58E36091590A70915A0A8091F0 -:106B50005B0A90915C0A0E94D74D18160CF023C175 -:106B60002091490A30914A0A40914B0A50914C0AAF -:106B700029AF3AAF4BAF5CAF69817A818B819C8141 -:106B80000E94FA4A6DAB2A967FAF2A972C968FAF58 -:106B90002C97A4969FAFA49780914D0A90914E0A8E -:106BA000A0914F0AB091500A21968CAF9DAFAEAF25 -:106BB000BFAF21979C01AD016D817E818F8198854A -:106BC0000E94FA4AA6966FAFA697A7967FAFA7979F -:106BD000A8968FAFA897A9969FAFA9977DA92A9647 -:106BE0006FAD2A972C969FAD2C97A4968FADA49746 -:106BF000272F362F492F582FDB01FC016B2F7A2FBF -:106C00008F2F9E2F0E94A94E6DAB7EAB8FAB98AF9E -:106C1000A6967FADA697A7966FADA797A8969FADAE -:106C2000A897A9968FADA997272F362F492F582FB0 -:106C3000DB01FC016B2F7A2F8F2F9E2F0E94A94E14 -:106C40009B01AC016DA97EA98FA998AD0E94FB4A5A -:106C50000E94164F6DAB7EAB8FAB98AF69AD7AAD2E -:106C60008BAD9CAD9F7727E137EB41ED58E30E9458 -:106C7000D74D181684F021966CAD7DAD8EAD9FADCD -:106C800021979F7727E137EB41ED58E30E94D74DDD -:106C9000181634F00BC09BA59BA3AFA5AFA304C0EF -:106CA000BBA5BBA3EFA5EFA30BA91CA9A301920150 -:106CB0006DA97EA98FA998AD0E94D74D1816ACF486 -:106CC0002DA93EA94FA958ADC301B2010E94DB4BCB -:106CD0009B01AC01BBA1AFA16B2F7A2F802F912F0D -:106CE0000E94A94E6BA37FA38C012091510A309181 -:106CF000520A4091530A5091540A6F966CAD7DAD83 -:106D00008EAD9FAD6F970E94FA4A2B013C01E8942B -:106D100077F8A5019401C301B2010E94D74D18165E -:106D20009CF4A3019201C501B4010E94DB4B9B01BD -:106D3000AC01BBA1AFA16B2F7A2F802F912F0E94A6 -:106D4000A94E6BA37FA38C012091550A3091560A5E -:106D50004091570A5091580AA3966CAD7DAD8EAD07 -:106D60009FADA3970E94FA4A4B015C01E894B7F8E3 -:106D7000A7019601C501B4010E94D74D18169CF4D5 -:106D8000A5019401C701B6010E94DB4B9B01AC0138 -:106D9000BBA1AFA16B2F7A2F802F912F0E94A94EFC -:106DA0006BA37FA38C013BA12FA1432F522F602FF8 -:106DB000712FD1019A964D935D936D937C939D971E -:106DC000AE966CAD7DAD8EAD9FADAE9790589B01EC -:106DD000AC010E94FB4A29962CAD3DAD4EAD5FAD96 -:106DE00029970E94A94E9B01AC016BE077ED83E2ED -:106DF0009BE30E94FA4A0E94164F6B01F82EE92E7F -:106E0000762FC701272F3D2D492F582FBBA1AFA1AA -:106E10006B2F7A2F802F912F0E94D44B87FD04C0B7 -:106E2000CBA2DFA20F2D1E2D3BA12FA1432F522F4E -:106E3000602F712FF10146A357A360A771A7C70167 -:106E40002C2D3D2D492F5E2DBBA5AFA5FBA9ECA98F -:106E50006B2F7A2F8F2F9E2F0E94D44B18162CF059 -:106E600081E0D101D7968C9302C0F10117AA81E08D -:106E7000D101D6968C9380E1FE013196A9E4BAE067 -:106E800001900D928A95E1F73BA52FA59BA98CA9AE -:106E9000432F522F692F782F4093590A50935A0A43 -:106EA00060935B0A70935C0A232F352F492F582F6C -:106EB0006DEC7CEC8CE49DE30E94DB4B6B017C0170 -:106EC0007BA56FA59BA98CA9272F362F492F582F5B -:106ED000BBA1AFA16B2F7A2F802F912F0E94DB4B8C -:106EE000AB01BC0197018601C1010E940B29AA9642 -:106EF000BFADAA97B093080563962CAD3DAD4EADDE -:106F00005FAD63972093D9093093DA094093DB0989 -:106F10005093DC0967968CAD9DADAEADBFAD679764 -:106F20008093DD099093DE09A093DF09B093E00917 -:106F30006B962CAD3DAD4EAD5FAD6B972093E109E7 -:106F40003093E2094093E3095093E40925968CAD10 -:106F50009DADAEADBFAD25978093E5099093E60951 -:106F6000A093E709B093E8090E94FA2CC359DF4FB8 -:106F70000FB6F894DEBF0FBECDBFDF91CF911F914A -:106F80000F91FF90EF90DF90CF90BF90AF909F90C8 -:106F90008F907F906F905F904F903F902F90A9C1FE -:106FA00025962CAD3DAD4EAD5FAD25972093E509FF -:106FB0003093E6094093E7095093E809E1EBF4E0E8 -:106FC0000C945F2EC359DF4F0FB6F894DEBF0FBE8F -:106FD000CDBFDF91CF911F910F91FF90EF90DF9088 -:106FE000CF90BF90AF909F908F907F906F905F9069 -:106FF0004F903F902F900895EF92FF920F931F9321 -:10700000CF93DF937B018A01E9012091250A30911A -:10701000260A4091270A5091280AFC01608171815B -:10702000828193810E94A94E0E94794EE9EDF9E098 -:1070300060837183828393832091290A30912A0A85 -:1070400040912B0A50912C0AF70160817181828155 -:1070500093810E94A94E0E94794EEDEDF9E0608384 -:1070600071838283938320912D0A30912E0A40915F -:107070002F0A5091300AF8016081718182819381D9 -:107080000E94A94E0E94794EE1EEF9E0608371837F -:10709000828393832091310A3091320A4091330ADE -:1070A0005091340A688179818A819B810E94A94E1E -:1070B0000E94794EE5EEF9E06083718382839383C9 -:1070C0009F0141EE59E06DED79E089ED99E05AD7E5 -:1070D0001092590A10925A0A10925B0A10925C0A96 -:1070E0001092490A10924A0A10924B0A10924C0AC6 -:1070F00010924D0A10924E0A10924F0A1092500AA6 -:107100001092510A1092520A1092530A1092540A85 -:107110001092550A1092560A1092570A1092580A65 -:10712000DF91CF911F910F91FF90EF9008952091E3 -:10713000310A3091320A4091330A5091340AFC01ED -:1071400060817181828193810E94A94E0E94794E53 -:10715000E5EEF9E06083718382839383CF014EC7AC -:1071600080930605089580916F0A8111B5C08091C2 -:107170006E0A8111B1C080916D0A8111ADC0089570 -:107180009091C00095FFFCCF8093C600319684910A -:107190008111F6CFE5EFF4E007C09091C00095FFB4 -:1071A000FCCF8093C600319684918111F6CF8091F7 -:1071B0006F0A882349F1E4E0F5E007C09091C00030 -:1071C00095FFFCCF8093C600319684918111F6CF54 -:1071D0006091700A7091710A8091720A9091730A9D -:1071E0000E94764C2091250A3091260A4091270A68 -:1071F0005091280A0E94DB4BAB01BC0122E030E039 -:1072000081E894E00E94FF2480916E0A882349F16E -:10721000E8E0F5E007C09091C00095FFFCCF8093B7 -:10722000C600319684918111F6CF6091740A7091F5 -:10723000750A8091760A9091770A0E94764C209187 -:10724000290A30912A0A40912B0A50912C0A0E9457 -:10725000DB4BAB01BC0122E030E081E894E00E940E -:10726000FF2480916D0A882349F1ECE0F5E007C026 -:107270009091C00095FFFCCF8093C6003196849119 -:107280008111F6CF6091780A7091790A80917A0A1B -:1072900090917B0A0E94764C20912D0A30912E0A03 -:1072A00040912F0A5091300A0E94DB4BAB01BC0188 -:1072B00022E030E081E894E00E94FF248091C00049 -:1072C00085FFFCCF8AE08093C60010926F0A10926F -:1072D0006E0A10926D0A0895EFEEF4E058CF109206 -:1072E0006F0A10926E0A10926D0A08958093210120 -:1072F0000895EFE6F0E080818260808308951F9218 -:107300000F920FB60F9211240F931F932F933F9359 -:107310004F935F936F937F938F939F93AF93BF939D -:10732000EF93FF938091800A9091810A892B09F055 -:1073300056C19091080580910705981771F0E0916A -:1073400007058DE4E89FF0011124E75FFA4FDF01A4 -:10735000A45BBF4F81E08C9302C0E0E0F0E0F093CB -:10736000810AE093800A309709F433C1DF01A45BFE -:10737000BF4F81E08C931092820A1092830A109280 -:10738000840A1092850A94AD85AD9093860A809305 -:10739000870A692F782F613187E2780710F060E162 -:1073A00077E281E08093880A6832710510F468E220 -:1073B00070E068527109611588E07807E0F0872F66 -:1073C0009927880F991F880F991F805F9A4FFC019A -:1073D000329625913491AA27639FA001629F410DA7 -:1073E0005A1F06944A1F5A1F1124FC0125913491FB -:1073F000241B350B1EC0CB01969587958C7F805F33 -:10740000964FFC01259134910296FC0145915491CF -:10741000FB01E770FF274E9FC0014F9F900D5E9FBD -:10742000900D1124A3E096958795AA95E1F7281B66 -:10743000390B24363105A0F4E8E5F2E006C090915E -:10744000C00095FFFCCF8093C60081918111F7CFDA -:107450004AE050E081E894E00E94572424E630E0BE -:10746000C901A0E0B0E08093890A90938A0AA093B2 -:107470008B0AB0938C0A3093890020938800E091A6 -:10748000800AF091810A60AD71AD613187E27807C1 -:1074900010F060E177E281E08093880A683271053C -:1074A00010F468E270E068527109611588E07807AD -:1074B000D0F0872F9927880F991F880F991F805F19 -:1074C0009A4FFC01329645915491AA27659F9001ED -:1074D000649F210D3A1F06942A1F3A1F1124FC01B4 -:1074E000859194911DC09B01369527952C7F205F37 -:1074F000364FF901859194912E5F3F4FF9014591E7 -:107500005491FB01E770FF274E9F90014F9F300D74 -:107510005E9F300D112443E0369527954A95E1F79B -:10752000821B930B84369105A0F4E8E5F2E006C0D7 -:107530009091C00095FFFCCF8093C600819181118E -:10754000F7CF4AE050E081E894E00E94572484E6B7 -:1075500090E090938E0A80938D0AE091800AF091DA -:10756000810A80899189A289B389B695A795979553 -:107570008795B095A095909581959F4FAF4FBF4F40 -:1075800080938F0A9093900AA093910AB093920AE5 -:107590008093930A9093940AA093950AB093960AC5 -:1075A0008093970A9093980AA093990AB0939A0AA5 -:1075B00080939B0A90939C0AA0939D0AB0939E0A85 -:1075C00010927C0A10927D0A10927E0A10927F0A15 -:1075D00006C080ED97E09093890080938800E09149 -:1075E000800AF091810A309709F46EC480A18093DB -:1075F0009F0A80FF3BC016988FEF80931D018091FA -:1076000021018823B9F123B1217031E0232759F1F9 -:107610008091A00A882339F180819181A281B38170 -:10762000181619061A061B06F4F480915D0A90914B -:107630005E0AA0915F0AB091600A8093700A9093ED -:10764000710AA093720AB093730A30936F0A80890B -:107650009189A289B38980937C0A90937D0AA09333 -:107660007E0AB0937F0A2093A00A04C0169A81E094 -:1076700080931D0180919F0A81FF40C0149A8FEF73 -:1076800080931E01809121018823E1F123B131E033 -:1076900026952170232779F18091A10A882359F139 -:1076A000E091800AF091810A84819581A681B78159 -:1076B000181619061A061B06F4F48091610A9091B7 -:1076C000620AA091630AB091640A8093740A90934D -:1076D000750AA093760AB093770A30936E0A808970 -:1076E0009189A289B38980937C0A90937D0AA093A3 -:1076F0007E0AB0937F0A2093A10A04C0149881E007 -:1077000080931E0180919F0A82FF41C046988FEFAF -:1077100080931F01809121018823E9F123B131E099 -:1077200022FB222720F9232779F18091A20A8823BE -:1077300059F1E091800AF091810A80859185A285B6 -:10774000B385181619061A061B06F4F48091650A0B -:107750009091660AA091670AB091680A8093780AAE -:107760009093790AA0937A0AB0937B0A30936D0ABA -:1077700080899189A289B38980937C0A90937D0A3C -:10778000A0937E0AB0937F0A2093A20A04C0469A6F -:1077900081E080931F0180919F0A83FF03C0459879 -:1077A0008FEF02C0459A81E08093200120E030E015 -:1077B000BDC18091C00087FF19C0E091C600409113 -:1077C000020550910305CA0101968F7799276091B0 -:1077D0000405709105058617970741F0DA01AE5749 -:1077E000BB4FEC939093030580930205E091800AD0 -:1077F000F091810A80918F0A9091900AA091910A4C -:10780000B091920A4081518162817381840F951FEA -:10781000A61FB71F80938F0A9093900AA093910A96 -:10782000B093920A181619061A061B060CF4159A3C -:107830008091930A9091940AA091950AB091960A2A -:107840004481558166817781840F951FA61FB71FDC -:107850008093930A9093940AA093950AB093960A02 -:10786000181619061A061B060CF4139AE091800AE2 -:10787000F091810A8091970A9091980AA091990AB3 -:10788000B0919A0A4085518562857385840F951F52 -:10789000A61FB71F8093970A9093980AA093990AFE -:1078A000B0939A0A181619061A061B060CF4479A82 -:1078B00080919B0A90919C0AA0919D0AB0919E0A8A -:1078C0004485558566857785840F951FA61FB71F4C -:1078D00080939B0A90939C0AA0939D0AB0939E0A62 -:1078E000181619061A061B060CF4179A80918F0AAF -:1078F0009091900AA091910AB091920A18161906D7 -:107900001A061B065CF5E091800AF091810A408915 -:10791000518962897389841B950BA60BB70B8093E1 -:107920008F0A9093900AA093910AB093920A409183 -:107930001D0180915D0A90915E0AA0915F0AB0914D -:10794000600A840F911DA11DB11D80935D0A909363 -:107950005E0AA0935F0AB093600A15988091930A1B -:107960009091940AA091950AB091960A181619065A -:107970001A061B065CF5E091800AF091810A4089A5 -:10798000518962897389841B950BA60BB70B809371 -:10799000930A9093940AA093950AB093960A409103 -:1079A0001E018091610A9091620AA091630AB091D0 -:1079B000640A840F911DA11DB11D8093610A9093EB -:1079C000620AA093630AB093640A13988091970A9D -:1079D0009091980AA091990AB0919A0A18161906DE -:1079E0001A061B065CF5E091800AF091810A408935 -:1079F000518962897389841B950BA60BB70B809301 -:107A0000970A9093980AA093990AB0939A0A409182 -:107A10001F018091650A9091660AA091670AB09152 -:107A2000680A840F911DA11DB11D8093650A909372 -:107A3000660AA093670AB093680A479880919B0AE8 -:107A400090919C0AA0919D0AB0919E0A1816190661 -:107A50001A061B065CF5E091800AF091810A4089C4 -:107A6000518962897389841B950BA60BB70B809390 -:107A70009B0A90939C0AA0939D0AB0939E0A409102 -:107A800020018091690A90916A0AA0916B0AB091D5 -:107A90006C0A840F911DA11DB11D8093690A9093FA -:107AA0006A0AA0936B0AB0936C0A179880917C0ABB -:107AB00090917D0AA0917E0AB0917F0A0196A11D46 -:107AC000B11D80937C0A90937D0AA0937E0AB093A7 -:107AD0007F0A40917C0A50917D0A60917E0A7091E4 -:107AE0007F0A2F5F3F4FE091800AF091810A8089E1 -:107AF0009189A289B389481759076A077B07B0F0B3 -:107B000040917C0A50917D0A60917E0A70917F0AB3 -:107B1000E091800AF091810A84899589A689B789C4 -:107B200084179507A607B70748F4CBC08091880A49 -:107B300090E0281739070CF43CCEE2CF4091890A37 -:107B400050918A0A60918B0A70918C0A048D158D70 -:107B5000268D378DAA27419FB12D529FC001629F6C -:107B6000900D619F800D911D429FB00D811D9A1F48 -:107B7000519FB00D811D9A1F609FB00D811D9A1FEE -:107B8000509FB10D8A1F9A1FB6958A1F9A1F112404 -:107B900044AD55AD480F591F5093870A4093860A4C -:107BA00080AD91ADA2ADB3AD60E070E084179507F4 -:107BB000A607B70720F49093870A8093860A6091FE -:107BC000860A7091870A613187E2780710F060E1D8 -:107BD00077E281E08093880A6832710510F468E2E8 -:107BE00070E068527109611588E07807E0F0872F2E -:107BF0009927880F991F880F991F805F9A4FFC0162 -:107C0000329625913491AA27639FA001629F410D6E -:107C10005A1F06944A1F5A1F1124FC0125913491C2 -:107C2000241B350B1EC0CB01969587958C7F805FFA -:107C3000964FFC01259134910296FC014591549197 -:107C4000FB01E770FF274E9FC0014F9F900D5E9F85 -:107C5000900D1124A3E096958795AA95E1F7281B2E -:107C6000390B24363105A0F4E8E5F2E006C0909126 -:107C7000C00095FFFCCF8093C60081918111F7CFA2 -:107C80004AE050E081E894E00E94572424E630E086 -:107C900030938900209388008091890A90918A0A04 -:107CA000A0918B0AB0918C0A820F931FA11DB11D68 -:107CB0008093890A90938A0AA0938B0AB0938C0AC6 -:107CC000DEC040917C0A50917D0A60917E0A7091DD -:107CD0007F0A808D918DA28DB38D84179507A6079D -:107CE000B70708F0C4C04091820A5091830A60919E -:107CF000840A7091850A048D158D268D378DAA27EB -:107D0000419FB12D529FC001629F900D619F800DD8 -:107D1000911D429FB00D811D9A1F519FB00D811D75 -:107D20009A1F609FB00D811D9A1F509FB10D8A1F31 -:107D30009A1FB6958A1F9A1F11242091860A3091A6 -:107D4000870AE05CFF4F2817390718F4208131813A -:107D500002C0281B390B80819181A281B381A901C6 -:107D600060E070E0481759076A077B0708F49C0138 -:107D7000B901213187E2380710F060E177E281E054 -:107D80008093880A6832710510F468E270E06852E6 -:107D90007109611588E07807E0F0872F9927880F2F -:107DA000991F880F991F805F9A4FFC013296259189 -:107DB0003491AA27639FA001629F410D5A1F069428 -:107DC0004A1F5A1F1124FC0125913491241B350BA5 -:107DD0001EC0CB01969587958C7F805F964FFC01E6 -:107DE000259134910296FC0145915491FB01E77075 -:107DF000FF274E9FC0014F9F900D5E9F900D112455 -:107E000043E0969587954A95E1F7281B390B243670 -:107E10003105A0F4E8E5F2E006C09091C00095FFBE -:107E2000FCCF8093C60081918111F7CF4AE050E0EA -:107E300081E894E00E94572424E630E030938900E2 -:107E4000209388008091820A9091830AA091840AED -:107E5000B091850A820F931FA11DB11D8093820AE4 -:107E60009093830AA093840AB093850A08C08091F6 -:107E70008D0A90918E0A909389008093880040919A -:107E80007C0A50917D0A60917E0A70917F0AE09190 -:107E9000800AF091810A80899189A289B389481763 -:107EA00059076A077B0780F01092810A1092800AB6 -:107EB0009091080580910705981731F0809107058A -:107EC0008F5F8F7080930705FF91EF91BF91AF9106 -:107ED0009F918F917F916F915F914F913F912F91E2 -:107EE0001F910F910F900FBE0F901F9018950E9A33 -:107EF0000C9A3E9A3D9A529A529A529A529A2098C5 -:107F0000289A2198299A22982A9A0D9A0B9A3F9A90 -:107F10000F9AA1E8B0E08C918F7E8C938C91886051 -:107F20008C93E0E8F0E080818D7F808380818E7F7C -:107F3000808380818F73808380818F7C80838C910C -:107F4000887F82608C9380E090E490938900809396 -:107F500088001092850010928400EFE6F0E08081A6 -:107F60008260808381E0C2D9789408959091080559 -:107F700080910705981729F025D281E00E943810DA -:107F8000F5CF0895CF93DF93EFB7F894EC01888194 -:107F90009981AA81BB8180935D0A90935E0AA09328 -:107FA0005F0AB093600AEB0188819981AA81BB8145 -:107FB0008093610A9093620AA093630AB093640A63 -:107FC000EA0188819981AA81BB818093650A909397 -:107FD000660AA093670AB093680AE90188819981CB -:107FE000AA81BB818093690A90936A0AA0936B0A65 -:107FF000B0936C0AEFBFDF91CF9108952FB7F8943B -:10800000FC0180819181A281B3818093690A909360 -:108010006A0AA0936B0AB0936C0A2FBF08950F935E -:108020001F939FB7F89424E0829FF0011124E35A34 -:10803000F54F00811181228133819FBFB801C901B1 -:108040001F910F91089592DF5A985A985A985A980A -:10805000089520912A0130912B0140912C015091DB -:108060002D0160E070E08FE793E40E94DB4B6093AA -:10807000B10A7093B20A8093B30A9093B40A089538 -:108080008055954FFC01808190E008950F931F93D8 -:10809000CF93DF93EC01662309F461C0E7EFFDE0C5 -:1080A00007C09091C00095FFFCCF8093C600319629 -:1080B00084918111F6CF4AE050E070E081E894E0CD -:1080C0000E943C24EEEFFDE007C09091C00095FFB8 -:1080D000FCCF8093C600319684918111F6CF8091B8 -:1080E000C00085FFFCCF8AE08093C6000E940F107D -:1080F00036C0C901880F991F880F991FFC01E45EE3 -:10810000F14F659174916C177D073CF52150310951 -:10811000220F331F220F331FF901E65EF14F059145 -:108120001491245E314FF90145915491FC01E65EB2 -:10813000F14F25913491C41BD50B201B310BC29FED -:10814000C001C39F900DD29F900D1124641B750B2D -:108150000E948E4F600F711F13C04F5F01C041E03E -:10816000242F30E04D3309F0C4CF2D33310531F4E5 -:10817000EAE0FFE085919491BC0102C060E070E00C -:1081800020EF3FE3261B370BC901DF91CF911F91F1 -:108190000F910895CF93DF9321E030E0D901AA0F2A -:1081A000BB1FAA0FBB1FFD01E45EF14F65917491E7 -:1081B0006817790744F521503109220F331F220F28 -:1081C000331FF901E65EF14FC591D491245E314F22 -:1081D000F90145915491FD01E65EF14F25913491ED -:1081E000FC01E41BF50B2C1B3D0BE29FC001E39F40 -:1081F000900DF29F900D1124641B750B0E948E4F01 -:108200006C0F7D1F0BC02F5F3F4F2D33310509F0E1 -:10821000C5CFEAE0FFE085919491BC0120EF3FE3F8 -:10822000261B370BC901DF91CF9108952F923F9202 -:108230004F925F926F927F928F929F92AF92BF9276 -:10824000CF92DF92EF92FF920F931F93CF93DF9322 -:108250008C01662351F1E7EFFDE007C09091C0006B -:1082600095FFFCCF8093C600319684918111F6CFA3 -:108270004AE050E070E081E894E00E943C24EEE0A7 -:10828000FFE007C09091C00095FFFCCF8093C6002F -:10829000319684918111F6CF8091C00085FFFCCF8B -:1082A0008AE08093C6000E940F10C0EFDFE3C01B7E -:1082B000D10B41E05EC09C01220F331F220F331F00 -:1082C000F901E65EF14F65907490C615D7050CF084 -:1082D0004FC00197880F991F880F991FFC01E45E1A -:1082E000F14F25903490865E914FFC0105911491D9 -:1082F000F901E45EF14F45905490B101882777FD74 -:108300008095982F0E94764C6B017C01BE01601B0A -:10831000710B882777FD8095982F0E94764C4B0132 -:108320005C01B20162197309882777FD8095982F47 -:108330000E94764C9B01AC01C501B4010E94A94E7C -:108340004B015C01B301601B710B882777FD8095A1 -:10835000982F0E94764C9B01AC01C501B4010E948C -:10836000DB4B9B01AC01C701B6010E94FB4A17C061 -:108370004F5F842F90E04D3309F09DCFCD9759F496 -:10838000ECE0FFE065917491882777FD8095982F48 -:108390000E94764C04C060E070E080E090E0DF91E5 -:1083A000CF911F910F91FF90EF90DF90CF90BF90F2 -:1083B000AF909F908F907F906F905F904F903F9085 -:1083C0002F9008952F923F924F925F926F927F92DB -:1083D0008F929F92AF92BF92CF92DF92EF92FF92D5 -:1083E0000F931F93CF93DF9300D0CDB7DEB780916B -:1083F000A30A882309F4B8C18FB7F8941092A30A8E -:108400008FBF60E08091AA0A9091AB0A0FDF6B01E9 -:108410007C019B01AC016091A40A7091A50A809136 -:10842000A60A9091A70A0E94FA4AB62EA72E182FE4 -:10843000092FA5019801852F942FA32FB22F809388 -:10844000B50A9093B60AA093B70AB093B80A20E091 -:1084500030E040E251E4D501F8016B2F7A2F8F2FE5 -:108460009E2F0E94D74D18160CF41BC120E030E05F -:1084700040E251ECD501F8016B2F7A2F8F2F9E2F00 -:108480000E94D44B87FD09C18091B90A8111FAC0BD -:1084900020912E0130912F014091300150913101F6 -:1084A000D501F8016B2F7A2D8F2F902F0E94A94EA6 -:1084B000762E672E89839A83A301382F292F852F43 -:1084C000942FA32FB22F8093BE0A9093BF0AA0933C -:1084D000C00AB093C10A2091BA0A3091BB0A4091F8 -:1084E000BC0A5091BD0AD501F8016B2F7A2D8F2F50 -:1084F000902F0E94FB4A8B012C018090C20A909021 -:10850000C30AA090C40AB090C50A282D392D4A2D5F -:108510005B2D602F712F842D952D0E94D44B87FFEA -:108520009BC084012501802F912FA42DB52D809310 -:10853000BA0A9093BB0AA093BC0AB093BD0A2091DB -:108540002A0130912B0140912C0150912D01602F77 -:10855000712F842D952D0E94A94E4B015C01862F11 -:10856000992DAA2DBB2D8093C60A9093C70AA0937C -:10857000C80AB093C90A2091CA0A3091CB0A409127 -:10858000CC0A5091CD0AC701B6010E94FA4A209147 -:1085900026013091270140912801509129010E9424 -:1085A000A94E20ED3CEC4CE45DE30E94A94E1B017A -:1085B0002C0123E333E343E75FE36091CE0A70913C -:1085C000CF0A8091D00A9091D10A0E94A94E9B01B6 -:1085D000AC01C201B1010E94FB4A8B012C01862F24 -:1085E000912FA42DB52D8093CE0A9093CF0AA093FE -:1085F000D00AB093D10AC092CA0AD092CB0AE092B4 -:10860000CC0AF092CD0A282D392D4A2D5B2DD301AD -:10861000F980EA806B2F762D8F2D9E2DECD7202FA1 -:10862000312F442D552DE6D78B017C0120E030E021 -:10863000A901712F9F2D0E94D44B87FD3CC020E0E3 -:1086400030E04FE753E4602F712F8E2D9F2D0E9455 -:10865000D74D1816A4F528C08090B10A9090B20AA0 -:10866000A090B30AB090B40A282D392D4A2D5B2D65 -:10867000602F712F842D952D0E94D74D18160CF068 -:1086800052CF4FCF1092BA0A1092BB0A1092BC0A76 -:108690001092BD0A1092B90AFBCE81E08093B90A0C -:1086A0000AC081E08093B90A00E010E08FE7E82E6D -:1086B00093E4F92E04C000E010E0E12CF12C2091AD -:1086C000AA0A3091AB0A4091D20A5091D30A4217BC -:1086D00053071CF01092B00A11C040913201509122 -:1086E000330124173507B4F7602F712F8E2D9F2D7E -:1086F0000E94434C759567956093B00A0E9478215B -:108700000091D40A1091D50A2091D60A3091D70A47 -:10871000601B710B820B930B6838734181059105C7 -:1087200018F10E9478216093D40A7093D50A80933F -:10873000D60A9093D70A8091A80A9091A90A181690 -:1087400019068CF42091340130913501821793077A -:1087500054F42091AC0A3091AD0A821793070CF0C3 -:1087600002C02C9A01C02C980F900F90DF91CF91EE -:108770001F910F91FF90EF90DF90CF90BF90AF903F -:108780009F908F907F906F905F904F903F902F9031 -:1087900008952F923F924F925F926F927F928F92A5 -:1087A0009F92AF92BF92CF92DF92EF92FF920F9380 -:1087B0001F93CF93DF93C0EFDFE3C81BD90B81E09A -:1087C00090E09C01220F331F220F331FF901E65E58 -:1087D000F14F65907490C615D7050CF04DC0019708 -:1087E000880F991F880F991FFC01E45EF14F2590B7 -:1087F0003490865E914FFC0105911491F901E45E7D -:10880000F14F45905490B101882777FD8095982FBE -:108810000E94764C6B017C01BE01601B710B8827A6 -:1088200077FD8095982F0E94764C4B015C01B20138 -:1088300062197309882777FD8095982F0E94764CDE -:108840009B01AC01C501B4010E94A94E4B015C0122 -:10885000B301601B710B882777FD8095982F0E94CC -:10886000764C9B01AC01C501B401A5D79B01AC01BD -:10887000C701B601C0D60FC001968D33910509F02E -:10888000A0CFECE0FFE065917491882777FD80959B -:10889000982F0E94764CDF91CF911F910F91FF90FE -:1088A000EF90DF90CF90BF90AF909F908F907F9090 -:1088B0006F905F904F903F902F9008951092C20A52 -:1088C0001092C30A1092C40A1092C50A20912A017C -:1088D00030912B0140912C0150912D0160E070E00E -:1088E0008FE793E468D76093B10A7093B20A8093DC -:1088F000B30A9093B40A239A249A569A61E070E0DE -:108900008EE00E94192187ED80937A00EEE7F0E077 -:1089100010828081816080838081826080838081F9 -:108920008460808380818460808380E888BDEEE6F7 -:10893000F0E08081846080836AEF70E080E090E006 -:108940000E94AA2160E085E090E0A0DB9093D30A2A -:108950008093D20A60E083E191E098DB9093330149 -:108960008093320186E990E015DC90933501809385 -:1089700034010895089560E080E090E087DB109274 -:10898000A40A1092A50A1092A60A1092A70A80E0E3 -:1089900090E000DC9093AD0A8093AC0A1092AF0A8D -:1089A0001092AE0A1092B00A2B981092B10A10924F -:1089B000B00A1092B10A1092B30A1092B20A109241 -:1089C000B20A1092AD0A1092AC0A2C9808952F9218 -:1089D0003F924F925F926F927F928F929F92AF924F -:1089E000BF92CF92DF92EF92FF920F931F93CF939C -:1089F000DF93CDB7DEB7E1970FB6F894DEBF0FBEB9 -:108A0000CDBF688B798B8A8B9B8B0E9478216C8B76 -:108A10007D8B8E8B9F8BECE6F2E006C09091C000C0 -:108A200095FFFCCF8093C60081918111F7CF809193 -:108A3000C00085FFFCCF8AE08093C6009CDF8FE7F3 -:108A40008093B00A4C885D886E887F884C865D86EE -:108A50006E867F86AFE7CA2ED12CE12CF12CBFE7C2 -:108A60008B2E912CA12CB12C8EA69FA6A8AAB9AAB8 -:108A700021E02CA31B861A86E0E1FDE084908FA202 -:108A8000E8E1FDE0949098A6EDE1FDE0A490A9A6B0 -:108A9000E4E2FDE0B490BAA6EBE2FDE084908BA6A0 -:108AA000E1E3FDE094909CA68091A30A882309F459 -:108AB000A9C28FB7F8941092A30A8FBF60E080918B -:108AC000AA0A9091AB0AB2DB6E837F83888799876D -:108AD000762F6F81982F8985272F362F492F582F72 -:108AE000B88DA98DEA8DFB8D6B2F7A2FCF010E9457 -:108AF000D74D181644F0AE80A88EBF80B98E8884FA -:108B00008A8E99849B8E7E816F8198858985272F97 -:108B1000362F492F582F612F722D832D902F44D639 -:108B200087FD04C01E812F8038840985ACA0AA204F -:108B300009F42FC3788969899A898B89272F362F61 -:108B4000492F582FBE81AF81E885F9856B2F7A2F89 -:108B5000CF010E94D74D18160CF054C20E94782104 -:108B6000641975098609970969387341810591056A -:108B700008F448C28EA59FA5A8A9B9A98C199D097A -:108B8000AE09BF09B595A795979587958093B00ACB -:108B90000E9478216C877D878E879F874B015C01BF -:108BA00084189508A608B70888A299A2AAA2BBA211 -:108BB0009888988EA988A98EBA88BA8E8B888B8E51 -:108BC000E8C20E9478218C849D84AE84BF84681999 -:108BD00079098A099B09693873418105910508F46F -:108BE00010C20E9478212B013C018A849B84892831 -:108BF00009F4EDC1DC01CB018C849D84AE84BF847B -:108C000088199909AA09BB0988A099A0AAA0BBA0A4 -:108C1000880E991EAA1EBB1E28A139A14AA15BA1DC -:108C2000281B390B4A0B5B0BCA01B901A70196013E -:108C30000E947F4FA50194010E94C34F8EA59FA55E -:108C4000A8A9B9A9280F391F4A1F5B1F2431310574 -:108C50004105510524F12EA73FA748AB59AB2C3E47 -:108C600031054105510544F02BEE30E040E050E085 -:108C70002EA73FA748AB59AB8EA59FA5A8A9B9A918 -:108C800080389105A105B105C4F0EEEFCE2ED12CB0 -:108C9000E12CF12CC81AD90AEA0AFB0A12C024E115 -:108CA00030E040E050E02EA73FA748AB59AB74E15D -:108CB000C72ED12CE12CF12C04C0CEA4DFA4E8A84F -:108CC000F9A88FA1E0E1FDE008C09091C00095FFF8 -:108CD000FCCF8093C600319684918111F6CF2AE0B3 -:108CE00030E04EA55FA568A979A981E894E00E94CB -:108CF000062488A5E8E1FDE008C09091C00095FF3A -:108D0000FCCF8093C600319684918111F6CF2AE082 -:108D100030E0B701A60181E894E00E94062489A50D -:108D2000EDE1FDE008C09091C00095FFFCCF80937D -:108D3000C600319684918111F6CF22E030E0412FB8 -:108D4000522D632D702F81E894E00E94FF248AA5A4 -:108D5000E4E2FDE008C09091C00095FFFCCF809355 -:108D6000C600319684918111F6CF22E030E0F88D73 -:108D7000E98D9A8D8B8D4F2F5E2F692F782F81E88B -:108D800094E00E94FF248091C00085FFFCCF8AE020 -:108D90008093C6004A855B85433051050CF417C1AA -:108DA000C701B601A3D520E030E040E850E4D1D7B8 -:108DB0006C8F7D8F8E8F9F8F212F322D432D502FC3 -:108DC000B88DA98DEA8D1B8D6B2F7A2F8E2F912F49 -:108DD00011D420ED3FE049E450E4BBD720E030E07F -:108DE00040E05FE3B6D79B01AC016C8D7D8D8E8D2D -:108DF0009F8DE1D4362E072F182F9C8FC501B4010B -:108E000075D520E030E04AE754E4D5D4A62E972E5D -:108E1000282E892E8BA5EBE2FDE008C09091C000C2 -:108E200095FFFCCF8093C600319684918111F6CFD7 -:108E300022E030E08C8D432D502F612F782F81E878 -:108E400094E00E94FF248CA5E1E3FDE008C090912E -:108E5000C00095FFFCCF8093C600319684918111AC -:108E6000F6CF22E030E04A2D592D622D782D81E891 -:108E700094E00E94FF248091C00085FFFCCF8AE02F -:108E80008093C6002AE939E949E15FE3EC8D632D5F -:108E9000702F812F9E2F5DD7362E072F182FB92EBA -:108EA000762F272F302F412F5B2D632D702F812F91 -:108EB0009B2DA1D32A2D392D422D582D7CD46C8F7A -:108EC0007CA38DA39EA32A2D392D422D582D632DD1 -:108ED000702F812F9B2D3DD720E030E040E05EE3F6 -:108EE00038D7A62E972E282E892EE7E3FDE007C05F -:108EF0009091C00095FFFCCF8093C600319684917D -:108F00008111F6CF8091C00085FFFCCF8AE080936D -:108F1000C600E4E4FDE007C09091C00095FFFCCFDF -:108F20008093C600319684918111F6CF22E030E023 -:108F3000432D502F612F7B2D81E894E00E94FF2468 -:108F40008091C00085FFFCCF8AE08093C600EAE4F0 -:108F5000FDE007C09091C00095FFFCCF8093C60054 -:108F6000319684918111F6CF22E030E0FC8DECA1A6 -:108F70009DA18EA14F2F5E2F692F782F81E894E05D -:108F80000E94FF248091C00085FFFCCF8AE080937F -:108F9000C600E0E5FDE007C09091C00095FFFCCF62 -:108FA0008093C600319684918111F6CF22E030E0A3 -:108FB0004A2D592D622D782D81E894E00E94FF24DE -:108FC0008091C00085FFFCCF8AE08093C6008EA50B -:108FD0009FA5A8A9B9A98C0D9D1DAE1DBF1DB59556 -:108FE000A795979587958093B00A8A859B8501966A -:108FF0009B878A87188929883A880B8991E09CA3E6 -:1090000001C01CA220E030E040EA51E4B889A989FF -:10901000EA89FB896B2F7A2FCF01EDD29B01AC013E -:10902000BE81AF81E885F9856B2F7A2FCF01BFD53F -:10903000181694F4E6E5FDE007C09091C00095FF96 -:10904000FCCF8093C600319684918111F6CF809138 -:10905000C00085FFFCCF99C00E9478218C889D8834 -:10906000AE88BF88681979098A099B09613D7740F4 -:109070008105910508F440C00E9478216C8B7D8B9E -:109080008E8B9F8BEFE7FDE007C09091C00095FFAE -:10909000FCCF8093C600319684918111F6CF60E0B9 -:1090A0008091AA0A9091AB0AC1D8AB01BC0122E021 -:1090B00030E081E894E00E94FF24E5E8FDE007C08D -:1090C0009091C00095FFFCCF8093C60031968491AB -:1090D0008111F6CF80E090E00E9440404AE050E0ED -:1090E000BC0181E894E00E943C248091C00085FF8F -:1090F000FCCF8AE08093C6000E9478216A837B833C -:109100008C839D830E9478218C849D84AE84BF844F -:10911000840C951CA61CB71C2A813B814C815D8167 -:10912000281939094A095B09260F371F481F591F9B -:1091300021383F444241510590F0E9E8FDE007C085 -:109140009091C00095FFFCCF8093C600319684912A -:109150008111F6CF8091C00085FFFCCF16C0AA8593 -:10916000BB8516970CF4A0CCE6EAFDE007C0909111 -:10917000C00095FFFCCF8093C60031968491811189 -:10918000F6CF8091C00085FFFCCF8AE08093C600B7 -:1091900013C0788969899A898B89272F362F492F9F -:1091A000582FBE81AF81E885F9856B2F7A2FCF01CB -:1091B000FBD287FD06CD25CFE1960FB6F894DEBF32 -:1091C0000FBECDBFDF91CF911F910F91FF90EF9018 -:1091D000DF90CF90BF90AF909F908F907F906F90D7 -:1091E0005F904F903F902F900895CF93DF931F9201 -:1091F000CDB7DEB78983BFDB0E941621698181115B -:109200002FC0E7EFFDE007C08091C00085FFFCCFD5 -:109210009093C600319694919111F6CF4AE050E0B8 -:1092200070E081E894E00E943C248091C00085FFBA -:10923000FCCF8AE08093C600EBE2FFE007C090918C -:10924000C00095FFFCCF8093C600319684918111B8 -:10925000F6CF8091C00085FFFCCF8AE08093C600E6 -:109260000F90DF91CF910895CF93DF931F92CDB7E9 -:10927000DEB7898380DB0E941621698181112FC0AE -:10928000E7EFFDE007C08091C00085FFFCCF909321 -:10929000C600319694919111F6CF4AE050E070E00B -:1092A00081E894E00E943C248091C00085FFFCCFBF -:1092B0008AE08093C600E8E5FFE007C09091C00017 -:1092C00095FFFCCF8093C600319684918111F6CF33 -:1092D0008091C00085FFFCCF8AE08093C6000F908C -:1092E000DF91CF9108952C980E941621811121C001 -:1092F000E7EFFDE007C09091C00095FFFCCF8093A1 -:10930000C600319684918111F6CFE5E8FFE007C0F1 -:109310009091C00095FFFCCF8093C6003196849158 -:109320008111F6CF8091C00085FFFCCF8AE0809349 -:10933000C60008951F920F920FB60F9211242F931B -:109340003F934F935F936F937F938F939F93AF93CD -:10935000BF93EF93FF9380913601811106C08091F6 -:10936000B00A8093D80A81112B9A9091D80A8091E3 -:109370003601891708F02B988F5F8F77809336011D -:109380008091D90A833009F443C020F48130D1F0B0 -:10939000A8F50CC0853009F461C008F453C08630CC -:1093A00009F476C0873009F09EC07EC010927B0021 -:1093B00080E480937C0080917A00806480937A00BE -:1093C00081E019C020917800309179008091DA0A0B -:1093D0009091DB0AA091DC0AB091DD0A820F931F05 -:1093E000A11DB11D8093DA0A9093DB0AA093DC0AD9 -:1093F000B093DD0A82E08093D90A75C082E480933D -:109400007C0080917A00806480937A0083E0F3CFBF -:1094100020917800309179008091DE0A9091DF0AE6 -:10942000A091E00AB091E10A820F931FA11DB11D26 -:109430008093DE0A9093DF0AA093E00AB093E10ADA -:1094400084E0D9CF10927B0081E480937C008091EE -:109450007A00806480937A0085E0CDCF20917800F7 -:10946000309179008091E20A9091E30AA091E40A98 -:10947000B091E50A820F931FA11DB11D8093E20AEE -:109480009093E30AA093E40AB093E50A86E0B3CF91 -:1094900010927B0082E480937C0080917A0080644B -:1094A00080937A0087E0A7CF2091780030917900EF -:1094B0008091E60A9091E70AA091E80AB091E90A42 -:1094C000820F931FA11DB11D8093E60A9093E70AB6 -:1094D000A093E80AB093E90A1092D90A8091EA0AA7 -:1094E0008F5F8093EA0A8091EA0A803108F471C0A4 -:1094F0002FEF3FE38091DA0A9091DB0AA901481B24 -:10950000590BCA015093AB0A4093AA0A4091DE0A54 -:109510005091DF0A241B350B3093A90A2093A80A27 -:1095200021E02093A30A1092EA0A1092DA0A10921C -:10953000DB0A1092DC0A1092DD0A1092E20A109205 -:10954000E30A1092E40A1092E50A1092E60A1092D9 -:10955000E70A1092E80A1092E90A1092DE0A1092C5 -:10956000DF0A1092E00A1092E10A20913201309154 -:1095700033018217930744F01092AF0A1092AE0A9B -:1095800080E033DE0E94DB202091AA0A3091AB0AF2 -:109590008091D20A9091D30A8217930744F01092D7 -:1095A000AF0A1092AE0A80E05FDE0E94DB202091BD -:1095B000A80A3091A90A80913401909135012817A9 -:1095C00039073CF01092AD0A1092AC0A8CDE0E9472 -:1095D000DB20FF91EF91BF91AF919F918F917F9190 -:1095E0006F915F914F913F912F910F900FBE0F9010 -:1095F0001F9018955058BB27AA270ED076C23FD28D -:1096000030F044D220F031F49F3F11F41EF40FC229 -:109610000EF4E095E7FBDCC1E92F89D280F3BA179D -:10962000620773078407950718F071F49EF5B8C2B6 -:109630000EF4E0950B2EBA2FA02D0B01B90190016D -:109640000C01CA01A0011124FF27591B99F0593FB1 -:1096500050F4503E68F11A16F040A22F232F342FF9 -:109660004427585FF3CF469537952795A795F04047 -:109670005395C9F77EF41F16BA0B620B730B840B5C -:10968000BAF09150A1F0FF0FBB1F661F771F881F14 -:10969000C2F70EC0BA0F621F731F841F48F487956C -:1096A00077956795B795F7959E3F08F0B3CF93955B -:1096B000880F08F09927EE0F979587950895DFD1C9 -:1096C00058F080E891E009F49EEFE0D128F040E8FE -:1096D00051E059F45EEF09C0AAC162C2E92FE078F7 -:1096E00026D268F3092E052AC1F326173707480743 -:1096F000590738F00E2E07F8E02569F0E025E06400 -:109700000AC0EF6307F8009407FADB01B9019D0175 -:10971000DC01CA01AD01EF935DD0E7D10AD05F91C2 -:10972000552331F02BED3FE049E450FD49EC63CF88 -:109730000895DF93DD27B92FBF7740E85FE3161662 -:10974000170648075B0710F4D92F96D29F938F9383 -:109750007F936F93A9D3E0E7F0E06CD1C6D12F914E -:109760003F914F915F9101D3DD2349F09058A2EAD8 -:109770002AED3FE049EC5FE3D0785D274DDFDF91D4 -:10978000B4C1F7D180F09F3740F491110EF409C2B3 -:1097900060E070E080E89FE3089526F01B16611DED -:1097A000711D811D1BC135C1EFD008F481E0089502 -:1097B00075D1E395ABC10CD098C168D140F05FD1B1 -:1097C00030F021F45F3F19F003C15111EAC12FC1FC -:1097D000AED198F39923C9F35523B1F3951B550BDB -:1097E000BB27AA2762177307840738F09F5F5F4F74 -:1097F000220F331F441FAA1FA9F333D00E2E3AF0B5 -:10980000E0E830D091505040E695001CCAF729D0CE -:10981000FE2F27D0660F771F881FBB1F261737071D -:109820004807AB07B0E809F0BB0B802DBF01FF274D -:1098300093585F4F2AF09E3F510568F0C9C0B1C1EF -:109840005F3FECF3983EDCF3869577956795B79587 -:10985000F7959F5FC9F7880F911D9695879597F9A2 -:109860000895E1E0660F771F881FBB1F621773071B -:109870008407BA0720F0621B730B840BBA0BEE1F30 -:1098800088F7E095089504D06894B1118AC10895CD -:1098900056D188F09F5790F0B92F9927B751A0F073 -:1098A000D1F0660F771F881F991F1AF0BA95C9F774 -:1098B00012C0B13081F074D1B1E0089571C1672F49 -:1098C000782F8827B85F39F0B93FCCF38695779524 -:1098D0006795B395D9F73EF490958095709561950D -:1098E0007F4F8F4F9F4F0895E89409C097FB3EF438 -:1098F00090958095709561957F4F8F4F9F4F9923DD -:10990000A9F0F92F96E9BB279395F695879577955A -:109910006795B795F111F8CFFAF4BB0F11F460FF1A -:109920001BC06F5F7F4F8F4F9F4F16C0882311F072 -:1099300096E911C0772321F09EE8872F762F05C086 -:10994000662371F096E8862F70E060E02AF09A9521 -:10995000660F771F881FDAF7880F9695879597F916 -:10996000089507D180F09F3740F491110EF019C18E -:1099700060E070E080E89FEB089526F41B16611DFF -:10998000711D811D2BC045C0990F0008550FAA0BF2 -:10999000E0E8FEEF16161706E807F907C0F0121602 -:1099A0001306E407F50798F0621B730B840B950B05 -:1099B00039F40A2661F0232B242B252B21F408955A -:1099C0000A2609F4A140A6958FEF811D811D0895F7 -:1099D00097F99F6780E870E060E00895882371F44C -:1099E000772321F09850872B762F07C0662311F438 -:1099F00099270DC09051862B70E060E02AF09A956F -:109A0000660F771F881FDAF7880F9695879597F965 -:109A100008959F3F31F0915020F487957795679591 -:109A2000B795880F911D9695879597F908959FEFA3 -:109A300080EC0895DF93CF931F930F93FF92EF92E3 -:109A4000DF927B018C01689405C0DA2EEF018DD185 -:109A5000FE01E894A5912591359145915591AEF37C -:109A6000EF01DADDFE019701A801DA9479F7DF90C2 -:109A7000EF90FF900F911F91CF91DF9108950024F7 -:109A80000A941616170618060906089500240A9463 -:109A900012161306140605060895C9CF50D0E8F330 -:109AA000E894E0E0BB279F57F0F02AED3FE049EC57 -:109AB00006C0EE0FBB0F661F771F881F28F0B23A53 -:109AC00062077307840728F0B25A620B730B840B8A -:109AD000E3959A9572F7803830F49A95BB0F661F1C -:109AE000771F881FD2F7904896CF092E0394000C59 -:109AF00011F4882352F0BB0F40F4BF2B11F460FF28 -:109B000004C06F5F7F4F8F4F9F4F0895EF93E0FF2B -:109B100006C0A2EA2AED3FE049EC5FEB7DDDE5DF20 -:109B20000F90039401FC9058EDE9F0E0C7C157FD98 -:109B30009058440F551F59F05F3F71F04795880FBB -:109B400097FB991F61F09F3F79F087950895121652 -:109B500013061406551FF2CF4695F1DF08C01616FE -:109B600017061806991FF1CF8695710561050894AF -:109B70000895E5DFA0F0BEE7B91788F4BB279F384A -:109B800060F41616B11D672F782F8827985FF7CFDE -:109B9000869577956795B11D93959639C8F3089585 -:109BA000E894BB2766277727CB0197F90895ECDE69 -:109BB00008F48FEF089563DF19F068DF09F037CFFD -:109BC00007CFB901CA0125CF9F775F77B0DF98F340 -:109BD0009923B9F35523B9F3FF27951758F4E52FC7 -:109BE000E91BED3070F75E3B10F0F1E41CC09034DF -:109BF000E0F40AC0E92FE51BED3028F79E3B10F09A -:109C0000F1E411C0503488F4F9EA88232AF09A95D7 -:109C1000660F771F881FDAF744232AF05A95220F20 -:109C2000331F441FDAF79F1B5F1BFF931F930F9394 -:109C3000FF92EF9279018A01BB27AB2F9B01AC0108 -:109C400096D09701A801BF937B018C01AA27BA2F58 -:109C5000B901CA018CD0AF919701A801EF90FF9094 -:109C60000F911F91D9DC41DFE1D04F9140FF089562 -:109C7000552747FD509509C09B01AC0160E070E09D -:109C800080E89FE398CDA4CEC4CE59DFE8F39923B2 -:109C9000D9F3940F511DBBF39150504094F059F0FB -:109CA000882332F0660F771F881F91505040C1F70C -:109CB0009E3F510544F7880F911D9695879597F91A -:109CC00008955F3FACF0983E9CF0BB278695779552 -:109CD0006795B79508F4B1609395C1F7BB0F58F736 -:109CE00011F460FFE8CF6F5F7F4F8F4F9F4FE3CF3F -:109CF00058CF25DF58F19E5758F19851A0F0E9F060 -:109D0000983020F5092E9927660F771F881F991F15 -:109D10000A94D1F712C0062E672F782F8827985FF4 -:109D200011F4000C07C0993FB4F3869577956795B9 -:109D30009395D9F7611D711D811D3EF49095809515 -:109D4000709561957F4F8F4F9F4F0895689429CFED -:109D500027CF0BD0CACE93DE28F098DE18F09523DB -:109D600009F036CE64CE11241CCFE1DEA0F3959F1E -:109D7000D1F3950F50E0551F629FF001729FBB27F2 -:109D8000F00DB11D639FAA27F00DB11DAA1F649F9E -:109D90006627B00DA11D661F829F2227B00DA11D51 -:109DA000621F739FB00DA11D621F839FA00D611DD7 -:109DB000221F749F3327A00D611D231F849F600DF8 -:109DC000211D822F762F6A2F11249F5750408AF031 -:109DD000E1F088234AF0EE0FFF1FBB1F661F771FBD -:109DE000881F91505040A9F79E3F510570F0F0CD6B -:109DF000D8CE5F3FECF3983EDCF386957795679578 -:109E0000B795F795E7959F5FC1F7FE2B880F911DDA -:109E10009695879597F908959F9340DE0F9007FCDC -:109E2000EE5F74CE11F40EF402CEF3CD88DED0F3E3 -:109E30009923D9F3CEF39F57550B87FF38D00024D1 -:109E4000A0E640EA900180585695979528F4805CEA -:109E5000660F771F881F20F026173707480730F452 -:109E6000621B730B840B202931294A2BA69517946A -:109E70000794202531254A2758F7660F771F881F3A -:109E800020F026173707480730F4620B730B840B5A -:109E9000200D311D411DA09581F7B901842F9158E6 -:109EA000880F9695879508959B01AC0152CF9150EC -:109EB0005040660F771F881FD2F708959F938F93A6 -:109EC0007F936F93FF93EF939B01AC0142DFEF9180 -:109ED000FF91B0DD2F913F914F915F913ACF6ED0BE -:109EE000A59F900DB49F900DA49F800D911D1124EE -:109EF0000895B7FFF4CFF3DF821B930B0895DB01C6 -:109F00008F939F93ECDFBF91AF91A29F800D911D26 -:109F1000A39F900DB29F900D1124089597FB072EDB -:109F200016F4009406D077FD08D054D007FC05D075 -:109F30003EF4909581959F4F0895709561957F4F60 -:109F40000895A1E21A2EAA1BBB1BFD010DC0AA1F7A -:109F5000BB1FEE1FFF1FA217B307E407F50720F092 -:109F6000A21BB30BE40BF50B661F771F881F991F0D -:109F70001A9469F760957095809590959B01AC0156 -:109F8000BD01CF010895052E97FB16F4009406D06D -:109F900057FD0CD0D6DF07FC09D07EF49095809554 -:109FA000709561957F4F8F4F9F4F089550954095C5 -:109FB000309521953F4F4F4F5F4F0895A29FB001BD -:109FC000B39FC001A39F01D0B29F700D811D1124CA -:109FD000911D0895AA1BBB1B51E107C0AA1FBB1FFF -:109FE000A617B70710F0A61BB70B881F991F5A9525 -:109FF000A9F780959095BC01CD010895A0E0B0E04F -:10A00000E3E0F0E536C58B016115710519F0FB0140 -:10A01000808391837C01F701C1907F01EF018C2D3A -:10A0200090E04AD2892BB9F7FDE2CF1204C0C99063 -:10A03000DD24D39405C02BE2C21201C0C990D12CFB -:10A040007E0141E0E41AF10843E050E06FEB7FE06D -:10A05000C7013AD2892BE1F47E0182E0E80EF11CBF -:10A0600045E050E062EC7FE0C7012ED2892B21F45D -:10A070007E01E7E0EE0EF11C0115110519F0F80163 -:10A08000F182E08210E0D0E0C0E8D110F5C0F9C064 -:10A0900043E050E067EC7FE0C70116D2892B49F41A -:10A0A0000115110509F4EAC02296F801D183C08395 -:10A0B000E5C060E070E0CB01E12CF12CEC2DE05329 -:10A0C000EA3040F5FD2DF2602D2D2870D2FE06C03D -:10A0D000211126C02FEFE21AF20A22C0222319F022 -:10A0E00041E0E41AF108A5E0B0E09B01AC01F7DE25 -:10A0F000660F771F881F991F6E0F711D811D911D9F -:10A100006839E9E97E078E07E9E19E0748F0FD2DF1 -:10A11000F66006C0EE3F39F4D3FC3DC0FD2DF8607B -:10A12000C990DF2ECBCFE53311F0E531A1F5A88141 -:10A13000AD3219F4F0E1DF2A06C0AB3221F02196EE -:10A1400021E030E004C0A981229622E030E0A05353 -:10A15000AA3018F0C21BD30B1EC0FE0120E030E075 -:10A1600020384CE034075CF4A901440F551F440F1C -:10A17000551F240F351F220F331F2A0F311DA191A8 -:10A18000A053EF01AA3060F3D4FE03C031952195AE -:10A190003109E20EF31ED1FE07C00115110521F0B1 -:10A1A0002197F801D183C0839FDB2D2D23702330AD -:10A1B00029F0162FD72FC82F092F07C0DC01CB019C -:10A1C000B058182FD92FCA2F0B2F20E030E0A9014B -:10A1D000612F7D2F8C2F902FE7DA882309F452C04E -:10A1E000F7FE08C0F194E194F10836EFC32E3FE08A -:10A1F000D32E04C02EEDC22E2FE0D22E4601F8E160 -:10A200008F1A910890E2A92EB12C14C0F601459145 -:10A21000559165917491242F352F462F572F612F1B -:10A220007D2F8C2F902F95DD162FD72FC82F092F1C -:10A23000EA18FB08EA14FB044CF724E0C21AD10820 -:10A24000B594A794C814D904A9F7612F7D2F8C2F3A -:10A25000902F282F220F292F221F2F3F31F020E08F -:10A2600030E0A901A1DA81110DC082E290E0909363 -:10A27000F00A8093EF0A06C00FEF04C010E0D0E0B0 -:10A28000C0EC0FE7612F7D2F8C2F902FCDB7DEB75D -:10A29000ECE00BC4A0E0B0E0EFE4F1E5E6C32B0195 -:10A2A0008A016115710519F0FB0180839183011505 -:10A2B000110539F09801225031092332310508F097 -:10A2C000E3C07C01F701C1917F013F018C2F90E039 -:10A2D000F3D0892BB9F7CD3229F4F701C1913F01B1 -:10A2E000D1E006C0CB3219F4F701C1913F01D0E0B3 -:10A2F0000115110509F4D6C00031110581F4CEC055 -:10A30000F3018081883719F0883509F0C1C0F30165 -:10A31000C181F2E06F0E711CD26000E110E00830E4 -:10A320001105D9F024F402301105F9F407C00A3000 -:10A33000110551F000311105C1F424C0C12CD12CFC -:10A34000E12C30E4F32E23C00AE010E02CECC22E06 -:10A35000DC2CEC2C2CE0F22E1AC008E010E0C12C12 -:10A36000D12CE12C90E1F92E12C09801442737FD41 -:10A370004095542F60E070E080E090E8E2DD6901F4 -:10A380007A0105C0C12CD12CE12C88E0F82E40E0E8 -:10A3900060E070E0CB014801AA2497FCA094BA2C9D -:10A3A000EC2FE053EA3060F02C2F21542A3110F4C6 -:10A3B000E75006C02C2F21562A3120F5EC2FE75507 -:10A3C0002E2F30E020173107ECF447FD17C0C616DA -:10A3D000D706E806F90678F09B01AC01C501B40187 -:10A3E0008EDD6E0F711D811D911D6130710581051E -:10A3F00020E8920710F04FEF01C041E0F301C19156 -:10A400003F01CECF4114510491F0442339F0F1E0E3 -:10A410006F1A7108F2017182608209C0D1FF1BC0FE -:10A42000F2E06F1A7108F2017182608214C047FF76 -:10A4300012C0D0FF05C060E070E080E090E804C08A -:10A440006FEF7FEF8FEF9FE722E230E03093F00A6B -:10A450002093EF0A16C0D0FF08C0909580957095A4 -:10A4600061957F4F8F4F9F4F0CC097FF0AC082E2CC -:10A4700090E09093F00A8093EF0A6FEF7FEF8FEFF9 -:10A480009FE76B017C0112C0C12CD12C76010EC05C -:10A49000C0E30115110509F460CF41CFC03309F0C5 -:10A4A0003ECF2ECFC03309F04FCF2ACFB601C70120 -:10A4B000CDB7DEB7E0E1F5C2911132C2803219F0BA -:10A4C00089508550D0F70895FB01DC014150504080 -:10A4D00088F08D9181341CF08B350CF4805E659191 -:10A4E00061341CF06B350CF4605E861B611171F3F6 -:10A4F000990B0895881BFCCFFC018191861721F0F0 -:10A500008823D9F7992708953197CF010895FB0142 -:10A5100051915523A9F0BF01DC014D91451741111F -:10A52000E1F759F4CD010190002049F04D9140151B -:10A530004111C9F3FB014111EFCF81E090E0019798 -:10A540000895A0E1B0E0E6EAF2E59BC20F89188D1C -:10A5500086E08C831A8309838FEF9FE79E838D8328 -:10A56000AE01455E5F4F588B4F87698D7A8DCE0166 -:10A57000019608D0EF81F885E00FF11F10826096F8 -:10A58000E4E09BC2ACE0B0E0E7ECF2E56CC27C0139 -:10A590006B018A01FC0117821682838181FFBAC197 -:10A5A00088248394912C8C0E9D1EF7019381F601D3 -:10A5B00093FD859193FF81916F01882309F4A6C1D2 -:10A5C000853239F493FD859193FF81916F01853236 -:10A5D00021F4B70190E0BDD1E8CF712C312C20E0FF -:10A5E0002032A8F48B3261F028F4803251F08332AB -:10A5F00071F40BC08D3239F0803349F4216028C0EA -:10A600002260246025C0286023C0206121C027FD6E -:10A6100027C0382F30533A3078F426FF06C0FAE0CE -:10A620007F9E300D1124732E13C08AE0389E300DAA -:10A630001124332E20620CC08E3221F426FD66C117 -:10A64000206406C08C3611F4206802C0883641F4BC -:10A65000F60193FD859193FF81916F018111C0CF28 -:10A66000982F9554933018F09052933028F40C5F43 -:10A670001F4FFFE3F9830DC0833631F0833771F04C -:10A68000833509F05AC022C0F801808189830E5FAA -:10A690001F4F66246394712C540114C02801F2E00A -:10A6A0004F0E511CF801A080B18026FF03C0672D1A -:10A6B00070E002C06FEF7FEFC5012C873FD13C01F6 -:10A6C00082012C856FE7262E222217C02801F2E096 -:10A6D0004F0E511CF801A080B18026FF03C0672DEA -:10A6E00070E002C06FEF7FEFC5012C871CD13C01E9 -:10A6F0002C8550E8252E222A820123FC1AC005C091 -:10A70000B70180E290E025D13A94832D90E068165D -:10A710007906B0F30EC0F50127FC859127FE8191E3 -:10A720005F01B70190E015D131103A94F1E06F1A52 -:10A7300071086114710479F7E6C0843611F0893626 -:10A7400039F5F80127FF07C060817181828193810B -:10A750000C5F1F4F08C060817181882777FD80954D -:10A76000982F0E5F1F4F4FE6642E622297FF09C09D -:10A7700090958095709561957F4F8F4F9F4FF0E832 -:10A780006F2A2AE030E0A40110D1A82EA81843C0F7 -:10A79000853731F43FEEB32EB2222AE030E024C0F8 -:10A7A00099EFB92EB2228F36B9F020F4883509F02E -:10A7B000ADC00DC0803721F0883709F0A7C002C0B6 -:10A7C00020E1B22AB4FE0BC084E0B82A08C024FFFE -:10A7D00009C0E6E0BE2A06C028E030E005C020E15E -:10A7E00030E002C020E132E0F801B7FE07C060812E -:10A7F0007181828193810C5F1F4F06C060817181DE -:10A8000080E090E00E5F1F4FA401CFD0A82EA818C3 -:10A810008FE7682E6B2066FE0BC0362D3E7FA71497 -:10A8200050F464FE0AC062FC08C0362D3E7E05C0AE -:10A83000BA2C362D03C0BA2C01C0B72C34FF0DC082 -:10A84000FE01EA0DF11D8081803311F4397E09C0CB -:10A8500032FF06C0B394B39404C0832F867809F006 -:10A86000B39433FD13C030FF0EC07A2CB31458F4E8 -:10A87000730C7B18B32C07C0B70180E290E03C87D3 -:10A8800068D0B3943C85B314B8F304C0B31410F487 -:10A890003B1801C0312C34FF11C0B70180E390E0B8 -:10A8A0003C8757D03C8532FF1CC031FF03C088E590 -:10A8B00090E002C088E790E0B7010CC0832F867853 -:10A8C00081F031FD02C080E201C08BE237FD8DE2F4 -:10A8D000B70190E03ED005C0B70180E390E039D0E9 -:10A8E0007A94A714C8F3AA94F401EA0DF11DB701F4 -:10A8F000808190E02ED0A110F6CF05C0B70180E294 -:10A9000090E027D03A943110F9CF4FCEF70126814D -:10A91000378102C02FEF3FEFC9012C96E2E1BFC0A3 -:10A92000992788270895FC01059061507040011017 -:10A93000D8F7809590958E0F9F1F0895FC01615068 -:10A94000704001900110D8F7809590958E0F9F1F51 -:10A9500008950F931F93CF93DF938C01EB018B81AD -:10A9600081FD03C00FEF1FEF1AC082FF0DC02E81C3 -:10A970003F818C819D812817390764F4E881F98132 -:10A980000193F983E88306C0E885F985802F09954E -:10A99000892B41F78E819F8101969F838E83C80109 -:10A9A000DF91CF911F910F910895FA01AA272830C6 -:10A9B00051F1203181F1E8946F936E7F6E5F7F4F8C -:10A9C0008F4F9F4FAF4FB1E03ED0B4E03CD0670F08 -:10A9D000781F891F9A1FA11D680F791F8A1F911D5B -:10A9E000A11D6A0F711D811D911DA11D20D009F4AB -:10A9F00068943F912AE0269F11243019305D3193ED -:10AA0000DEF6CF010895462F4770405D4193B3E0D5 -:10AA10000FD0C9F7F6CF462F4F70405D4A3318F07C -:10AA2000495D31FD4052419302D0A9F7EACFB4E02D -:10AA3000A6959795879577956795BA95C9F70097E5 -:10AA40006105710508959B01AC010A2E0694579586 -:10AA5000479537952795BA95C9F7620F731F841FDD -:10AA6000951FA01D08952F923F924F925F926F9273 -:10AA70007F928F929F92AF92BF92CF92DF92EF928E -:10AA8000FF920F931F93CF93DF93CDB7DEB7CA1B0F -:10AA9000DB0B0FB6F894DEBF0FBECDBF09942A883A -:10AAA000398848885F846E847D848C849B84AA84E2 -:10AAB000B984C884DF80EE80FD800C811B81AA816F -:10AAC000B981CE0FD11D0FB6F894DEBF0FBECDBF3A -:08AAD000ED010895F894FFCF99 -:10AAD8006400640000803B4500803B4500007043F3 -:10AAE800000000000080BB440160EA000001010191 -:10AAF80001010000803F75608944A97E443E713D94 -:10AB0800E841FF3FFF3F010000A04214AE9F420012 -:10AB1800002045F6C815440000FA430000FA430037 -:10AB280000A04000003442282300002823000064CD -:10AB3800000000102700005573696E6720446566A1 -:10AB480061756C742073657474696E67733A004D2F -:10AB5800313130004820004C20002569206D696E95 -:10AB68002C20256920736563004D31303420496EEF -:10AB780076616C696420657874727564657220000A -:10AB88004D31303520496E76616C69642065787482 -:10AB9800727564657220004D31303920496E7661D6 -:10ABA8006C696420657874727564657220003F0072 -:10ABB8006F6B0020703A0020693A0020643A002048 -:10ABC800633A005400496E76616C69642065787454 -:10ABD800727564657200416374697665204578749E -:10ABE80072756465723A200058595A450000010090 -:10ABF8001A0019000A000000FFFF1C001B000A00D1 -:10AC08000100FFFF170016000A000200FFFFFFFF08 -:10AC1800FFFF04000E00180015000A0003000000E2 -:10AC28000100020002002E005374657072617465A1 -:10AC380020746F2068696768203A200050494420D2 -:10AC48004175746F74756E65207374617274000059 -:00000001FF diff --git a/examples/board_reprap/marlin/pins.h b/examples/board_reprap/marlin/pins.h deleted file mode 100644 index 126ef34..0000000 --- a/examples/board_reprap/marlin/pins.h +++ /dev/null @@ -1,1122 +0,0 @@ -#ifndef PINS_H -#define PINS_H - -#if MOTHERBOARD == 99 -#define KNOWN_BOARD 1 - -#define X_STEP_PIN 2 -#define X_DIR_PIN 3 -#define X_ENABLE_PIN -1 -#define X_MIN_PIN -1 -#define X_MAX_PIN 16 - -#define Y_STEP_PIN 5 -#define Y_DIR_PIN 6 -#define Y_ENABLE_PIN -1 -#define Y_MIN_PIN 67 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 62 -#define Z_DIR_PIN 63 -#define Z_ENABLE_PIN -1 -#define Z_MIN_PIN 59 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 65 -#define E0_DIR_PIN 66 -#define E0_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN 9 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_2_PIN -1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#endif /* 99 */ - -/**************************************************************************************** -* Gen7 v1.1, v1.2, v1.3, v1.4 pin assignment -* -****************************************************************************************/ - - -#if MOTHERBOARD == 13 -#define MOTHERBOARD 11 -#define GEN7_VERSION 14 // v1.4 -#endif - -#if MOTHERBOARD == 12 -#define MOTHERBOARD 11 -#define GEN7_VERSION 13 // v1.3 -#endif - -#if MOTHERBOARD == 11 -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) -#error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -#ifndef GEN7_VERSION -#define GEN7_VERSION 12 // v1.x -#endif - -//x axis pins -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 7 -#define X_MAX_PIN -1 - -//y axis pins -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_MIN_PIN 5 -#define Y_MAX_PIN -1 - -//z axis pins -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 1 -#define Z_MAX_PIN 0 - -//extruder pins -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define TEMP_0_PIN 1 -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 2 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 3 - - -#define SDPOWER -1 -#define SDSS -1 // SCL pin of I2C header -#define LED_PIN -1 - -#if (GEN7_VERSION >= 13) -// Gen7 v1.3 removed the fan pin -#define FAN_PIN -1 -#else -#define FAN_PIN 31 -#endif -#define PS_ON_PIN 15 - -#if (GEN7_VERSION < 14) -// Gen 1.3 and earlier supplied thermistor power via PS_ON -// Need to ignore the bad thermistor readings on those units -#define BOGUS_TEMPERATURE_FAILSAFE_OVERRIDE -#endif - -//our pin for debugging. -#define DEBUG_PIN 0 - -//our RS485 pins -#define TX_ENABLE_PIN 12 -#define RX_ENABLE_PIN 13 - -#endif - -/******************************************************************************* -********* -* Gen7 Alfons3 pin assignment -* -******************************************************************************** -********/ -/* These Pins are assigned for the modified GEN7 Board from Alfons3 Please review the pins and adjust it for your needs*/ - -#if MOTHERBOARD == 10 -#define KNOWN_BOARD - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) && !defined(__AVR_ATmega1284P__) - #error Oops! Make sure you have 'Gen7' selected from the 'Tools -> Boards' menu. - -#endif - -//x axis pins - #define X_STEP_PIN 21 //different from stanard GEN7 - #define X_DIR_PIN 20 //different from stanard GEN7 - #define X_ENABLE_PIN 24 - #define X_MIN_PIN 0 - #define X_MAX_PIN -1 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_MIN_PIN 1 - #define Y_MAX_PIN -1 - - //z axis pins - #define Z_STEP_PIN 26 - #define Z_DIR_PIN 25 - #define Z_ENABLE_PIN 24 - #define Z_MIN_PIN 2 - #define Z_MAX_PIN -1 - - //extruder pins - #define E0_STEP_PIN 28 - #define E0_DIR_PIN 27 - #define E0_ENABLE_PIN 24 - - #define TEMP_0_PIN 2 - #define TEMP_1_PIN -1 - #define TEMP_2_PIN -1 - #define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) - - #define HEATER_0_PIN 4 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #define HEATER_BED_PIN 3 // (bed) - - #define SDPOWER -1 - #define SDSS 31 // SCL pin of I2C header || CS Pin for SD Card support - #define LED_PIN -1 - - #define FAN_PIN -1 - #define PS_ON_PIN 19 - //our pin for debugging. - - #define DEBUG_PIN -1 - - //our RS485 pins - //#define TX_ENABLE_PIN 12 - //#define RX_ENABLE_PIN 13 - - #define BEEPER -1 - #define SDCARDDETECT -1 - #define SUICIDE_PIN -1 //has to be defined; otherwise Power_off doesn't work - - //Pins for 4bit LCD Support - #define LCD_PINS_RS 18 - #define LCD_PINS_ENABLE 17 - #define LCD_PINS_D4 16 - #define LCD_PINS_D5 15 - #define LCD_PINS_D6 13 - #define LCD_PINS_D7 14 - - //buttons are directly attached - #define BTN_EN1 11 - #define BTN_EN2 10 - #define BTN_ENC 12 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 -#endif - -/**************************************************************************************** -* Arduino Mega pin assignment -* -****************************************************************************************/ -#if MOTHERBOARD == 3 || MOTHERBOARD == 33 || MOTHERBOARD == 34 -#define KNOWN_BOARD 1 - -//////////////////FIX THIS////////////// -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1 -// #define RAMPS_V_1_3 -// #define RAMPS_V_1_0 - -#if MOTHERBOARD == 33 || MOTHERBOARD == 34 - -#define X_STEP_PIN 54 -#define X_DIR_PIN 55 -#define X_ENABLE_PIN 38 -#define X_MIN_PIN 3 -#define X_MAX_PIN 2 //2 //Max endstops default to disabled "-1", set to commented value to enable. - -#define Y_STEP_PIN 60 -#define Y_DIR_PIN 61 -#define Y_ENABLE_PIN 56 -#define Y_MIN_PIN 14 -#define Y_MAX_PIN 15 //15 - -#define Z_STEP_PIN 46 -#define Z_DIR_PIN 48 -#define Z_ENABLE_PIN 62 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN 19 - -#define E0_STEP_PIN 26 -#define E0_DIR_PIN 28 -#define E0_ENABLE_PIN 24 - -#define E1_STEP_PIN 36 -#define E1_DIR_PIN 34 -#define E1_ENABLE_PIN 30 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 - -#if MOTHERBOARD == 33 -#define FAN_PIN 9 // (Sprinter config) -#else -#define FAN_PIN 4 // IO pin. Buffer needed -#endif -#define PS_ON_PIN 12 -#define KILL_PIN -1 - -#define HEATER_0_PIN 10 // EXTRUDER 1 -#if MOTHERBOARD == 33 -#define HEATER_1_PIN -1 -#else -#define HEATER_1_PIN 9 // EXTRUDER 2 (FAN On Sprinter) -#endif -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 13 // ANALOG NUMBERING -#define TEMP_1_PIN 15 // ANALOG NUMBERING -#define TEMP_2_PIN -1 // ANALOG NUMBERING -#define HEATER_BED_PIN 8 // BED -#define TEMP_BED_PIN 14 // ANALOG NUMBERING - -#ifdef ULTRA_LCD - - #ifdef NEWPANEL - //arduino pin which triggers an piezzo beeper - #define BEEPER 33 // Beeper on AUX-4 - - #define LCD_PINS_RS 16 - #define LCD_PINS_ENABLE 17 - #define LCD_PINS_D4 23 - #define LCD_PINS_D5 25 - #define LCD_PINS_D6 27 - #define LCD_PINS_D7 29 - - //buttons are directly attached using AUX-2 - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT -1 // Ramps does not use this port - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - - #else //old style panel with shift register - //arduino pin witch triggers an piezzo beeper - #define BEEPER 33 No Beeper added - - //buttons are attached to a shift register - // Not wired this yet - //#define SHIFT_CLK 38 - //#define SHIFT_LD 42 - //#define SHIFT_OUT 40 - //#define SHIFT_EN 17 - - #define LCD_PINS_RS 16 - #define LCD_PINS_ENABLE 17 - #define LCD_PINS_D4 23 - #define LCD_PINS_D5 25 - #define LCD_PINS_D6 27 - #define LCD_PINS_D7 29 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - - - //bits in the shift register that carry the buttons for: - // left up center down right red - #define BL_LE 7 - #define BL_UP 6 - #define BL_MI 5 - #define BL_DW 4 - #define BL_RI 3 - #define BL_ST 2 - - #define BLEN_B 1 - #define BLEN_A 0 - #endif -#endif //ULTRA_LCD - -#else // RAMPS_V_1_1 or RAMPS_V_1_2 as default - -#define X_STEP_PIN 26 -#define X_DIR_PIN 28 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 3 -#define X_MAX_PIN -1 //2 - -#define Y_STEP_PIN 38 -#define Y_DIR_PIN 40 -#define Y_ENABLE_PIN 36 -#define Y_MIN_PIN 16 -#define Y_MAX_PIN -1 //17 - -#define Z_STEP_PIN 44 -#define Z_DIR_PIN 46 -#define Z_ENABLE_PIN 42 -#define Z_MIN_PIN 18 -#define Z_MAX_PIN -1 //19 - -#define E0_STEP_PIN 32 -#define E0_DIR_PIN 34 -#define E0_ENABLE_PIN 30 - -#define SDPOWER 48 -#define SDSS 53 -#define LED_PIN 13 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#ifdef RAMPS_V_1_0 // RAMPS_V_1_0 - #define HEATER_0_PIN 12 // RAMPS 1.0 - #define HEATER_BED_PIN -1 // RAMPS 1.0 - #define FAN_PIN 11 // RAMPS 1.0 -#else // RAMPS_V_1_1 or RAMPS_V_1_2 - #define HEATER_0_PIN 10 // RAMPS 1.1 - #define HEATER_BED_PIN 8 // RAMPS 1.1 - #define FAN_PIN 9 // RAMPS 1.1 -#endif -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 2 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 1 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#endif - -// SPI for Max6675 Thermocouple - -#ifndef SDSUPPORT -// these pins are defined in the SD library if building with SD support - #define MAX_SCK_PIN 52 - #define MAX_MISO_PIN 50 - #define MAX_MOSI_PIN 51 - #define MAX6675_SS 53 -#else - #define MAX6675_SS 49 -#endif - -#endif - -/**************************************************************************************** -* Duemilanove w/ ATMega328P pin assignment -* -****************************************************************************************/ -#if MOTHERBOARD == 4 -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega328P__ -#error Oops! Make sure you have 'Arduino Duemilanove w/ ATMega328' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 19 -#define X_DIR_PIN 18 -#define X_ENABLE_PIN -1 -#define X_MIN_PIN 17 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 10 -#define Y_DIR_PIN 7 -#define Y_ENABLE_PIN -1 -#define Y_MIN_PIN 8 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 13 -#define Z_DIR_PIN 3 -#define Z_ENABLE_PIN 2 -#define Z_MIN_PIN 4 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 11 -#define E0_DIR_PIN 12 -#define E0_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN -1 -#define FAN_PIN 5 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 6 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#endif - -/**************************************************************************************** -* Gen6 pin assignment -* -****************************************************************************************/ -#if MOTHERBOARD == 5 || MOTHERBOARD == 51 -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -//x axis pins - #define X_STEP_PIN 15 - #define X_DIR_PIN 18 - #define X_ENABLE_PIN 19 - #define X_MIN_PIN 20 - #define X_MAX_PIN -1 - - //y axis pins - #define Y_STEP_PIN 23 - #define Y_DIR_PIN 22 - #define Y_ENABLE_PIN 24 - #define Y_MIN_PIN 25 - #define Y_MAX_PIN -1 - - //z axis pins - #define Z_STEP_PIN 27 - #define Z_DIR_PIN 28 - #define Z_ENABLE_PIN 29 - #define Z_MIN_PIN 30 - #define Z_MAX_PIN -1 - - //extruder pins - #define E0_STEP_PIN 4 //Edited @ EJE Electronics 20100715 - #define E0_DIR_PIN 2 //Edited @ EJE Electronics 20100715 - #define E0_ENABLE_PIN 3 //Added @ EJE Electronics 20100715 - #define TEMP_0_PIN 5 //changed @ rkoeppl 20110410 - #define TEMP_1_PIN -1 //changed @ rkoeppl 20110410 - - - #define TEMP_2_PIN -1 //changed @ rkoeppl 20110410 - #define HEATER_0_PIN 14 //changed @ rkoeppl 20110410 - #define HEATER_1_PIN -1 - #define HEATER_2_PIN -1 - #if MOTHERBOARD == 5 - #define HEATER_BED_PIN -1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN -1 //changed @ rkoeppl 20110410 - #else - #define HEATER_BED_PIN 1 //changed @ rkoeppl 20110410 - #define TEMP_BED_PIN 0 //changed @ rkoeppl 20110410 - #endif - #define SDPOWER -1 - #define SDSS 17 - #define LED_PIN -1 //changed @ rkoeppl 20110410 - #define FAN_PIN -1 //changed @ rkoeppl 20110410 - #define PS_ON_PIN -1 //changed @ rkoeppl 20110410 - //our pin for debugging. - - #define DEBUG_PIN 0 - - //our RS485 pins - #define TX_ENABLE_PIN 12 - #define RX_ENABLE_PIN 13 - - -#endif - -/**************************************************************************************** -* Sanguinololu pin assignment -* -****************************************************************************************/ -#if MOTHERBOARD == 62 -#undef MOTHERBOARD -#define MOTHERBOARD 6 -#define SANGUINOLOLU_V_1_2 -#endif -#if MOTHERBOARD == 6 -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 21 -#define X_MIN_PIN 18 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 22 -#define Y_DIR_PIN 23 -#define Y_MIN_PIN 19 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 3 -#define Z_DIR_PIN 2 -#define Z_MIN_PIN 20 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 1 -#define E0_DIR_PIN 0 - -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 13 // (extruder) -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 - -#ifdef SANGUINOLOLU_V_1_2 - -#define HEATER_BED_PIN 12 // (bed) -#define X_ENABLE_PIN 14 -#define Y_ENABLE_PIN 14 -#define Z_ENABLE_PIN 26 -#define E0_ENABLE_PIN 14 - -#else - -#define HEATER_BED_PIN 14 // (bed) -#define X_ENABLE_PIN -1 -#define Y_ENABLE_PIN -1 -#define Z_ENABLE_PIN -1 -#define E0_ENABLE_PIN -1 - -#endif - -#define TEMP_0_PIN 7 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define SDPOWER -1 -#define SDSS 31 - -#endif - - -#if MOTHERBOARD == 7 -#define KNOWN_BOARD -/***************************************************************** -* Ultimaker pin assignment -******************************************************************/ - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_MIN_PIN 22 -#define X_MAX_PIN 24 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_MIN_PIN 26 -#define Y_MAX_PIN 28 -#define Y_ENABLE_PIN 29 - -#define Z_STEP_PIN 37 -#define Z_DIR_PIN 39 -#define Z_MIN_PIN 30 -#define Z_MAX_PIN 32 -#define Z_ENABLE_PIN 35 - -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 10 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 3 -#define TEMP_1_PIN 9 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 43 -#define E0_DIR_PIN 45 -#define E0_ENABLE_PIN 41 - -#define E1_STEP_PIN 49 -#define E1_DIR_PIN 47 -#define E1_ENABLE_PIN 51 - -#define SDPOWER -1 -#define SDSS 53 -#define LED_PIN 13 -#define FAN_PIN 7 -#define PS_ON_PIN 12 -#define KILL_PIN -1 -#define SUICIDE_PIN 54 //PIN that has to be turned on right after start, to keep power flowing. - -#ifdef ULTRA_LCD - - #ifdef NEWPANEL - //arduino pin witch triggers an piezzo beeper - #define BEEPER 18 - - #define LCD_PINS_RS 20 - #define LCD_PINS_ENABLE 17 - #define LCD_PINS_D4 16 - #define LCD_PINS_D5 21 - #define LCD_PINS_D6 5 - #define LCD_PINS_D7 6 - - //buttons are directly attached - #define BTN_EN1 40 - #define BTN_EN2 42 - #define BTN_ENC 19 //the click - - #define BLEN_C 2 - #define BLEN_B 1 - #define BLEN_A 0 - - #define SDCARDDETECT 38 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - #else //old style panel with shift register - //arduino pin witch triggers an piezzo beeper - #define BEEPER 18 - - //buttons are attached to a shift register - #define SHIFT_CLK 38 - #define SHIFT_LD 42 - #define SHIFT_OUT 40 - #define SHIFT_EN 17 - - #define LCD_PINS_RS 16 - #define LCD_PINS_ENABLE 5 - #define LCD_PINS_D4 6 - #define LCD_PINS_D5 21 - #define LCD_PINS_D6 20 - #define LCD_PINS_D7 19 - - //encoder rotation values - #define encrot0 0 - #define encrot1 2 - #define encrot2 3 - #define encrot3 1 - - #define SDCARDDETECT -1 - //bits in the shift register that carry the buttons for: - // left up center down right red - #define BL_LE 7 - #define BL_UP 6 - #define BL_MI 5 - #define BL_DW 4 - #define BL_RI 3 - #define BL_ST 2 - - #define BLEN_B 1 - #define BLEN_A 0 - #endif -#endif //ULTRA_LCD - -#endif - -#if MOTHERBOARD == 71 -#define KNOWN_BOARD -/***************************************************************** -* Ultimaker pin assignment (Old electronics) -******************************************************************/ - -#ifndef __AVR_ATmega1280__ - #ifndef __AVR_ATmega2560__ - #error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu. - #endif -#endif - -#define X_STEP_PIN 25 -#define X_DIR_PIN 23 -#define X_MIN_PIN 15 -#define X_MAX_PIN 14 -#define X_ENABLE_PIN 27 - -#define Y_STEP_PIN 31 -#define Y_DIR_PIN 33 -#define Y_MIN_PIN 17 -#define Y_MAX_PIN 16 -#define Y_ENABLE_PIN 29 - -#define Z_STEP_PIN 37 -#define Z_DIR_PIN 39 -#define Z_MIN_PIN 19 -#define Z_MAX_PIN 18 -#define Z_ENABLE_PIN 35 - -#define HEATER_BED_PIN -1 -#define TEMP_BED_PIN -1 - -#define HEATER_0_PIN 2 -#define TEMP_0_PIN 8 - -#define HEATER_1_PIN 1 -#define TEMP_1_PIN 1 - -#define HEATER_2_PIN -1 -#define TEMP_2_PIN -1 - -#define E0_STEP_PIN 43 -#define E0_DIR_PIN 45 -#define E0_ENABLE_PIN 41 - -#define E1_STEP_PIN -1 -#define E1_DIR_PIN -1 -#define E1_ENABLE_PIN -1 - -#define SDPOWER -1 -#define SDSS -1 -#define LED_PIN -1 -#define FAN_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing. - -#define LCD_PINS_RS 24 -#define LCD_PINS_ENABLE 22 -#define LCD_PINS_D4 36 -#define LCD_PINS_D5 34 -#define LCD_PINS_D6 32 -#define LCD_PINS_D7 30 - -#endif - -/**************************************************************************************** -* Teensylu 0.7 pin assingments (ATMEGA90USB) -* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE! -****************************************************************************************/ -#if MOTHERBOARD == 8 -#define MOTHERBOARD 8 -#define KNOWN_BOARD 1 - - -#define X_STEP_PIN 0 -#define X_DIR_PIN 1 -#define X_ENABLE_PIN 39 -#define X_MIN_PIN 13 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 2 -#define Y_DIR_PIN 3 -#define Y_ENABLE_PIN 38 -#define Y_MIN_PIN 14 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 4 -#define Z_DIR_PIN 5 -#define Z_ENABLE_PIN 23 -#define Z_MIN_PIN 15 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 6 -#define E0_DIR_PIN 7 -#define E0_ENABLE_PIN 19 - - - -#define HEATER_0_PIN 21 // Extruder -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_BED_PIN 20 // Bed -#define FAN_PIN 22 // Fan - -#define TEMP_0_PIN 7 // Extruder -#define TEMP_1_PIN -1 -#define TEMP_2_PIN -1 -#define TEMP_BED_PIN 6 // Bed - -#define SDPOWER -1 -#define SDSS 8 -#define LED_PIN -1 -#define PS_ON_PIN -1 -#define KILL_PIN -1 -#define ALARM_PIN -1 - -#ifndef SDSUPPORT -// these pins are defined in the SD library if building with SD support - #define SCK_PIN 9 - #define MISO_PIN 11 - #define MOSI_PIN 10 -#endif -#endif - -/**************************************************************************************** -* Gen3+ pin assignment -* -****************************************************************************************/ -#if MOTHERBOARD == 9 -#define MOTHERBOARD 6 -#define KNOWN_BOARD 1 -#ifndef __AVR_ATmega644P__ -#ifndef __AVR_ATmega1284P__ -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. -#endif -#endif - -#define X_STEP_PIN 15 -#define X_DIR_PIN 18 -#define X_MIN_PIN 20 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_MIN_PIN 25 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 27 -#define Z_DIR_PIN 28 -#define Z_MIN_PIN 30 -#define Z_MAX_PIN -1 - -#define E_STEP_PIN 17 -#define E_DIR_PIN 21 - -#define LED_PIN -1 - -#define FAN_PIN -1 - -#define PS_ON_PIN 14 -#define KILL_PIN -1 - -#define HEATER_0_PIN 12 // (extruder) - -#define HEATER_1_PIN 16 // (bed) -#define X_ENABLE_PIN 19 -#define Y_ENABLE_PIN 24 -#define Z_ENABLE_PIN 29 -#define E_ENABLE_PIN 13 - -#define TEMP_0_PIN 0 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 33 extruder) -#define TEMP_1_PIN 5 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! (pin 34 bed) -#define TEMP_2_PIN -1 -#define SDPOWER -1 -#define SDSS 4 -#define HEATER_2_PIN -1 - -#endif - - - -/**************************************************************************************** -* Open Motion controller with enable based extruders -* -* ATMega644 -* -* +---\/---+ -* (D 0) PB0 1| |40 PA0 (AI 0 / D31) -* (D 1) PB1 2| |39 PA1 (AI 1 / D30) -* INT2 (D 2) PB2 3| |38 PA2 (AI 2 / D29) -* PWM (D 3) PB3 4| |37 PA3 (AI 3 / D28) -* PWM (D 4) PB4 5| |36 PA4 (AI 4 / D27) -* MOSI (D 5) PB5 6| |35 PA5 (AI 5 / D26) -* MISO (D 6) PB6 7| |34 PA6 (AI 6 / D25) -* SCK (D 7) PB7 8| |33 PA7 (AI 7 / D24) -* RST 9| |32 AREF -* VCC 10| |31 GND -* GND 11| |30 AVCC -* XTAL2 12| |29 PC7 (D 23) -* XTAL1 13| |28 PC6 (D 22) -* RX0 (D 8) PD0 14| |27 PC5 (D 21) TDI -* TX0 (D 9) PD1 15| |26 PC4 (D 20) TDO -* INT0 RX1 (D 10) PD2 16| |25 PC3 (D 19) TMS -* INT1 TX1 (D 11) PD3 17| |24 PC2 (D 18) TCK -* PWM (D 12) PD4 18| |23 PC1 (D 17) SDA -* PWM (D 13) PD5 19| |22 PC0 (D 16) SCL -* PWM (D 14) PD6 20| |21 PD7 (D 15) PWM -* +--------+ -* -****************************************************************************************/ -#if MOTHERBOARD == 90 //Alpha OMCA board -#define KNOWN_BOARD 1 - -#ifndef __AVR_ATmega644__ -#error Oops! Make sure you have 'SanguinoA' selected from the 'Tools -> Boards' menu. -#endif - -#define X_STEP_PIN 21 -#define X_DIR_PIN 20 -#define X_ENABLE_PIN 24 -#define X_MIN_PIN 0 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 23 -#define Y_DIR_PIN 22 -#define Y_ENABLE_PIN 24 -#define Y_MIN_PIN 1 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 26 -#define Z_DIR_PIN 25 -#define Z_ENABLE_PIN 24 -#define Z_MIN_PIN 2 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 28 -#define E0_DIR_PIN 27 -#define E0_ENABLE_PIN 24 - -#define E1_STEP_PIN -1 // 19 -#define E1_DIR_PIN -1 // 18 -#define E1_ENABLE_PIN 24 - -#define E2_STEP_PIN -1 // 17 -#define E2_DIR_PIN -1 // 16 -#define E2_ENABLE_PIN 24 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 3 -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 4 -#define HEATER_1_PIN -1 // 12 -#define HEATER_2_PIN -1 // 13 -#define TEMP_0_PIN 0 //D27 // MUST USE ANALOG INPUT NUMBERING NOT DIGITAL OUTPUT NUMBERING!!!!!!!!! -#define TEMP_1_PIN -1 // 1 -#define TEMP_2_PIN -1 // 2 -#define HEATER_BED_PIN -1 // 14/15 -#define TEMP_BED_PIN -1 // 1,2 or I2C -/* Unused (1) (2) (3) 4 5 6 7 8 9 10 11 12 13 (14) (15) (16) 17 (18) (19) (20) (21) (22) (23) 24 (25) (26) (27) 28 (29) (30) (31) */ - -#endif - -#if MOTHERBOARD == 91 // Final OMCA board -- REF http://sanguino.cc/hardware -#define KNOWN_BOARD 1 - -#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega644__) -#error Oops! Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu. (Final OMCA board) -#endif - -#define X_STEP_PIN 26 -#define X_DIR_PIN 25 -#define X_ENABLE_PIN 10 -#define X_MIN_PIN 0 -#define X_MAX_PIN -1 - -#define Y_STEP_PIN 28 -#define Y_DIR_PIN 27 -#define Y_ENABLE_PIN 10 -#define Y_MIN_PIN 1 -#define Y_MAX_PIN -1 - -#define Z_STEP_PIN 23 -#define Z_DIR_PIN 22 -#define Z_ENABLE_PIN 10 -#define Z_MIN_PIN 2 -#define Z_MAX_PIN -1 - -#define E0_STEP_PIN 24 -#define E0_DIR_PIN 21 -#define E0_ENABLE_PIN 10 - -/* future proofing */ -#define __FS 20 -#define __FD 19 -#define __GS 18 -#define __GD 13 - -#define UNUSED_PWM 14 /* PWM on LEFT connector */ - -#define E1_STEP_PIN -1 // 21 -#define E1_DIR_PIN -1 // 20 -#define E1_ENABLE_PIN -1 // 19 - -#define E2_STEP_PIN -1 // 21 -#define E2_DIR_PIN -1 // 20 -#define E2_ENABLE_PIN -1 // 18 - -#define SDPOWER -1 -#define SDSS 11 -#define SDCARDDETECT -1 // 10 optional also used as mode pin -#define LED_PIN -1 -#define FAN_PIN 14 /* PWM on MIDDLE connector */ -#define PS_ON_PIN -1 -#define KILL_PIN -1 - -#define HEATER_0_PIN 3 /*DONE PWM on RIGHT connector */ -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define HEATER_1_PIN -1 -#define HEATER_2_PIN -1 -#define TEMP_0_PIN 0 // ANALOG INPUT NUMBERING -#define TEMP_1_PIN 1 // ANALOG -#define TEMP_2_PIN 2 // ANALOG -- used for Case fan -#define HEATER_BED_PIN 4 -#define TEMP_BED_PIN 2 // 1,2 or I2C - -#define CONTROLLERFAN_SENSE_PIN 15 - -#define I2C_SCL 16 -#define I2C_SDA 17 - -#endif - - -#ifndef KNOWN_BOARD -#error Unknown MOTHERBOARD value in configuration.h -#endif - -//List of pins which to ignore when asked to change by gcode, 0 and 1 are RX and TX, do not mess with those! -#define _E0_PINS E0_STEP_PIN, E0_DIR_PIN, E0_ENABLE_PIN, HEATER_0_PIN, -#if EXTRUDERS > 1 - #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, HEATER_1_PIN, -#else - #define _E1_PINS -#endif -#if EXTRUDERS > 2 - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, HEATER_2_PIN, -#else - #define _E2_PINS -#endif - -#ifdef DISABLE_MAX_ENDSTOPS -#define X_MAX_PIN -1 -#define Y_MAX_PIN -1 -#define Z_MAX_PIN -1 -#endif - -#define SENSITIVE_PINS {0, 1, X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, LED_PIN, PS_ON_PIN, \ - HEATER_BED_PIN, FAN_PIN, \ - _E0_PINS _E1_PINS _E2_PINS \ - TEMP_0_PIN, TEMP_1_PIN, TEMP_2_PIN, TEMP_BED_PIN } -#endif diff --git a/examples/board_reprap/marlin/thermistortables.h b/examples/board_reprap/marlin/thermistortables.h deleted file mode 100644 index 2723d86..0000000 --- a/examples/board_reprap/marlin/thermistortables.h +++ /dev/null @@ -1,373 +0,0 @@ -#ifndef THERMISTORTABLES_H_ -#define THERMISTORTABLES_H_ - -//#include "Marlin.h" - -#define OVERSAMPLENR 16 - -#if (THERMISTORHEATER_0 == 1) || (THERMISTORHEATER_1 == 1) || (THERMISTORHEATER_2 == 1) || (THERMISTORBED == 1) //100k bed thermistor - -const short temptable_1[][2] PROGMEM = { -{ 23*OVERSAMPLENR , 300 }, -{ 25*OVERSAMPLENR , 295 }, -{ 27*OVERSAMPLENR , 290 }, -{ 28*OVERSAMPLENR , 285 }, -{ 31*OVERSAMPLENR , 280 }, -{ 33*OVERSAMPLENR , 275 }, -{ 35*OVERSAMPLENR , 270 }, -{ 38*OVERSAMPLENR , 265 }, -{ 41*OVERSAMPLENR , 260 }, -{ 44*OVERSAMPLENR , 255 }, -{ 48*OVERSAMPLENR , 250 }, -{ 52*OVERSAMPLENR , 245 }, -{ 56*OVERSAMPLENR , 240 }, -{ 61*OVERSAMPLENR , 235 }, -{ 66*OVERSAMPLENR , 230 }, -{ 71*OVERSAMPLENR , 225 }, -{ 78*OVERSAMPLENR , 220 }, -{ 84*OVERSAMPLENR , 215 }, -{ 92*OVERSAMPLENR , 210 }, -{ 100*OVERSAMPLENR , 205 }, -{ 109*OVERSAMPLENR , 200 }, -{ 120*OVERSAMPLENR , 195 }, -{ 131*OVERSAMPLENR , 190 }, -{ 143*OVERSAMPLENR , 185 }, -{ 156*OVERSAMPLENR , 180 }, -{ 171*OVERSAMPLENR , 175 }, -{ 187*OVERSAMPLENR , 170 }, -{ 205*OVERSAMPLENR , 165 }, -{ 224*OVERSAMPLENR , 160 }, -{ 245*OVERSAMPLENR , 155 }, -{ 268*OVERSAMPLENR , 150 }, -{ 293*OVERSAMPLENR , 145 }, -{ 320*OVERSAMPLENR , 140 }, -{ 348*OVERSAMPLENR , 135 }, -{ 379*OVERSAMPLENR , 130 }, -{ 411*OVERSAMPLENR , 125 }, -{ 445*OVERSAMPLENR , 120 }, -{ 480*OVERSAMPLENR , 115 }, -{ 516*OVERSAMPLENR , 110 }, -{ 553*OVERSAMPLENR , 105 }, -{ 591*OVERSAMPLENR , 100 }, -{ 628*OVERSAMPLENR , 95 }, -{ 665*OVERSAMPLENR , 90 }, -{ 702*OVERSAMPLENR , 85 }, -{ 737*OVERSAMPLENR , 80 }, -{ 770*OVERSAMPLENR , 75 }, -{ 801*OVERSAMPLENR , 70 }, -{ 830*OVERSAMPLENR , 65 }, -{ 857*OVERSAMPLENR , 60 }, -{ 881*OVERSAMPLENR , 55 }, -{ 903*OVERSAMPLENR , 50 }, -{ 922*OVERSAMPLENR , 45 }, -{ 939*OVERSAMPLENR , 40 }, -{ 954*OVERSAMPLENR , 35 }, -{ 966*OVERSAMPLENR , 30 }, -{ 977*OVERSAMPLENR , 25 }, -{ 985*OVERSAMPLENR , 20 }, -{ 993*OVERSAMPLENR , 15 }, -{ 999*OVERSAMPLENR , 10 }, -{ 1004*OVERSAMPLENR , 5 }, -{ 1008*OVERSAMPLENR , 0 } //safety -}; -#endif -#if (THERMISTORHEATER_0 == 2) || (THERMISTORHEATER_1 == 2) || (THERMISTORHEATER_2 == 2) || (THERMISTORBED == 2) //200k bed thermistor -const short temptable_2[][2] PROGMEM = { - {1*OVERSAMPLENR, 848}, - {54*OVERSAMPLENR, 275}, - {107*OVERSAMPLENR, 228}, - {160*OVERSAMPLENR, 202}, - {213*OVERSAMPLENR, 185}, - {266*OVERSAMPLENR, 171}, - {319*OVERSAMPLENR, 160}, - {372*OVERSAMPLENR, 150}, - {425*OVERSAMPLENR, 141}, - {478*OVERSAMPLENR, 133}, - {531*OVERSAMPLENR, 125}, - {584*OVERSAMPLENR, 118}, - {637*OVERSAMPLENR, 110}, - {690*OVERSAMPLENR, 103}, - {743*OVERSAMPLENR, 95}, - {796*OVERSAMPLENR, 86}, - {849*OVERSAMPLENR, 77}, - {902*OVERSAMPLENR, 65}, - {955*OVERSAMPLENR, 49}, - {1008*OVERSAMPLENR, 17}, - {1020*OVERSAMPLENR, 0} //safety -}; - -#endif -#if (THERMISTORHEATER_0 == 3) || (THERMISTORHEATER_1 == 3) || (THERMISTORHEATER_2 == 3) || (THERMISTORBED == 3) //mendel-parts -const short temptable_3[][2] PROGMEM = { - {1*OVERSAMPLENR,864}, - {21*OVERSAMPLENR,300}, - {25*OVERSAMPLENR,290}, - {29*OVERSAMPLENR,280}, - {33*OVERSAMPLENR,270}, - {39*OVERSAMPLENR,260}, - {46*OVERSAMPLENR,250}, - {54*OVERSAMPLENR,240}, - {64*OVERSAMPLENR,230}, - {75*OVERSAMPLENR,220}, - {90*OVERSAMPLENR,210}, - {107*OVERSAMPLENR,200}, - {128*OVERSAMPLENR,190}, - {154*OVERSAMPLENR,180}, - {184*OVERSAMPLENR,170}, - {221*OVERSAMPLENR,160}, - {265*OVERSAMPLENR,150}, - {316*OVERSAMPLENR,140}, - {375*OVERSAMPLENR,130}, - {441*OVERSAMPLENR,120}, - {513*OVERSAMPLENR,110}, - {588*OVERSAMPLENR,100}, - {734*OVERSAMPLENR,80}, - {856*OVERSAMPLENR,60}, - {938*OVERSAMPLENR,40}, - {986*OVERSAMPLENR,20}, - {1008*OVERSAMPLENR,0}, - {1018*OVERSAMPLENR,-20} - }; - -#endif -#if (THERMISTORHEATER_0 == 4) || (THERMISTORHEATER_1 == 4) || (THERMISTORHEATER_2 == 4) || (THERMISTORBED == 4) //10k thermistor -const short temptable_4[][2] PROGMEM = { - {1*OVERSAMPLENR, 430}, - {54*OVERSAMPLENR, 137}, - {107*OVERSAMPLENR, 107}, - {160*OVERSAMPLENR, 91}, - {213*OVERSAMPLENR, 80}, - {266*OVERSAMPLENR, 71}, - {319*OVERSAMPLENR, 64}, - {372*OVERSAMPLENR, 57}, - {425*OVERSAMPLENR, 51}, - {478*OVERSAMPLENR, 46}, - {531*OVERSAMPLENR, 41}, - {584*OVERSAMPLENR, 35}, - {637*OVERSAMPLENR, 30}, - {690*OVERSAMPLENR, 25}, - {743*OVERSAMPLENR, 20}, - {796*OVERSAMPLENR, 14}, - {849*OVERSAMPLENR, 7}, - {902*OVERSAMPLENR, 0}, - {955*OVERSAMPLENR, -11}, - {1008*OVERSAMPLENR, -35} -}; -#endif - -#if (THERMISTORHEATER_0 == 5) || (THERMISTORHEATER_1 == 5) || (THERMISTORHEATER_2 == 5) || (THERMISTORBED == 5) //100k ParCan thermistor (104GT-2) -const short temptable_5[][2] PROGMEM = { -{1*OVERSAMPLENR, 713}, -{18*OVERSAMPLENR, 316}, -{35*OVERSAMPLENR, 266}, -{52*OVERSAMPLENR, 239}, -{69*OVERSAMPLENR, 221}, -{86*OVERSAMPLENR, 208}, -{103*OVERSAMPLENR, 197}, -{120*OVERSAMPLENR, 188}, -{137*OVERSAMPLENR, 181}, -{154*OVERSAMPLENR, 174}, -{171*OVERSAMPLENR, 169}, -{188*OVERSAMPLENR, 163}, -{205*OVERSAMPLENR, 159}, -{222*OVERSAMPLENR, 154}, -{239*OVERSAMPLENR, 150}, -{256*OVERSAMPLENR, 147}, -{273*OVERSAMPLENR, 143}, -{290*OVERSAMPLENR, 140}, -{307*OVERSAMPLENR, 136}, -{324*OVERSAMPLENR, 133}, -{341*OVERSAMPLENR, 130}, -{358*OVERSAMPLENR, 128}, -{375*OVERSAMPLENR, 125}, -{392*OVERSAMPLENR, 122}, -{409*OVERSAMPLENR, 120}, -{426*OVERSAMPLENR, 117}, -{443*OVERSAMPLENR, 115}, -{460*OVERSAMPLENR, 112}, -{477*OVERSAMPLENR, 110}, -{494*OVERSAMPLENR, 108}, -{511*OVERSAMPLENR, 106}, -{528*OVERSAMPLENR, 103}, -{545*OVERSAMPLENR, 101}, -{562*OVERSAMPLENR, 99}, -{579*OVERSAMPLENR, 97}, -{596*OVERSAMPLENR, 95}, -{613*OVERSAMPLENR, 92}, -{630*OVERSAMPLENR, 90}, -{647*OVERSAMPLENR, 88}, -{664*OVERSAMPLENR, 86}, -{681*OVERSAMPLENR, 84}, -{698*OVERSAMPLENR, 81}, -{715*OVERSAMPLENR, 79}, -{732*OVERSAMPLENR, 77}, -{749*OVERSAMPLENR, 75}, -{766*OVERSAMPLENR, 72}, -{783*OVERSAMPLENR, 70}, -{800*OVERSAMPLENR, 67}, -{817*OVERSAMPLENR, 64}, -{834*OVERSAMPLENR, 61}, -{851*OVERSAMPLENR, 58}, -{868*OVERSAMPLENR, 55}, -{885*OVERSAMPLENR, 52}, -{902*OVERSAMPLENR, 48}, -{919*OVERSAMPLENR, 44}, -{936*OVERSAMPLENR, 40}, -{953*OVERSAMPLENR, 34}, -{970*OVERSAMPLENR, 28}, -{987*OVERSAMPLENR, 20}, -{1004*OVERSAMPLENR, 8}, -{1021*OVERSAMPLENR, 0} -}; -#endif - -#if (THERMISTORHEATER_0 == 6) || (THERMISTORHEATER_1 == 6) || (THERMISTORHEATER_2 == 6) || (THERMISTORBED == 6) // 100k Epcos thermistor -const short temptable_6[][2] PROGMEM = { - {28*OVERSAMPLENR, 250}, - {31*OVERSAMPLENR, 245}, - {35*OVERSAMPLENR, 240}, - {39*OVERSAMPLENR, 235}, - {42*OVERSAMPLENR, 230}, - {44*OVERSAMPLENR, 225}, - {49*OVERSAMPLENR, 220}, - {53*OVERSAMPLENR, 215}, - {62*OVERSAMPLENR, 210}, - {73*OVERSAMPLENR, 205}, - {72*OVERSAMPLENR, 200}, - {94*OVERSAMPLENR, 190}, - {102*OVERSAMPLENR, 185}, - {116*OVERSAMPLENR, 170}, - {143*OVERSAMPLENR, 160}, - {183*OVERSAMPLENR, 150}, - {223*OVERSAMPLENR, 140}, - {270*OVERSAMPLENR, 130}, - {318*OVERSAMPLENR, 120}, - {383*OVERSAMPLENR, 110}, - {413*OVERSAMPLENR, 105}, - {439*OVERSAMPLENR, 100}, - {484*OVERSAMPLENR, 95}, - {513*OVERSAMPLENR, 90}, - {607*OVERSAMPLENR, 80}, - {664*OVERSAMPLENR, 70}, - {781*OVERSAMPLENR, 60}, - {810*OVERSAMPLENR, 55}, - {849*OVERSAMPLENR, 50}, - {914*OVERSAMPLENR, 45}, - {914*OVERSAMPLENR, 40}, - {935*OVERSAMPLENR, 35}, - {954*OVERSAMPLENR, 30}, - {970*OVERSAMPLENR, 25}, - {978*OVERSAMPLENR, 22}, - {1008*OVERSAMPLENR, 3} -}; -#endif - -#if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k Honeywell 135-104LAG-J01 -const short temptable_7[][2] PROGMEM = { - {46*OVERSAMPLENR, 270}, - {50*OVERSAMPLENR, 265}, - {54*OVERSAMPLENR, 260}, - {58*OVERSAMPLENR, 255}, - {62*OVERSAMPLENR, 250}, - {67*OVERSAMPLENR, 245}, - {72*OVERSAMPLENR, 240}, - {79*OVERSAMPLENR, 235}, - {85*OVERSAMPLENR, 230}, - {91*OVERSAMPLENR, 225}, - {99*OVERSAMPLENR, 220}, - {107*OVERSAMPLENR, 215}, - {116*OVERSAMPLENR, 210}, - {126*OVERSAMPLENR, 205}, - {136*OVERSAMPLENR, 200}, - {149*OVERSAMPLENR, 195}, - {160*OVERSAMPLENR, 190}, - {175*OVERSAMPLENR, 185}, - {191*OVERSAMPLENR, 180}, - {209*OVERSAMPLENR, 175}, - {224*OVERSAMPLENR, 170}, - {246*OVERSAMPLENR, 165}, - {267*OVERSAMPLENR, 160}, - {293*OVERSAMPLENR, 155}, - {316*OVERSAMPLENR, 150}, - {340*OVERSAMPLENR, 145}, - {364*OVERSAMPLENR, 140}, - {396*OVERSAMPLENR, 135}, - {425*OVERSAMPLENR, 130}, - {460*OVERSAMPLENR, 125}, - {489*OVERSAMPLENR, 120}, - {526*OVERSAMPLENR, 115}, - {558*OVERSAMPLENR, 110}, - {591*OVERSAMPLENR, 105}, - {628*OVERSAMPLENR, 100}, - {660*OVERSAMPLENR, 95}, - {696*OVERSAMPLENR, 90}, - {733*OVERSAMPLENR, 85}, - {761*OVERSAMPLENR, 80}, - {794*OVERSAMPLENR, 75}, - {819*OVERSAMPLENR, 70}, - {847*OVERSAMPLENR, 65}, - {870*OVERSAMPLENR, 60}, - {892*OVERSAMPLENR, 55}, - {911*OVERSAMPLENR, 50}, - {929*OVERSAMPLENR, 45}, - {944*OVERSAMPLENR, 40}, - {959*OVERSAMPLENR, 35}, - {971*OVERSAMPLENR, 30}, - {981*OVERSAMPLENR, 25}, - {989*OVERSAMPLENR, 20}, - {994*OVERSAMPLENR, 15}, - {1001*OVERSAMPLENR, 10}, - {1005*OVERSAMPLENR, 5} -}; -#endif - -#define _TT_NAME(_N) temptable_ ## _N -#define TT_NAME(_N) _TT_NAME(_N) - -#ifdef THERMISTORHEATER_0 - #define heater_0_temptable TT_NAME(THERMISTORHEATER_0) - #define heater_0_temptable_len (sizeof(heater_0_temptable)/sizeof(*heater_0_temptable)) -#else -#ifdef HEATER_0_USES_THERMISTOR - #error No heater 0 thermistor table specified -#else // HEATER_0_USES_THERMISTOR - #define heater_0_temptable 0 - #define heater_0_temptable_len 0 -#endif // HEATER_0_USES_THERMISTOR -#endif - -#ifdef THERMISTORHEATER_1 - #define heater_1_temptable TT_NAME(THERMISTORHEATER_1) - #define heater_1_temptable_len (sizeof(heater_1_temptable)/sizeof(*heater_1_temptable)) -#else -#ifdef HEATER_1_USES_THERMISTOR - #error No heater 1 thermistor table specified -#else // HEATER_1_USES_THERMISTOR - #define heater_1_temptable 0 - #define heater_1_temptable_len 0 -#endif // HEATER_1_USES_THERMISTOR -#endif - -#ifdef THERMISTORHEATER_2 - #define heater_2_temptable TT_NAME(THERMISTORHEATER_2) - #define heater_2_temptable_len (sizeof(heater_2_temptable)/sizeof(*heater_2_temptable)) -#else -#ifdef HEATER_2_USES_THERMISTOR - #error No heater 2 thermistor table specified -#else // HEATER_2_USES_THERMISTOR - #define heater_2_temptable 0 - #define heater_2_temptable_len 0 -#endif // HEATER_2_USES_THERMISTOR -#endif - -#ifdef THERMISTORBED - #define bedtemptable TT_NAME(THERMISTORBED) - #define bedtemptable_len (sizeof(bedtemptable)/sizeof(*bedtemptable)) -#else -#ifdef BED_USES_THERMISTOR - #error No bed thermistor table specified -#endif // BED_USES_THERMISTOR -#endif - -#endif //THERMISTORTABLES_H_ - diff --git a/examples/board_reprap/src/heatpot.c b/examples/board_reprap/src/heatpot.c deleted file mode 100644 index a866a90..0000000 --- a/examples/board_reprap/src/heatpot.c +++ /dev/null @@ -1,120 +0,0 @@ -/* - heatpot.c - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - -#include -#include -#include -#include -#include "sim_avr.h" -#include "sim_time.h" - -#include "heatpot.h" - -static avr_cycle_count_t -heatpot_evaluate_timer( - struct avr_t * avr, - avr_cycle_count_t when, - void * param) -{ - heatpot_p p = (heatpot_p) param; - - float weight = 0.0; - - for (int si = 0; si < 32; si++) - if (p->tally[si].sid) - weight += p->tally[si].cost; - - float delta = p->current - p->ambiant; - float noise = (float)((random() % 32) - 16) / 32.0; - delta += noise; - - float cost = ((delta/2) + noise) * -weight; - - if (delta < 0) { - cost = (-delta / 10); - } else { - cost = weight > 0 ? 0.1 : -0.1; - } - p->current += cost; -// printf("%s w=%.3f d=%.3f c=%.3f = %.3f\n", p->name, weight, delta, cost, p->current); - - avr_raise_irq(p->irq + IRQ_HEATPOT_TEMP_OUT, p->current * 256); - - return when + p->cycle; -} - -static void -heatpot_tally_in_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param) -{ - heatpot_p p = (heatpot_p)param; - heatpot_data_t v = {.v = value }; - - heatpot_tally(p, v.sid, v.cost); -} - -static const char * irq_names[IRQ_HEATPOT_COUNT] = { - [IRQ_HEATPOT_TALLY] = "8avr = avr; - strcpy(p->name, (char*)name); - p->irq = avr_alloc_irq(&avr->irq_pool, 0, IRQ_HEATPOT_COUNT, irq_names); - avr_irq_register_notify(p->irq + IRQ_HEATPOT_TALLY, heatpot_tally_in_hook, p); - - p->cycle = avr_usec_to_cycles(avr, 100000 / 1 /*1000 */); - avr_cycle_timer_register_usec(avr, p->cycle, heatpot_evaluate_timer, p); - - p->ambiant = p->current = ambiant; -} - -void -heatpot_tally( - heatpot_p p, - int sid, - float cost ) -{ - int f = -1, ei = -1; - for (int si = 0; si < 32 && f == -1; si++) - if (p->tally[si].sid == 0) - ei = ei == -1 ? si : ei; - else if (p->tally[si].sid == sid) - f = si; - if (f == -1) { - if (ei == -1) { - printf("%s(%s) no room for extra tally source id %d\n", __func__, p->name, sid); - return; - } - f = ei; - } - p->tally[f].sid = sid; - p->tally[f].cost = cost; -} diff --git a/examples/board_reprap/src/heatpot.h b/examples/board_reprap/src/heatpot.h deleted file mode 100644 index 9b51d0a..0000000 --- a/examples/board_reprap/src/heatpot.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - heatpot.h - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - - -#ifndef __HEATPOT_H___ -#define __HEATPOT_H___ - -#include "sim_irq.h" - -enum { - IRQ_HEATPOT_TALLY = 0, // heatpot_data_t - IRQ_HEATPOT_TEMP_OUT, // Celcius * 256 - IRQ_HEATPOT_COUNT -}; - -typedef union { - int32_t sid : 8, cost; - uint32_t v; -} heatpot_data_t; - -typedef struct heatpot_t { - avr_irq_t * irq; // irq list - struct avr_t * avr; - char name[32]; - - struct { int sid; float cost; } tally[32]; - - float ambiant; - float current; - - avr_cycle_count_t cycle; -} heatpot_t, *heatpot_p; - -void -heatpot_init( - struct avr_t * avr, - heatpot_p p, - const char * name, - float ambiant ); - -void -heatpot_tally( - heatpot_p p, - int sid, - float cost ); - -#endif /* __HEATPOT_H___ */ diff --git a/examples/board_reprap/src/reprap.c b/examples/board_reprap/src/reprap.c deleted file mode 100644 index 4bfc2e6..0000000 --- a/examples/board_reprap/src/reprap.c +++ /dev/null @@ -1,336 +0,0 @@ -/* - simduino.c - - Copyright 2008, 2009 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "sim_avr.h" -#include "avr_ioport.h" -#include "sim_elf.h" -#include "sim_hex.h" -#include "sim_gdb.h" - -#include "reprap_gl.h" - -#include "button.h" -#include "reprap.h" -#include "arduidiot_pins.h" - -#define __AVR_ATmega644__ -#include "marlin/pins.h" - -#include -#define PROGMEM -#include "marlin/Configuration.h" - -/* - * these are the sources of heat and cold to register to the heatpots - */ -enum { - TALLY_AMBIANT = 1, - TALLY_HOTEND_PWM, - TALLY_HOTBED, - TALLY_HOTEND_FAN, -}; - -reprap_t reprap; - -avr_t * avr = NULL; - -// gnu hackery to make sure the parameter is expanded -#define _TERMISTOR_TABLE(num) \ - temptable_##num -#define TERMISTOR_TABLE(num) \ - _TERMISTOR_TABLE(num) - -/* - * called when the AVR change any of the pins on port B - * so lets update our buffer - */ -static void -hotbed_change_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param) -{ -// printf("%s %d\n", __func__, value); -// pin_state = (pin_state & ~(1 << irq->irq)) | (value << irq->irq); - heatpot_tally( - &reprap.hotbed, - TALLY_HOTEND_PWM, - value ? 1.0f : 0 ); -} -static void -hotend_change_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param) -{ -// printf("%s %d\n", __func__, value); -// pin_state = (pin_state & ~(1 << irq->irq)) | (value << irq->irq); - heatpot_tally( - &reprap.hotend, - TALLY_HOTBED, - value ? 1.0f : 0 ); -} -static void -hotend_fan_change_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param) -{ - printf("%s %d\n", __func__, value); -// pin_state = (pin_state & ~(1 << irq->irq)) | (value << irq->irq); - heatpot_tally( - &reprap.hotend, - TALLY_HOTEND_FAN, - value ? -0.05 : 0 ); -} - - - -char avr_flash_path[1024]; -int avr_flash_fd = 0; - -// avr special flash initalization -// here: open and map a file to enable a persistent storage for the flash memory -void avr_special_init( avr_t * avr) -{ - // open the file - avr_flash_fd = open(avr_flash_path, O_RDWR|O_CREAT, 0644); - if (avr_flash_fd < 0) { - perror(avr_flash_path); - exit(1); - } - // resize and map the file the file - (void)ftruncate(avr_flash_fd, avr->flashend + 1); - ssize_t r = read(avr_flash_fd, avr->flash, avr->flashend + 1); - if (r != avr->flashend + 1) { - fprintf(stderr, "unable to load flash memory\n"); - perror(avr_flash_path); - exit(1); - } -} - -// avr special flash deinitalization -// here: cleanup the persistent storage -void avr_special_deinit( avr_t* avr) -{ - puts(__func__); - lseek(avr_flash_fd, SEEK_SET, 0); - ssize_t r = write(avr_flash_fd, avr->flash, avr->flashend + 1); - if (r != avr->flashend + 1) { - fprintf(stderr, "unable to load flash memory\n"); - perror(avr_flash_path); - } - close(avr_flash_fd); - uart_pty_stop(&reprap.uart_pty); -} - -#define MEGA644_GPIOR0 0x3e - -static void -reprap_relief_callback( - struct avr_t * avr, - avr_io_addr_t addr, - uint8_t v, - void * param) -{ -// printf("%s write %x\n", __func__, addr); - static uint16_t tick = 0; - if (!(tick++ & 0xf)) - usleep(100); -} - -static void * -avr_run_thread( - void * ignore) -{ - while (1) { - avr_run(avr); - } - return NULL; -} - -void -reprap_init( - avr_t * avr, - reprap_p r) -{ - r->avr = avr; - uart_pty_init(avr, &r->uart_pty); - uart_pty_connect(&r->uart_pty, '0'); - - thermistor_init(avr, &r->therm_hotend, 0, - (short*)TERMISTOR_TABLE(TEMP_SENSOR_0), - sizeof(TERMISTOR_TABLE(TEMP_SENSOR_0)) / sizeof(short) / 2, - OVERSAMPLENR, 25.0f); - thermistor_init(avr, &r->therm_hotbed, 2, - (short*)TERMISTOR_TABLE(TEMP_SENSOR_BED), - sizeof(TERMISTOR_TABLE(TEMP_SENSOR_BED)) / sizeof(short) / 2, - OVERSAMPLENR, 30.0f); - thermistor_init(avr, &r->therm_spare, 1, - (short*)temptable_5, sizeof(temptable_5) / sizeof(short) / 2, - OVERSAMPLENR, 10.0f); - - heatpot_init(avr, &r->hotend, "hotend", 28.0f); - heatpot_init(avr, &r->hotbed, "hotbed", 25.0f); - - heatpot_tally(&r->hotend, TALLY_AMBIANT, -0.5f); - heatpot_tally(&r->hotbed, TALLY_AMBIANT, -0.3f); - - /* connect heatpot temp output to thermistors */ - avr_connect_irq(r->hotend.irq + IRQ_HEATPOT_TEMP_OUT, - r->therm_hotend.irq + IRQ_TERM_TEMP_VALUE_IN); - avr_connect_irq(r->hotbed.irq + IRQ_HEATPOT_TEMP_OUT, - r->therm_hotbed.irq + IRQ_TERM_TEMP_VALUE_IN); - - avr_irq_register_notify( - get_ardu_irq(avr, HEATER_0_PIN, arduidiot_644), - hotend_change_hook, NULL); - avr_irq_register_notify( - get_ardu_irq(avr, FAN_PIN, arduidiot_644), - hotend_fan_change_hook, NULL); - avr_irq_register_notify( - get_ardu_irq(avr, HEATER_BED_PIN, arduidiot_644), - hotbed_change_hook, NULL); - - //avr_irq_register_notify() - float axis_pp_per_mm[4] = DEFAULT_AXIS_STEPS_PER_UNIT; // from Marlin! - { - avr_irq_t * e = get_ardu_irq(avr, X_ENABLE_PIN, arduidiot_644); - avr_irq_t * s = get_ardu_irq(avr, X_STEP_PIN, arduidiot_644); - avr_irq_t * d = get_ardu_irq(avr, X_DIR_PIN, arduidiot_644); - avr_irq_t * m = get_ardu_irq(avr, X_MIN_PIN, arduidiot_644); - - stepper_init(avr, &r->step_x, "X", axis_pp_per_mm[0], 100, 200, 0); - stepper_connect(&r->step_x, s, d, e, m, stepper_endstop_inverted); - } - { - avr_irq_t * e = get_ardu_irq(avr, Y_ENABLE_PIN, arduidiot_644); - avr_irq_t * s = get_ardu_irq(avr, Y_STEP_PIN, arduidiot_644); - avr_irq_t * d = get_ardu_irq(avr, Y_DIR_PIN, arduidiot_644); - avr_irq_t * m = get_ardu_irq(avr, Y_MIN_PIN, arduidiot_644); - - stepper_init(avr, &r->step_y, "Y", axis_pp_per_mm[1], 100, 200, 0); - stepper_connect(&r->step_y, s, d, e, m, stepper_endstop_inverted); - } - { - avr_irq_t * e = get_ardu_irq(avr, Z_ENABLE_PIN, arduidiot_644); - avr_irq_t * s = get_ardu_irq(avr, Z_STEP_PIN, arduidiot_644); - avr_irq_t * d = get_ardu_irq(avr, Z_DIR_PIN, arduidiot_644); - avr_irq_t * m = get_ardu_irq(avr, Z_MIN_PIN, arduidiot_644); - - stepper_init(avr, &r->step_z, "Z", axis_pp_per_mm[2], 20, 130, 0); - stepper_connect(&r->step_z, s, d, e, m, stepper_endstop_inverted); - } - { - avr_irq_t * e = get_ardu_irq(avr, E0_ENABLE_PIN, arduidiot_644); - avr_irq_t * s = get_ardu_irq(avr, E0_STEP_PIN, arduidiot_644); - avr_irq_t * d = get_ardu_irq(avr, E0_DIR_PIN, arduidiot_644); - - stepper_init(avr, &r->step_e, "E", axis_pp_per_mm[3], 0, 0, 0); - stepper_connect(&r->step_e, s, d, e, NULL, 0); - } - -} - -int main(int argc, char *argv[]) -{ - char path[256]; - strcpy(path, argv[0]); - strcpy(path, dirname(path)); - strcpy(path, dirname(path)); - printf("Stripped base directory to '%s'\n", path); - chdir(path); - - int debug = 0; - - for (int i = 1; i < argc; i++) - if (!strcmp(argv[i], "-d")) - debug++; - avr = avr_make_mcu_by_name("atmega644"); - if (!avr) { - fprintf(stderr, "%s: Error creating the AVR core\n", argv[0]); - exit(1); - } -// snprintf(avr_flash_path, sizeof(avr_flash_path), "%s/%s", pwd, "simduino_flash.bin"); - strcpy(avr_flash_path, "reprap_flash.bin"); - // register our own functions - avr->special_init = avr_special_init; - avr->special_deinit = avr_special_deinit; - avr_init(avr); - avr->frequency = 20000000; - avr->aref = avr->avcc = avr->vcc = 5 * 1000; // needed for ADC - - elf_firmware_t f; - const char * fname = "/opt/reprap/tvrrug/Marlin/Marlin/applet/Marlin.elf"; - // try to load an ELF file, before trying the .hex - if (elf_read_firmware(fname, &f) == 0) { - printf("firmware %s f=%d mmcu=%s\n", fname, (int)f.frequency, f.mmcu); - avr_load_firmware(avr, &f); - } else { - char path[1024]; - uint32_t base, size; -// snprintf(path, sizeof(path), "%s/%s", pwd, "ATmegaBOOT_168_atmega328.ihex"); - strcpy(path, "marlin/Marlin.hex"); -// strcpy(path, "marlin/bootloader-644-20MHz.hex"); - uint8_t * boot = read_ihex_file(path, &size, &base); - if (!boot) { - fprintf(stderr, "%s: Unable to load %s\n", argv[0], path); - exit(1); - } - printf("Firmware %04x(%04x in AVR talk): %d bytes (%d words)\n", base, base/2, size, size/2); - memcpy(avr->flash + base, boot, size); - free(boot); - avr->pc = base; - avr->codeend = avr->flashend; - } - //avr->trace = 1; - - // even if not setup at startup, activate gdb if crashing - avr->gdb_port = 1234; - if (debug) { - printf("AVR is stopped, waiting on gdb on port %d. Use 'target remote :%d' in avr-gdb\n", - avr->gdb_port, avr->gdb_port); - avr->state = cpu_Stopped; - avr_gdb_init(avr); - } - - // Marlin doesn't loop, sleep, so we don't know when it's idle - // I changed Marlin to do a spurious write to the GPIOR0 register so we can trap it - avr_register_io_write(avr, MEGA644_GPIOR0, reprap_relief_callback, NULL); - - reprap_init(avr, &reprap); - - gl_init(argc, argv); - pthread_t run; - pthread_create(&run, NULL, avr_run_thread, NULL); - - gl_runloop(); - -} diff --git a/examples/board_reprap/src/reprap.h b/examples/board_reprap/src/reprap.h deleted file mode 100644 index 567c493..0000000 --- a/examples/board_reprap/src/reprap.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - reprap.h - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - - -#ifndef __REPRAP_H___ -#define __REPRAP_H___ - -#include "sim_avr.h" -#include "thermistor.h" -#include "heatpot.h" -#include "stepper.h" -#include "uart_pty.h" -#include "sim_vcd_file.h" - -typedef struct reprap_t { - struct avr_t * avr; - thermistor_t therm_hotend; - thermistor_t therm_hotbed; - thermistor_t therm_spare; - heatpot_t hotend; - heatpot_t hotbed; - - stepper_t step_x, step_y, step_z, step_e; - - uart_pty_t uart_pty; - avr_vcd_t vcd_file; -} reprap_t, *reprap_p; - -#endif /* __REPRAP_H___ */ diff --git a/examples/board_reprap/src/reprap_gl.c b/examples/board_reprap/src/reprap_gl.c deleted file mode 100644 index 74df728..0000000 --- a/examples/board_reprap/src/reprap_gl.c +++ /dev/null @@ -1,698 +0,0 @@ -/* - reprap_gl.c - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - -#if __APPLE__ -#define GL_GLEXT_PROTOTYPES -#include -#include -#include -#else -#define GL_GLEXT_PROTOTYPES -#include -#include -#include -#endif - -#include -#include - -#include "reprap.h" -#include "reprap_gl.h" - -#include "c3.h" -#include "c3camera.h" -#include "c3driver_context.h" -#include "c3stl.h" -#include "c3lines.h" -#include "c3sphere.h" -#include "c3light.h" -#include "c3program.h" -#include "c3gl.h" -#include "c3gl_fbo.h" - -#include - -struct cairo_surface_t; - -int _w = 800, _h = 600; - -c3context_p c3 = NULL; -c3context_p hud = NULL; - -c3object_p head = NULL; // hotend -c3texture_p fbo_c3; // frame buffer object texture -c3program_p fxaa = NULL; // full screen antialias shader -c3program_p scene = NULL; -c3gl_fbo_t fbo; -c3gl_fbo_t shadow; - - -enum { - uniform_ShadowMap = 0, - uniform_pixelOffset, - uniform_tex0, - uniform_shadowMatrix -}; -const char *uniforms_scene[] = { - "shadowMap", - "pixelOffset", - "tex0", - "shadowMatrix", - NULL -}; - -int glsl_version = 110; - -extern reprap_t reprap; - -static int dumpError(const char * what) -{ - GLenum e; - int count = 0; - while ((e = glGetError()) != GL_NO_ERROR) { - printf("%s: %s\n", what, gluErrorString(e)); - count++; - } - return count; -} - -#define GLCHECK(_w) {_w; dumpError(#_w);} - - -static void -_gl_reshape_cb(int w, int h) -{ - _w = w; - _h = h; - - c3vec2 size = c3vec2f(_w, _h); - - glBindFramebuffer(GL_FRAMEBUFFER, 0); - glViewport(0, 0, _w, _h); - c3gl_fbo_resize(&fbo, size); - c3texture_resize(fbo_c3, size); - c3context_view_get_at(c3, 0)->size = size; - - if (fxaa) { - glUseProgram((GLuint)fxaa->pid); - GLCHECK(glUniform2fv((GLuint)fxaa->params.e[0].pid, 1, size.n)); - glUseProgram(0); - } - - glutPostRedisplay(); -} - -static void -_gl_key_cb( - unsigned char key, - int x, - int y) /* called on key press */ -{ - switch (key) { - case 'q': - // avr_vcd_stop(&vcd_file); - c3context_dispose(c3); - exit(0); - break; - case 'r': - printf("Starting VCD trace; press 's' to stop\n"); - // avr_vcd_start(&vcd_file); - break; - case 's': - printf("Stopping VCD trace\n"); - // avr_vcd_stop(&vcd_file); - break; - case '1': - if (fbo_c3->geometry.mat.program) - fbo_c3->geometry.mat.program = NULL; - else - fbo_c3->geometry.mat.program = fxaa; - glutPostRedisplay(); - break; - } -} - -static void -_gl_display_cb(void) /* function called whenever redisplay needed */ -{ - int drawIndexes[] = { 1, 0 }; - int drawViewStart = c3->root->dirty ? 0 : 1; - - c3vec3 headp = c3vec3f( - stepper_get_position_mm(&reprap.step_x), - stepper_get_position_mm(&reprap.step_y), - stepper_get_position_mm(&reprap.step_z)); - c3mat4 headmove = translation3D(headp); - c3transform_set(head->transform.e[0], &headmove); - - for (int vi = drawViewStart; vi < 2; vi++) { - c3context_view_set(c3, drawIndexes[vi]); - - /* - * Draw in FBO object - */ - c3context_view_p view = c3context_view_get(c3); - glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)view->bid); - // draw (without glutSwapBuffers) - dumpError("glBindFramebuffer fbo"); - glViewport(0, 0, view->size.x, view->size.y); - - c3context_project(c3); - - glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - // Set up projection matrix - glMatrixMode(GL_PROJECTION); // Select projection matrix - glLoadMatrixf(view->projection.n); - - glEnable(GL_CULL_FACE); - glDepthMask(GL_TRUE); - glDepthFunc(GL_LEQUAL); - glEnable(GL_DEPTH_TEST); - // glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); - - //glEnable(GL_ALPHA_TEST); - //glAlphaFunc(GL_GREATER, 1.0f / 255.0f); - glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Type Of Blending To Use - - glMatrixMode(GL_MODELVIEW); - - - if (view->type == C3_CONTEXT_VIEW_EYE) { - // glShadeModel(GL_SMOOTH); - // glEnable(GL_LIGHTING); - glCullFace(GL_BACK); - glEnable(GL_BLEND); // Enable Blending - - c3context_view_p light = c3context_view_get_at(c3, 1); - - // This is matrix transform every coordinate x,y,z - // x = x* 0.5 + 0.5 - // y = y* 0.5 + 0.5 - // z = z* 0.5 + 0.5 - // Moving from unit cube [-1,1] to [0,1] - const c3f bias[16] = { - 0.5, 0.0, 0.0, 0.0, - 0.0, 0.5, 0.0, 0.0, - 0.0, 0.0, 0.5, 0.0, - 0.5, 0.5, 0.5, 1.0}; - - c3mat4 b = c3mat4_mul(&light->projection, (c3mat4p)bias); - c3mat4 tex = c3mat4_mul(&light->cam.mtx, &b); - - GLCHECK(glUseProgram((GLuint)scene->pid)); - glUniformMatrix4fv( - (GLuint)scene->params.e[uniform_shadowMatrix].pid, - 1, GL_FALSE, tex.n); - } else { - glCullFace(GL_FRONT); - glShadeModel(GL_FLAT); - glDisable(GL_LIGHTING); - glDisable(GL_BLEND); // Disable Blending - } - - c3context_draw(c3); - } - - /* - * Draw back FBO over the screen - */ - glBindFramebuffer(GL_FRAMEBUFFER, 0); - dumpError("glBindFramebuffer 0"); - glViewport(0, 0, _w, _h); - - glClearColor(1.0f, 1.0f, 1.0f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - glDisable(GL_DEPTH_TEST); - glDisable(GL_LIGHTING); - glDisable(GL_ALPHA_TEST); - glDisable(GL_CULL_FACE); - - glUseProgram(0); - - glMatrixMode(GL_PROJECTION); // Select projection matrix - glLoadIdentity(); // Start with an identity matrix - - c3mat4 pro = screen_ortho3D(0, _w, 0, _h, 0, 10); - glLoadMatrixf(pro.n); - - glMatrixMode(GL_MODELVIEW); // Select modelview matrix - - if (hud->root->dirty) { - // printf("reproject head %.2f,%.2f,%.2f\n", headp.x, headp.y,headp.z); - c3context_project(hud); - } - c3context_draw(hud); - - glutSwapBuffers(); -} - -#if !defined(GLUT_WHEEL_UP) -# define GLUT_WHEEL_UP 3 -# define GLUT_WHEEL_DOWN 4 -#endif - - -int button; -c3vec2 move; - -static -void _gl_button_cb( - int b, - int s, - int x, - int y) -{ - button = s == GLUT_DOWN ? b : 0; - move = c3vec2f(x, y); - c3context_view_p view = c3context_view_get_at(c3, 0); -// printf("button %d: %.1f,%.1f\n", b, move.x, move.y); - switch (b) { - case GLUT_LEFT_BUTTON: - case GLUT_RIGHT_BUTTON: // call motion - break; - case GLUT_WHEEL_UP: - case GLUT_WHEEL_DOWN: - if (view->cam.distance > 10) { - const float d = 0.004; - c3cam_set_distance(&view->cam, - view->cam.distance * ((b == GLUT_WHEEL_DOWN) ? (1.0+d) : (1.0-d))); - c3cam_update_matrix(&view->cam); - view->dirty = 1; // resort the array - } - break; - } -} - -void -_gl_motion_cb( - int x, - int y) -{ - c3vec2 m = c3vec2f(x, y); - c3vec2 delta = c3vec2_sub(move, m); - c3context_view_p view = c3context_view_get_at(c3, 0); - -// printf("%s b%d click %.1f,%.1f now %d,%d delta %.1f,%.1f\n", -// __func__, button, move.n[0], move.n[1], x, y, delta.x, delta.y); - - switch (button) { - case GLUT_LEFT_BUTTON: { - c3mat4 rotx = rotation3D(view->cam.side, delta.n[1] / 4); - c3mat4 roty = rotation3D(c3vec3f(0.0, 0.0, 1.0), delta.n[0] / 4); - rotx = c3mat4_mul(&rotx, &roty); - c3cam_rot_about_lookat(&view->cam, &rotx); - c3cam_update_matrix(&view->cam); - - view->dirty = 1; // resort the array - } break; - case GLUT_RIGHT_BUTTON: { - // offset both points, but following the plane - c3vec3 f = c3vec3_mulf( - c3vec3f(-view->cam.side.y, view->cam.side.x, 0), - -delta.n[1] / 4); - view->cam.eye = c3vec3_add(view->cam.eye, f); - view->cam.lookat = c3vec3_add(view->cam.lookat, f); - c3cam_movef(&view->cam, delta.n[0] / 8, 0, 0); - c3cam_update_matrix(&view->cam); - - view->dirty = 1; // resort the array - } break; - } - move = m; -} - -// gl timer. if the lcd is dirty, refresh display -static void -_gl_timer_cb( - int i) -{ - glutTimerFunc(1000 / 24, _gl_timer_cb, 0); - glutPostRedisplay(); -} - -const c3driver_context_t * c3_driver_list[3] = { NULL, NULL }; - -int -gl_init( - int argc, - char *argv[] ) -{ - glutInit(&argc, argv); /* initialize GLUT system */ - - glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH | GLUT_ALPHA); - glutInitWindowSize(_w, _h); /* width=400pixels height=500pixels */ - /*window =*/ glutCreateWindow("Press 'q' to quit"); /* create window */ - - glutDisplayFunc(_gl_display_cb); /* set window's display callback */ - glutKeyboardFunc(_gl_key_cb); /* set window's key callback */ - glutTimerFunc(1000 / 24, _gl_timer_cb, 0); - - glutMouseFunc(_gl_button_cb); - glutMotionFunc(_gl_motion_cb); - glutReshapeFunc(_gl_reshape_cb); - - glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); - glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST); - - // enable color tracking - glEnable(GL_COLOR_MATERIAL); - // set material properties which will be assigned by glColor - glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE); - - /* setup some lights */ - GLfloat global_ambient[] = { 0.5f, 0.5f, 0.5f, 1.0f }; - glLightModelfv(GL_LIGHT_MODEL_AMBIENT, global_ambient); - - if (0) { - GLfloat specular[] = {1.0f, 1.0f, 1.0f , 0.8f}; - GLfloat position[] = { 250.0f, -50.0f, 100.0f, 1.0f }; - glLightfv(GL_LIGHT1, GL_SPECULAR, specular); - glLightfv(GL_LIGHT1, GL_POSITION, position); - glEnable(GL_LIGHT1); - } - - /* - * Extract the GLSL version as a numeric value for later - */ - const char * glsl = (const char *)glGetString(GL_SHADING_LANGUAGE_VERSION); - { - int M = 0, m = 0; - if (sscanf(glsl, "%d.%d", &M, &m) == 2) - glsl_version = (M * 100) + m; - - } - printf("GL_SHADING_LANGUAGE_VERSION %s = %d\n", glsl, glsl_version); - - c3gl_fbo_create(&fbo, c3vec2f(_w, _h), (1 << C3GL_FBO_COLOR)|(1 << C3GL_FBO_DEPTH)); - // shadow buffer - - c3_driver_list[0] = c3gl_getdriver(); - - c3 = c3context_new(_w, _h); - c3->driver = c3_driver_list; - - c3cam_p cam = &c3context_view_get_at(c3, 0)->cam; - cam->lookat = c3vec3f(100.0, 100.0, 0.0); - cam->eye = c3vec3f(100.0, -100.0, 100.0); - // associate the framebuffer object with this view - c3context_view_get_at(c3, 0)->bid = fbo.fbo; - /* - * Create a light, attach it to a movable object, and attach a sphere - * to it too so it's visible. - */ - { - c3object_p ligthhook = c3object_new(c3->root); - c3transform_p pos = c3transform_new(ligthhook); - - pos->matrix = translation3D(c3vec3f(-30.0f, -30.0f, 200.0f)); - - c3light_p light = c3light_new(ligthhook); - light->geometry.name = str_new("light0"); - light->color.specular = c3vec4f(1.0f, 1.0f, 1.0f , 0.8f); - light->position = c3vec4f(0, 0, 0, 1.0f ); - - { // light bulb - c3geometry_p g = c3sphere_uv(ligthhook, c3vec3f(0, 0, 0), 3, 10, 10); - g->mat.color = c3vec4f(1.0, 1.0, 0.0, 1.0); - g->hidden = 0; // hidden from light scenes - } - } - { - c3vec2 size = c3vec2f(1024, 1024); - c3gl_fbo_create(&shadow, size, (1 << C3GL_FBO_DEPTH_TEX)); - - c3context_view_t v = { - .type = C3_CONTEXT_VIEW_LIGHT, - .size = size, - .dirty = 1, - .index = c3->views.count, - .bid = shadow.fbo, - }; - c3cam_init(&v.cam); - c3vec3 listpos = c3vec3f(-30.0f, -30.0f, 200.0f); - v.cam.eye = listpos; - v.cam.lookat = c3vec3f(100.0, 100.0, 0.0); - c3context_view_array_add(&c3->views, v); - } - - { - const char *path = "gfx/hb.png"; - cairo_surface_t * image = cairo_image_surface_create_from_png (path); - printf("image = %p %p\n", image, cairo_image_surface_get_data (image)); - c3texture_p b = c3texture_new(c3->root); - - c3pixels_p dst = c3pixels_new( - cairo_image_surface_get_width (image), - cairo_image_surface_get_height (image), - 4, cairo_image_surface_get_stride(image), - cairo_image_surface_get_data (image)); - dst->name = str_new(path); - dst->normalize = 1; - b->geometry.mat.texture = dst; - b->size = c3vec2f(200, 200); - b->geometry.mat.color = c3vec4f(1.0, 1.0, 1.0, 1.0); -// c3transform_new(head); - } - c3pixels_p brass_tex = NULL; - { - const char *path = "gfx/brass.png"; - cairo_surface_t * image = cairo_image_surface_create_from_png (path); - printf("image = %p %p\n", image, cairo_image_surface_get_data (image)); - - c3pixels_p dst = c3pixels_new( - cairo_image_surface_get_width (image), - cairo_image_surface_get_height (image), - 4, cairo_image_surface_get_stride(image), - cairo_image_surface_get_data (image)); - dst->name = str_new(path); - dst->normalize = 1; - c3pixels_array_add(&c3->pixels, dst); -// c3transform_new(head); - brass_tex = dst; - } - c3pixels_p line_aa_tex = NULL; - { - const char *path = "gfx/BlurryCircle.png"; - cairo_surface_t * image = cairo_image_surface_create_from_png (path); - printf("image = %p %p\n", image, cairo_image_surface_get_data (image)); - -#if 0 - c3pixels_p dst = &b->pixels; - c3pixels_init(dst, - cairo_image_surface_get_width (image), - cairo_image_surface_get_height (image), - 1, cairo_image_surface_get_width (image), - NULL); - c3pixels_alloc(dst); - b->size = c3vec2f(32, 32); - b->normalized = 1; - - c3pixels_p src = c3pixels_new( - cairo_image_surface_get_width (image), - cairo_image_surface_get_height (image), - 4, cairo_image_surface_get_stride(image), - cairo_image_surface_get_data (image)); - - uint32_t * _s = (uint32_t *)src->base; - uint8_t * _d = (uint8_t *)dst->base; - int max = 0; - for (int i = 0; i < dst->h * dst->w; i++) - if ((_s[i] & 0xff) > max) - max = _s[i] & 0xff; - for (int i = 0; i < dst->h * dst->w; i++) - *_d++ = ((_s[i] & 0xff) * 255) / max;// + (0xff - max); - b->pixels.format = C3PIXEL_A; -#else - c3pixels_p dst = c3pixels_new( - cairo_image_surface_get_width (image), - cairo_image_surface_get_height (image), - 4, cairo_image_surface_get_stride(image), - cairo_image_surface_get_data (image)); - dst->format = C3PIXEL_ARGB; - dst->normalize = 1; - dst->name = str_new(path); - uint8_t * line = dst->base; - for (int y = 0; y < dst->h; y++, line += dst->row) { - uint32_t *p = (uint32_t *)line; - for (int x = 0; x < dst->w; x++, p++) { - uint8_t b = *p; - *p = ((0xff - b) << 24);//|(b << 16)|(b << 8)|(b); - } - } -#endif - line_aa_tex = dst; -#if 0 - c3pixels_p p = dst; - printf("struct { int w, h, stride, size, format; uint8_t pix[] } img = {\n" - "%d, %d, %d, %d, %d\n", - p->w, p->h, (int)p->row, p->psize, cairo_image_surface_get_format(image)); - for (int i = 0; i < 32; i++) - printf("0x%08x ", ((uint32_t*)p->base)[i]); - printf("\n"); -#endif - } - c3object_p grid = c3object_new(c3->root); - { - for (int x = 0; x <= 20; x++) { - for (int y = 0; y <= 20; y++) { - c3vec3 p[4] = { - c3vec3f(-1+x*10,y*10,0.01), c3vec3f(1+x*10,y*10,0.01), - c3vec3f(x*10,-1+y*10,0.02), c3vec3f(x*10,1+y*10,0.02), - }; - c3geometry_p g = c3geometry_new( - c3geometry_type(C3_LINES_TYPE, 0), grid); - g->mat.color = c3vec4f(0.0, 0.0, 0.0, 0.8); - g->mat.texture = line_aa_tex; - c3lines_init(g, p, 4, 0.2); - } - } - } - - if (0) { - c3vec3 p[4] = { - c3vec3f(-5,-5,1), c3vec3f(205,-5,1), - }; - c3geometry_p g = c3geometry_new( - c3geometry_type(C3_LINES_TYPE, 0), grid); - g->mat.color = c3vec4f(0.0, 0.0, 0.0, 1.0); - g->mat.texture = line_aa_tex; - g->line.width = 2; - - c3vertex_array_insert(&g->vertice, - g->vertice.count, p, 2); - - } - head = c3stl_load("gfx/buserror-nozzle-model.stl", c3->root); - c3transform_new(head); - if (head->geometry.count > 0) { - c3geometry_factor(head->geometry.e[0], 0.1, (20 * M_PI) / 180.0); - head->geometry.e[0]->mat.color = c3vec4f(0.6, 0.5, 0.0, 1.0); - head->geometry.e[0]->mat.texture = brass_tex; - } - -#if 0 - c3texture_p b = c3texture_new(head); - c3pixels_init(&b->pixels, 64, 64, 4, 4 * 64, NULL); - b->geometry.dirty = 1; - memset(b->pixels.base, 0xff, 10 * b->pixels.row); -#endif - - - hud = c3context_new(_w, _h); - hud->driver = c3_driver_list; - - /* - * This is the offscreen framebuffer where the 3D scene is drawn - */ - { - /* - * need to insert a header since there is nothing to detect the version number - * reliably without it, and __VERSION__ returns idiocy - */ - char head[128]; - sprintf(head, "#version %d\n#define GLSL_VERSION %d\n", glsl_version, glsl_version); - - const char *uniforms[] = { "g_Resolution", NULL }; - fxaa = c3program_new("fxaa", uniforms); - c3program_array_add(&hud->programs, fxaa); - c3program_load_shader(fxaa, GL_VERTEX_SHADER, head, - "gfx/postproc.vs", C3_PROGRAM_LOAD_UNIFORM); - c3program_load_shader(fxaa, GL_FRAGMENT_SHADER, head, - "gfx/postproc.fs", C3_PROGRAM_LOAD_UNIFORM); - - c3texture_p b = c3texture_new(hud->root); - - c3pixels_p dst = c3pixels_new(_w, _h, 4, _w * 4, NULL); - dst->name = str_new("fbo"); - dst->texture = fbo.buffers[C3GL_FBO_COLOR].bid; - dst->normalize = 1; - dst->dirty = 0; - // dst->trace = 1; - b->geometry.mat.texture = dst; - b->geometry.mat.program = fxaa; - b->size = c3vec2f(_w, _h); - b->geometry.mat.color = c3vec4f(1.0, 1.0, 1.0, 1.0); - fbo_c3 = b; - } - - { - /* - * need to insert a header since there is nothing to detect the version number - * reliably without it, and __VERSION__ returns idiocy - */ - char head[128]; - sprintf(head, "#version %d\n#define GLSL_VERSION %d\n", glsl_version, glsl_version); - - scene = c3program_new("scene", uniforms_scene); - scene->verbose = 1; - c3program_array_add(&c3->programs, scene); - c3program_load_shader(scene, GL_VERTEX_SHADER, head, - "gfx/scene.vs", C3_PROGRAM_LOAD_UNIFORM); - c3program_load_shader(scene, GL_FRAGMENT_SHADER, head, - "gfx/scene.fs", C3_PROGRAM_LOAD_UNIFORM); - c3gl_program_load(scene); - - GLCHECK(glUseProgram((GLuint)scene->pid)); - GLCHECK(glUniform1i( - (GLuint)scene->params.e[uniform_ShadowMap].pid, 7)); - GLCHECK(glUniform1i( - (GLuint)scene->params.e[uniform_tex0].pid, 0)); - c3vec2 isize = c3vec2f(1.0f / c3->views.e[1].size.x, - 1.0f / c3->views.e[1].size.y); - GLCHECK(glUniform2fv( - (GLuint)scene->params.e[uniform_pixelOffset].pid, 1, - isize.n)); - glActiveTexture(GL_TEXTURE7); - GLCHECK(glBindTexture(GL_TEXTURE_2D, - (GLuint)shadow.buffers[C3GL_FBO_DEPTH_TEX].bid)); - glActiveTexture(GL_TEXTURE0); - } - { - c3vec3 p[4] = { - c3vec3f(10,10,0), c3vec3f(800-10,10,0), - }; - c3geometry_p g = c3geometry_new( - c3geometry_type(C3_LINES_TYPE, 0), hud->root); - g->mat.color = c3vec4f(0.5, 0.5, 1.0, .3f); - g->mat.texture = line_aa_tex; - c3lines_init(g, p, 2, 10); - } - return 1; -} - -void -gl_dispose() -{ - c3context_dispose(c3); - c3context_dispose(hud); - c3gl_fbo_dispose(&fbo); -} - -int -gl_runloop() -{ - glutMainLoop(); - gl_dispose(); - return 0; -} diff --git a/examples/board_reprap/src/reprap_gl.h b/examples/board_reprap/src/reprap_gl.h deleted file mode 100644 index 20ef0aa..0000000 --- a/examples/board_reprap/src/reprap_gl.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - reprap_gl.h - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - - -#ifndef __REPRAP_GL_H___ -#define __REPRAP_GL_H___ - -int -gl_init( - int argc, - char *argv[] ); - -int -gl_runloop(); - -void -gl_dispose(); - -#endif /* __REPRAP_GL_H___ */ diff --git a/examples/board_reprap/src/stepper.c b/examples/board_reprap/src/stepper.c deleted file mode 100644 index 81acda6..0000000 --- a/examples/board_reprap/src/stepper.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - stepper.c - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - -#include -#include -#include - -#include "sim_avr.h" -#include "sim_time.h" -#include "stepper.h" - -static avr_cycle_count_t -stepper_update_timer( - struct avr_t * avr, - avr_cycle_count_t when, - void * param) -{ - stepper_p p = (stepper_p)param; - union { - float f; - uint32_t i; - } m = { .f = p->position / p->steps_per_mm }; -// printf("%s (%s) %3.4f\n", __func__, p->name, m.f); - avr_raise_irq(p->irq + IRQ_STEPPER_POSITION_OUT, m.i); - avr_raise_irq(p->irq + IRQ_STEPPER_ENDSTOP_OUT, p->position == p->endstop); - return when + p->timer_period; -} - -static void -stepper_dir_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param ) -{ - stepper_p p = (stepper_p)param; - printf("%s (%s) %d\n", __func__, p->name, value); - p->dir = !!value; -} - -static void -stepper_enable_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param ) -{ - stepper_p p = (stepper_p)param; - p->enable = !!value; - printf("%s (%s) %d pos %.4f\n", __func__, p->name, - p->enable != 0, p->position / p->steps_per_mm); - avr_raise_irq(p->irq + IRQ_STEPPER_ENDSTOP_OUT, p->position == p->endstop); -} - -static void -stepper_step_hook( - struct avr_irq_t * irq, - uint32_t value, - void * param ) -{ - stepper_p p = (stepper_p)param; - if (!p->enable) - return; - if (value) - return; - p->position += !p->dir && p->position == 0 ? 0 : p->dir ? 1 : -1; - if (p->endstop && p->position < p->endstop) - p->position = p->endstop; - if (p->max_position > 0 && p->position > p->max_position) - p->position = p->max_position; -} - -static const char * irq_names[IRQ_STEPPER_COUNT] = { - [IRQ_STEPPER_DIR_IN] = "1avr = avr; - strcpy(p->name, name); - p->irq = avr_alloc_irq(&avr->irq_pool, 0, IRQ_STEPPER_COUNT, irq_names); - avr_irq_register_notify(p->irq + IRQ_STEPPER_DIR_IN, stepper_dir_hook, p); - avr_irq_register_notify(p->irq + IRQ_STEPPER_STEP_IN, stepper_step_hook, p); - avr_irq_register_notify(p->irq + IRQ_STEPPER_ENABLE_IN, stepper_enable_hook, p); - - p->steps_per_mm = steps_per_mm; - p->position = start_position * p->steps_per_mm; - p->max_position = max_position * p->steps_per_mm; - p->endstop = endstop_position >= 0 ? endstop_position * p->steps_per_mm : 0; -} - -void -stepper_connect( - stepper_p p, - avr_irq_t * step, - avr_irq_t * dir, - avr_irq_t * enable, - avr_irq_t * endstop, - uint16_t flags) -{ - avr_connect_irq(step, p->irq + IRQ_STEPPER_STEP_IN); - avr_connect_irq(dir, p->irq + IRQ_STEPPER_DIR_IN); - avr_connect_irq(enable, p->irq + IRQ_STEPPER_ENABLE_IN); - p->irq[IRQ_STEPPER_ENDSTOP_OUT].flags |= IRQ_STEPPER_POSITION_OUT; - p->irq[IRQ_STEPPER_ENDSTOP_OUT].flags |= IRQ_FLAG_FILTERED; - if (endstop) { - avr_connect_irq(p->irq + IRQ_STEPPER_ENDSTOP_OUT, endstop); - if (flags & stepper_endstop_inverted) - p->irq[IRQ_STEPPER_ENDSTOP_OUT].flags |= IRQ_FLAG_NOT; - } - p->timer_period = avr_usec_to_cycles(p->avr, 100000 / 1000); // 1ms - avr_cycle_timer_register(p->avr, p->timer_period, stepper_update_timer, p); -} - -float -stepper_get_position_mm( - stepper_p p) -{ - return p->position / p->steps_per_mm; -} - diff --git a/examples/board_reprap/src/stepper.h b/examples/board_reprap/src/stepper.h deleted file mode 100644 index 9f450ac..0000000 --- a/examples/board_reprap/src/stepper.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - stepper.h - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - - -#ifndef __STEPPER_H___ -#define __STEPPER_H___ - -#include "sim_irq.h" - -enum { - IRQ_STEPPER_DIR_IN = 0, - IRQ_STEPPER_STEP_IN, - IRQ_STEPPER_ENABLE_IN, - IRQ_STEPPER_POSITION_OUT, - IRQ_STEPPER_ENDSTOP_OUT, - IRQ_STEPPER_COUNT -}; - -typedef struct stepper_t { - avr_irq_t * irq; // irq list - struct avr_t *avr; // keep it around so we can pause it - char name[32]; - int enable : 1, dir : 1, trace : 1; - double steps_per_mm; - uint64_t position; // in steps - uint64_t max_position; - uint64_t endstop; - avr_cycle_count_t timer_period; -} stepper_t, *stepper_p; - -void -stepper_init( - struct avr_t * avr, - stepper_p p, - char * name, - float steps_per_mm, - float start_position, // mm - float max_position, // mm - float endstop_position); // mm - -enum { - stepper_endstop_inverted = (1 << 0), -}; -void -stepper_connect( - stepper_p p, - avr_irq_t * step, - avr_irq_t * dir, - avr_irq_t * enable, - avr_irq_t * endstop, - uint16_t flags); - -float -stepper_get_position_mm( - stepper_p p); - -#endif /* __STEPPER_H___ */ diff --git a/examples/board_reprap/src/thermistor.c b/examples/board_reprap/src/thermistor.c deleted file mode 100644 index 613196c..0000000 --- a/examples/board_reprap/src/thermistor.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - thermistor.c - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - -#include -#include -#include -#include -#include -#include - -#include "avr_adc.h" - -#include "thermistor.h" - -/* - * called the ADC could use a new value - * The value returned is NOT in "ADC" mode, it's in millivolts - */ -static void thermistor_in_hook(struct avr_irq_t * irq, uint32_t value, void * param) -{ - thermistor_p p = (thermistor_p)param; - avr_adc_mux_t v = *((avr_adc_mux_t*)&value); - -// printf("%s(%2d/%2d)\n", __func__, p->adc_mux_number, v.src); - - if (v.src != p->adc_mux_number) - return; - - short *t = p->table; - for (int ei = 0; ei < p->table_entries; ei++, t += 2) { - if (t[1] <= p->current) { - // printf("%s(%2d) %.2f matches %3dC is %d adc\n", __func__, v.src, - // p->current, t[1], t[0] / p->oversampling); - avr_raise_irq(p->irq + IRQ_TERM_ADC_VALUE_OUT, - ((t[0] / p->oversampling) * 5000) / 0x3ff); - return; - } - } - printf("%s(%d) temperature out of range (%.2f), we're screwed\n", - __func__, p->adc_mux_number, p->current); -} - -static void thermistor_value_in_hook(struct avr_irq_t * irq, uint32_t value, void * param) -{ - thermistor_p p = (thermistor_p)param; - float fv = ((float)value) / 256; - p->current = fv; - - avr_raise_irq(p->irq + IRQ_TERM_TEMP_VALUE_OUT, value); -} - -static const char * irq_names[IRQ_TERM_COUNT] = { - [IRQ_TERM_ADC_TRIGGER_IN] = "8avr = avr; - p->irq = avr_alloc_irq(&avr->irq_pool, 0, IRQ_TERM_COUNT, irq_names); - avr_irq_register_notify(p->irq + IRQ_TERM_ADC_TRIGGER_IN, thermistor_in_hook, p); - avr_irq_register_notify(p->irq + IRQ_TERM_TEMP_VALUE_IN, thermistor_value_in_hook, p); - - p->oversampling = oversampling; - p->table = table; - p->table_entries = table_entries; - p->adc_mux_number = adc_mux_number; - p->current = start_temp; - - avr_irq_t * src = avr_io_getirq(p->avr, AVR_IOCTL_ADC_GETIRQ, ADC_IRQ_OUT_TRIGGER); - avr_irq_t * dst = avr_io_getirq(p->avr, AVR_IOCTL_ADC_GETIRQ, adc_mux_number); - if (src && dst) { - avr_connect_irq(src, p->irq + IRQ_TERM_ADC_TRIGGER_IN); - avr_connect_irq(p->irq + IRQ_TERM_ADC_VALUE_OUT, dst); - } - printf("%s on ADC %d start %.2f\n", __func__, adc_mux_number, p->current); -} - -void -thermistor_set_temp( - thermistor_p p, - float temp ) -{ - uint32_t value = temp * 256; - p->current = temp; - - avr_raise_irq(p->irq + IRQ_TERM_TEMP_VALUE_OUT, value); -} diff --git a/examples/board_reprap/src/thermistor.h b/examples/board_reprap/src/thermistor.h deleted file mode 100644 index a8d91e4..0000000 --- a/examples/board_reprap/src/thermistor.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - thermistor.h - - Copyright 2008-2012 Michel Pollet - - This file is part of simavr. - - simavr is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - simavr is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with simavr. If not, see . - */ - - -#ifndef __THERMISTOR_H___ -#define __THERMISTOR_H___ - -#include "sim_irq.h" - -enum { - IRQ_TERM_ADC_TRIGGER_IN = 0, - IRQ_TERM_ADC_VALUE_OUT, - IRQ_TERM_TEMP_VALUE_OUT, // Celcius * 256 - IRQ_TERM_TEMP_VALUE_IN, // Celcius * 256 - IRQ_TERM_COUNT -}; - -typedef struct thermistor_t { - avr_irq_t * irq; // irq list - struct avr_t *avr; // keep it around so we can pause it - uint8_t adc_mux_number; - - short * table; - int table_entries; - int oversampling; - - float current; -} thermistor_t, *thermistor_p; - -void -thermistor_init( - struct avr_t * avr, - thermistor_p t, - int adc_mux_number, - short * table, - int table_entries, - int oversampling, - float start_temp ); - -void -thermistor_set_temp( - thermistor_p t, - float temp ); - - -#endif /* __THERMISTOR_H___ */ -- 2.39.5