quakespasm-0.93.0/ 0000755 0000000 0000000 00000000000 13204512422 012446 5 ustar root root quakespasm-0.93.0/Quakespasm.html 0000644 0000000 0000000 00000102463 13203362342 015457 0 ustar root root
QuakeSpasm
QuakeSpasm
Page last edited: Nov. 2017
QuakeSpasm
is a modern, cross-platform Quake 1 engine based on
FitzQuake .
It includes support for 64 bit CPUs and custom music playback, a new
sound driver, some graphical niceities, and numerous bug-fixes and other improvements.
Quakespasm utilizes either the SDL or SDL2 frameworks, so choose which one works best for you.
SDL is probably less buggy, but SDL2 has nicer features and smoother mouse input - though no CD support.
Visit the
FitzQuake homepage for a full run-down of the engine's commands and variables.
To disable some changes, use "quakespasm -fitz "
Quakespasm's custom data is stored in "quakespasm.pak". Install this file alongside your id1 directory to enable the custom console background and other minor features.
For different sound backend drivers use "SDL_AUDIODRIVER= DRIVER ./quakespasm "
, where DRIVER may be alsa, dsp, pulse, esd ...
Shift+Escape draws the Console.
From the console, use UP to browse the command line history and
TAB to autocomplete command and map names.
There is currently no CD Music volume support and SDL2 doesn't support CD audio. cd_sdl.c needs replacing with cd_linux.c, cd_bsd.c etc..
In windows, alternative CD drives are accessible by "quakespasm -cddev F " (for example)
Quakespasm allows loading new games (mods) on the fly with "game GAMENAME {-quoth/hipnotic/rogue} "
Use "quakespasm -condebug " to save console log to "qconsole.log". SDL2 builds no longer generate stdout.txt/stderr.txt.
Quakespasm can play various external music formats, including MP3, OGG and FLAC.
Tracks should be named like "track02.ogg", "track03.ogg" ... (there is no track01) and placed into "Quake/id1/music".
Unix users may need some extra libraries installed: "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG.
As of 0.90.0, music is played back at 44100 Hz by default with no need to adjust "-sndspeed".
Use the "-noextmusic" option to disable this feature.
See
Quakespasm-Music.txt for more details.
The SDL2 variant of Quakespasm supports Xbox 360 style game controllers.
The default configuration uses the left analog stick for movement and the right for looking.
If your controller doesn't work you can try placing
this file in your Quake directory, it is a community-maintained database that adds support for more controllers to SDL2.
Cvars
joy_deadzone - Fraction of the stick travel to be deadzone, between 0 and 1. Default 0.175.
joy_deadzone_trigger - Fraction of trigger range required to register a button press on the analog triggers, between 0 and 1. Default 0.2.
joy_sensitivity_yaw/pitch - Max angular speed in degrees/second when looking. Defaults are 300 for yaw (turning left/right) and 150 for pitch (up/down).
joy_exponent - For the look stick, the stick displacement (between 0 and 1) is raised to this power. Default is 3. A value of 1 would give a linear relationship between stick displacement and fraction of the maximum angular speed.
joy_invert - Set to 1 to invert the vertical axis of the look stick.
joy_swapmovelook - Set to 1 to swap the left and right analog stick functions. Default 0, move on the left stick, look on the right stick.
joy_enable - Set to 0 to disable controller support. Default 1.
Buttons
Some of the controller buttons are hardcoded to allow navigating the menu:
Back - alias for TAB
Start - alias for ESC
DPad, analog sticks - mapped to arrow keys
A Button - alias for ENTER in menus
B Button - alias for ESC in menus
These buttons can be bound normally:
LTRIGGER - Left trigger
RTRIGGER - Right trigger
LSHOULDER - Left shoulder button
RSHOULDER - Right shoulder button
LTHUMB - Clicking the left thumbstick
RTHUMB - Clicking the right thumbstick
ABUTTON
BBUTTON
XBUTTON
YBUTTON
quakespasm.pak contains a default.cfg which has been updated to give some default bindings. L/R shoulder buttons are bound to weapon switching, and L/R triggers are jump and attack.
The controller support started as Jeremiah Sypult's implementation in Quakespasm-Rift and also uses ideas and code from LordHavoc (DarkPlaces).
Quakespasm's (optional) custom data is now stored in the file quakespasm.pak . This file should be placed alongside your quakespasm binary and id1 directory.
To checkout the latest version of QuakeSpasm, do:
svn co svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm
After extracting the source tarball, browse the Makefile and edit the music streaming options, then
make
cp quakespasm /usr/local/games/quake (for example)
Compile time options include
make DO_USERDIRS=1 to include user directories support
make DEBUG=1 for debugging
make SDL_CONFIG= /PATH/TO/SDL-CONFIG for unusual SDL installations
make USE_SDL2=1 to compile against SDL2 instead of SDL-1.2
Streaming music playback requires "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG files.
The project can also be built with Codeblocks (project files included).
The QuakeSpasm developers cross-compile windows binaries using
MinGW and
Mingw-w64 .
The project can also be built using Visual Studio 2005 (or newer).
A Quakespasm App (including program launcher and update framework) can be made using the Xcode template found in the MacOSX directory.
Alternatively, have a look at Makefile.darwin for more instructions on building from a console.
Brightness issues should be fixed with GLSL gamma in 0.90.1, if your system supports OpenGL 2. For reference on older systems:
Some versions of Xorg and SDL have brightness issues.
Try setting "export SDL_VIDEO_X11_NODIRECTCOLOR=1", or if you have Xorg >= 7.5 and broken brightness,
these patched libSDL binaries may help.
Raise default "joy_deadzone_trigger" cvar to 0.2.
Raise console buffer size to 1MB.
Raise MAX_STATIC_ENTITIES from 512 to 4096.
Raise MAX_STACK_DEPTH from 32 to 64.
Raise command buffer size from 8K to 256K to support large configs.
Remove MAX_EFRAGS and MAX_MAP_LEAFS limits.
Remove "Loadgame buffer overflow" limit, which could happen when loading DP or QSS saves.
Adjust "exceeds standard limit of" debug warnings to include the actual QS limit.
Change "game" command to now exec quake.rc.
Change "games" / "mods" commands to list all subdirectories.
Restore vid_refreshrate from fitzquake-0.85 for SDL2 builds.
Alpha-masked model support. (MF_HOLEY: 0x4000).
Invalid skin index now draws skin 0 (WinQuake behaviour) instead of blue checkerboard.
Change default screenshot format to png. The 'screenshot' command now supports optional format (tga, png or jpg) and quality (1-100) arguments.
Revert "always run" changes from 0.85.9 and move the QuakeSpasm customizations to a new "cl_alwaysrun" cvar: Set to 1 in order to scale forward/side/up speed by "cl_movespeedkey" (usually 2), and to make "speedkey" act as "slowkey".
Change the "always run" menu option to offer three choices:
off (cl_alwaysrun 0, cl_forwardspeed 200, cl_backspeed 200)
vanilla (cl_alwaysrun 0, cl_forwardspeed 400, cl_backspeed 400)
quakespasm (cl_alwaysrun 1, cl_forwardspeed 200, cl_backspeed 200)
New "r_scale" cvar. Set to 2, 3, or 4 to render the view at 1/2, 1/3, or 1/4 resolution.
New "r_viewmodel_quake" cvar. Set to 1 for WinQuake gun position (from MarkV).
New "find" / "apropos" command, searches for commands/cvar names for the given substring (from Spike).
New "randmap" command for loading a random map.
New "gl_cshiftpercent_contents", "gl_cshiftpercent_damage", "gl_cshiftpercent_bonus", "gl_cshiftpercent_powerup" cvars for tuning the strength of specic view blends.
GL2 renderer: use a GLSL shader for world faces. Fixes reports of integrated+discrete GPU laptops having inconsistent fog rendering.
Fix macOS startup delay (avoid calling gethostbyname() for ".local" hostnames).
Fix memory corruption in PF_lightstyle with out of bounds lightstyles.
Fix crash in BoundPoly with polygons extending beyond +/-9999.
Fix QS window to stay on the current monitor when changing video modes (SDL2 only).
Fix possible freeze in SV_TouchLinks regardless of what QC does in the touch function.
Fix for maps with empty strings for vector keys (e.g. "origin"); don't read uninitialized memory.
Support for Open Watcom compiler.
Update the third-party libraries.
Fixed large menu scale factors (was broken in 0.92.0).
Fixed PAUSE key (was broken in 0.92.0).
Updated some of the third-party libraries.
SDL2 Game Controller support.
Contrast support with new "contrast" cvar, behaving the same as MarkV. It may be a useful alternative to the existing gamma control for laptops in a bright environment, etc. Raising contrast gives less of a gray/washed out look than raising gamma, but at a disadvantage: colors near white get clipped to white.
RMQ protocol (999) support, adapted from RMQEngine.
New "-protocol x" command line option. Accepted values for 'x' are 15 (NetQuake), 666 (FitzQuake, default), and 999 (RMQ).
New "setpos" console command.
New "vid_borderless" cvar for getting a borderless window.
Increased MAX_MAP_LEAFS from 65535 to 70000 and MAX_LIGHTMAPS from 256 to 512 in order to handle the oms3 map pack.
Server edicts are now allocated using malloc instead of allocating on the hunk.
gl_clear now defaults to 1.
Fix items falling out of the world on oms3.bsp on SSE builds.
Worked around an OSX 10.6 driver bug when using FSAA, which was leading to an unplayable HOM effect on the rest of the screen.
Fix wrong trace endpoint from the tracepos console command.
Updated some of the third-party libraries. Other fixes/clean-ups.
Bugfixes
Fix unwanted fog mode change upon video restart.
Work around Intel 855 bug in status bar drawing with "r_oldwater 0" and "scr_sbaralpha 0".
Fix an obscure GLSL bug where changing gamma would result in the screen turning to noise.
Fix GLSL gamma causing the tiled screen border to turn white when "sizedown" is used.
Fix an alias model VBO renderer bug where a model not precached during map start wouldn't be drawn.
Fix the order of OpenGL context creation and window creation in SDL2 video.
Fix a calling convention issue in windows DPI awareness function pointers.
Fix a random texture recoloring after video mode change.
Fix a liquid turning to garbage after several video mode changes and "r_oldwater 0".
Fix a wrong alpha-sorting bug introduced in 0.90.1.
Fix "flush" command not reloading mdl's from disk (bug introduced in 0.90.1).
Prevent a possible buffer overflow in Cbuf_Execute (old Q1/Q2 bug).
Prevent a possible vulnerability in MSG_ReadString (old Q1/Q2 bug).
Visual improvements
New cvars r_lavaalpha, r_slimealpha, r_telealpha for fine-tuning specific liquid opacities (from DirectQ/RMQEngine, non-archived, default to 0), and new worldspawn keys _wateralpha, _lavaalpha, _slimealpha, _telealpha, _skyfog (unique to Quakespasm, similar to the behaviour of the "fog" worldspawn key).
GLSL gamma is now supported on older hardware without NPOT extension.
Interface improvements
New r_pos command to show player position.
NaN detection in traceline with "developer 1" set now warns instead of errors.
Code cleanup / Other
Update third-party libraries.
Raised limits
Default max_edicts 8192 (was 2048) and no longer saved to config.cfg.
Default heapsize 256 MB (was 64 MB).
Default zone 4 MB (was 384 KB).
Raised MAX_SFX to 1024 (was 512).
Bugfixes
Fix dynamic light artifact where changing lightmap are rendered one frame late (bug introduced in 0.90.0).
Fix texture memory leak when changing video modes with SDL2.
Fix rare incorrect mdl lighting on 64-bit builds.
(details here.)
Fix fullbrights turning black after "kill" command (bug introduced in 0.90.0).
Clear all fog values on map change to prevent colored fog carrying over to jam3_tronyn.bsp.
Allow loading saves with } character in quoted strings, fixes issue with retrojam1_skacky.bsp.
Fix viewmodel not lerping on extended-limit maps.
Fix crash on out-of-bounds skin number.
Performance
Use multithreaded OpenGL on OS X for better performance.
New, faster mdl renderer using GLSL. Disable with "-noglslalias".
Visual improvements
New gamma correction implementation using GLSL. Fixes all known gamma issues (affecting the full display, persisting after quitting, or darkening the screen on OS X). Disable with "-noglslgamma".
Use high-quality water by default (r_oldwater 0).
Shadows use stencil buffer to avoid overlapping artifacts (from MarkV.)
r_noshadow_list cvar added (from MarkV.)
Interface improvements
Support pausing demo playback with the "pause" command.
Autocompletion for "game", "record", "playdemo".
Experimental windowed fullscreen mode available with vid_desktopfullscreen 1 (only in SDL2 builds, takes effect upon entering fullscreen mode the next time.)
Silence "exceeded standard limit" messages unless developer cvar is >= 1.
Some spam moved from developer 1 to 2: "can't find tga/lit/ent", "trying to load ent", "bad chunk length", "meshing", "PR_AlocStringSlots: realloc'ing"
Code cleanup
Clean up IDE project files to build on fresh systems.
Update 3rd-party libraries.
Fix issues on Windows systems with DPI scaling.
Unix/Mac user directories support. Disabled by default, 'make DO_USERDIRS=1' to enable it.
SDL2 support. Disabled by default, 'make USE_SDL2=1' to enable it.
Revised keyboard input code.
Revised/improved the 'game' command, i.e. on-the-fly mod changing. It now accepts an optional second argument for mission packs or quoth support i.e. -hipnotic, -rogue, or -quoth. For example, for WarpSpasm: "game warp -quoth"
Command line: "-game {quoth/hipnotic/rogue}" is now treated the same as -quoth, -hipnotic, or -rogue.
Console speed now resolution-independent.
Disabled gl_zfix, which caused glitches and is undesirable for new maps. Replacement .ent files to fix z-fighting for several id1 maps added to quakespasm.pak.
PF_VarString buffer bumped to 1024, avoids truncated centerprints from the 'In The Shadows' mod.
Support for opengl non-power-of-two-textures extension (disable with command line: "-notexturenpot".)
Support for OpenGL vertex buffer objects (VBO, OpenGL 1.5 or newer) for world and brush models (disable with command line: "-novbo".)
Antialiasing (FSAA) support (command line: -fsaa x, where x can be 0, 2, 4, 8).
Fence textures support.
Dynamic light speedup. Speedup loading of tga and pcx external images.
Brush model drawing speedup.
Support for BSP2 and 2PSB map formats.
Support for Opus, FLAC, and tracker music (S3M, IT, UMX, etc.), as compile-time options.
Music and sfx now mixed at 44100 Hz to avoid downsampling music. Low-pass filter applied to the sfx if -sndspeed is 11025 (the default), to preserve the same sound quality as 0.85.9. New -mixspeed option sets the rate for mixing sfx and music, and output to the OS (default 44100), setting it to 11025 reverts to 0.85.9 behaviour. New snd_filterquality cvar, value can be between 1 (emulate OS X resampler) and 5 (emulate Windows resampler), controls the sound of the low-pass filter.
Better Hor+ field of view (FOV) scaling behavior.
Better cross-map demo playback support.
Fix screenshots when screen width isn't a multiple of 4.
Fix a lighting glitch due to floating point precision.
Fix a looping sounds glitch.
Fix a vulnerability in file extension handling. Tighten path handling safety.
Initialize opengl with 24-bit depth buffer at 32 bpp.
Reset all models upon gamedir changes. (Fixes failures with mods using custom content.)
Fix broken behavior upon gamedir changes if -basedir is specified on the command line.
NET_MAXMESSAGE and MAX_MSGLEN limits bumped to 64000.
MAX_EFRAGS bumped to 4096, and MAX_CHANNELS to 1024.
MAX_ENT_LEAFS bumped from 16 to 32 to work around disappearing or flickering brush models in some situations. Also, if an entity is visible from MAX_ENT_LEAFS or more leafs, we now always send it to the client.
Fix cvar cycle command not working sometimes.
Host_Error upon missing models. (Prevents segmentation faults.)
Change sv_aim default value to 1 (i.e. turn off autoaim)
Add 'prev' and 'next' keywords to the 'cd' command.
Work around a linux cdrom issue (playback might not start for a while after a stop).
Quakespasm content customization moved from engine-embedded into a new optional quakespasm.pak file.
Version bumped to 0.90.0 (because Quakespasm has a decent life of it's own)
Other fixes and clean-ups.
Fixes for several undefined behaviors in C code (gcc-4.8 support.)
Implemented Hor+ style field of view (FOV) scaling, useful for widescreen resolutions. Configured by new cvar fov_adapt: set it to 1 and your fov will be scaled automatically according to the resolution. Enabled by default.
Adjusted string buffers for PR_ValueString and friends to fix crashes with excessively long global strings seen in some rude mods.
Toned down warning messages from PF_VarString() a bit.
Fixed Fitzquake's map existence check in changelevel (used to leak file handles which would end up in a Sys_Error() due to consuming all free handles if many maps reside not in pak files.)
Fixes/cleanups in chat mode handling. Client no longer gets stuck in chat mode upon disconnect.
Mouse grab/key_dest fixes and key cleanups.
The "speedkey" now acts as "slowkey" when "always run" is on.
Support for demo recording after connection to server. (thanks to Baker for a patch)
Corner case fixes in COM_Parse() for quoted strings and support for C-style /*..*/ comments.
Changed lightmaps to GL_RGBA instead of GL_RGB.
Better parse for opengl extensions list (from quakeforge.)
Vsync saving/loading fixes.
Fixed pointfile loading.
Multiple cleanups in gl_vidsdl.c.
Opus music decoding support (as an optional patch only.)
Several other minor fixes/cleanups.
Made Quake shareware 1.00 and 1.01 versions to be recognized properly.
Fixed control-character handling in unicode mode. Keyboard input tweaks.
Made the keypad keys to send separate key events in game mode.
Text pasting support from OS clipboard to console. (windows and macosx.)
Support for the Apple (Command) key on macosx.
Fixed increased (more than 32) dynamic lights.
Music playback: Made sure that the file's channels count is supported.
Support for Solaris.
Switched to using libmad instead of libmpg123 for MP3 playback on Mac OS X.
Better support for building the Mac OS X version using a makefile, support for cross-compiling on Linux.
Fixed a minor intermissions glitch.
Increased string buffer size from 256 to 384 for PF_VarString to work around broken mods such as UQC.
Restored original behavior for Quake registered version detection.
Minor demo recording/playback tweaks.
Minor tweaks to the scale menu option.
unbindall before loading stored bindings (configurable by new cvar cfg_unbindall, enabled by default.)
New icon.
Miscellaneous source code cleanups.
Added support for cross-level demo playback
gl_texturemode is reimplemented as a cvar with a callback and the setting is automatically saved to the config
Fixed execution of external files without a newline at the end
Reduced memory usage during reloading of textures
Fixed compilation on GNU/kFreeBSD (Debian bug #657793)
Fixed backspace key on Mac OS X
Disable mouse acceleration in Mac OS X
Worked around recursive calling of the anisotropic filter callback
Console word wrap and long input line fixes
Verified correct compilation by clang (using v3.0)
Several other small changes mostly invisible to the end-user
More work for string buffer safety
Reverted v0.85.5 change of not allowing deathmatch and coop cvars to be set at the same time (was reported for possibility of causing compatibility issues with mods)
Several cleanups/changes in the cvar layer
Minor SDL video fixes.
SDL input driver updated adding native keymap and dead key support to the console
Fixed a crash in net play in maps with extended limits
Verified successful compilation using gcc-4.6.x
Added workaround against GL texture flicker (z fighting), controlled by new cvar 'gl_zfix'
Read video variables early so that a vid_restart isn't necessary after init
mlook and lookspring fixes
Added support for loading external entity files, controlled by new cvar 'external_ents'
Made mp3 playback to allocate system memory instead of zone
Some updates to the progs interpreter code
Fixed r_nolerp_list parsing code of fitzquake
Made sure that deathmatch and coop are not set at the same time
Several code updates from uHexen2 project, several code cleanups.
Implement music (OGG, MP3, WAV) playback
A better fix for the infamous SV_TouchLinks problem, no more hard lockups with maps such as "whiteroom"
Add support for mouse buttons 4 and 5
Fix the "unalias" console command
Restore the "screen size" menu item
Fixed an erroneous protocol check in the server code
Raised the default zone memory size to 384 kb
Raised the default max_edicts from 1024 to 2048
Revised lit file loading, the lit file must be from the same game directory as the map itself or from a searchpath with a higher priority
Fixed rest of the compiler warnings
Other minor sound and cdaudio updates
Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) rather than SDL_net
Much needed OSX framework stuff from Kristian
Add a persistent history feature (thanks Baker)
Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for a nicer status bar)
Allow player messages longer than 32 characters
Sockaddr fix for FreeBSD/OSX/etc networking
Connect status bar size to the scale slider
Include an ISNAN (is not-a-number) fix to catch the occassional quake C bug giving traceline problems
Enumerate options menus
Add a "prev weapon" menu item (from Sander)
Small fix to Sound Block/Unblock on win32
Lots of code fixes (some from uhexen2)
Sys_Error calls Host_Shutdown
Added MS Visual Studio support
Add a "-cd" option to let the CD Player work in dedicated mode, and some other CD tweaks.
Replace the old "Screen size" slider with a "Scale" slider
Don't constantly open and close condebug log
Heap of C clean-ups
Fix mapname sorting
Alias the "mods" command to "games"
Block/Unblock sound upon focus loss/gain
NAT fix (networking protocol fix)
SDLNet_ResolveHost bug-fix allowing connection to ports other than 26000
Bumped array size of sv_main.c::localmodels from 5 to 6 fixing an old fitzquake-0.85 bug which used to cause segfaults depending on the compiler.
Accept commandline options like "+connect ip:port"
Add OSX Makefile (tested?)
64 bit CPU support
Restructured SDL sound driver
Custom conback
Tweaked the command line completion and added a map/changelevel autocompletion function
Alt+Enter toggles fullscreen
Disable Draw_BeginDisc which causes core dumps when called excessively
Show helpful info on start-up
Include real map name (sv.name) and skill in the status bar
Remove confirm quit dialog
Don't spam the console with PackFile seek requests
Default to window mode
Withdraw console when playing demos
Don't play demos on program init
Default Heapsize is 64meg
Changes to default console alpha, speed
Changes to cvar persistence gl_flashblend (default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
Add uHexen2's first person camera (and menu item)
Native CD audio support (if desired). cd_sdl.c doesn't have proper volume controls and SDL2 doesn't support CD audio
quakespasm-0.93.0/Misc/ 0000755 0000000 0000000 00000000000 13204512422 013341 5 ustar root root quakespasm-0.93.0/Misc/quake_retexturing_project.patch 0000644 0000000 0000000 00000010560 13153013704 021662 0 ustar root root
Index: Quake/gl_model.c
===================================================================
--- Quake/gl_model.c (revision 1463)
+++ Quake/gl_model.c (working copy)
@@ -429,6 +429,8 @@ void Mod_LoadTextures (lump_t *l)
extern byte *hunk_base;
//johnfitz
+ extern cvar_t r_externaltexture_fix; //mk
+
//johnfitz -- don't return early if no textures; still need to create dummy texture
if (!l->filelen)
{
@@ -490,7 +492,17 @@ void Mod_LoadTextures (lump_t *l)
if (!isDedicated) //no texture uploading for dedicated server
{
if (!q_strncasecmp(tx->name,"sky",3)) //sky texture //also note -- was Q_strncmp, changed to match qbsp
+ {
+ //mk -- begin
+ if (r_externaltexture_fix.value) {
+ if (strstr(tx->name,"sky4")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==13039)
+ q_strlcpy(tx->name, "sky1", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+ } //mk -- end
Sky_LoadTexture (tx);
+ }
else if (tx->name[0] == '*') //warping texture
{
//external textures -- first look in "textures/mapname/" then look in "textures/"
@@ -540,6 +552,52 @@ void Mod_LoadTextures (lump_t *l)
//external textures -- first look in "textures/mapname/" then look in "textures/"
mark = Hunk_LowMark ();
COM_StripExtension (loadmodel->name + 5, mapname, sizeof(mapname));
+ //mk begin
+ if (r_externaltexture_fix.value) {
+ if (strstr(tx->name,"plat_top1")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==24428)
+ q_strlcpy(tx->name, "plat_top1_cable", sizeof(tx->name));
+ else
+ q_strlcpy(tx->name, "plat_top1_bolt", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+
+ if (strstr(tx->name,"metal5_2")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==49173)
+ q_strlcpy(tx->name, "metal5_2_x", sizeof(tx->name));
+ else
+ q_strlcpy(tx->name, "metal5_2_arc", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+
+ if (strstr(tx->name,"metal5_4")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==20977)
+ q_strlcpy(tx->name, "metal5_4_double", sizeof(tx->name));
+ else
+ q_strlcpy(tx->name, "metal5_4_arc", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+ if (strstr(tx->name,"metal5_8")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==48444)
+ q_strlcpy(tx->name, "metal5_8_rune", sizeof(tx->name));
+ else
+ q_strlcpy(tx->name, "metal5_8_back", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+ if (strstr(tx->name,"metal5_8")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==48444)
+ q_strlcpy(tx->name, "metal5_8_rune", sizeof(tx->name));
+ else
+ q_strlcpy(tx->name, "metal5_8_back", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+ if (strstr(tx->name,"window03")) {
+ if (CRC_Block((byte *)(tx+1), tx->width * tx->height)==63697) // e4m2 variant
+ q_strlcpy(tx->name, "window03_e4m2", sizeof(tx->name));
+ Con_Printf(" using %s\n", tx->name);
+ }
+ } //mk end
+
q_snprintf (filename, sizeof(filename), "textures/%s/%s", mapname, tx->name);
data = Image_LoadImage (filename, &fwidth, &fheight);
if (!data)
Index: Quake/gl_rmain.c
===================================================================
--- Quake/gl_rmain.c (revision 1406)
+++ Quake/gl_rmain.c (working copy)
@@ -101,6 +101,8 @@
extern cvar_t r_vfog;
//johnfitz
+
+cvar_t r_externaltexture_fix = {"r_externaltexture_fix","0", CVAR_ARCHIVE}; //mk
cvar_t gl_zfix = {"gl_zfix", "0", CVAR_NONE}; // QuakeSpasm z-fighting fix
Index: Quake/gl_rmisc.c
===================================================================
--- Quake/gl_rmisc.c (revision 1406)
+++ Quake/gl_rmisc.c (working copy)
@@ -47,6 +47,7 @@
extern cvar_t r_noshadow_list;
//johnfitz
extern cvar_t gl_zfix; // QuakeSpasm z-fighting fix
+extern cvar_t r_externaltexture_fix; //mk
extern gltexture_t *playertextures[MAX_SCOREBOARD]; //johnfitz
@@ -231,6 +232,7 @@ void R_Init (void)
Cvar_RegisterVariable (&r_noshadow_list);
Cvar_SetCallback (&r_noshadow_list, R_Model_ExtraFlags_List_f);
//johnfitz
+ Cvar_RegisterVariable (&r_externaltexture_fix); //mk
Cvar_RegisterVariable (&gl_zfix); // QuakeSpasm z-fighting fix
Cvar_RegisterVariable (&r_lavaalpha);
quakespasm-0.93.0/Misc/systest.c 0000644 0000000 0000000 00000016163 11643523122 015236 0 ustar root root /*
* stupid test tool that reports the type sizes and
* their alignment offsets in structures, and the byte
* order as detected at runtime and compile time.
*/
/*
* endianness stuff: is supposed
* to succeed in locating the correct endian.h
* this BSD style may not work everywhere.
*/
#undef ENDIAN_GUESSED_SAFE
#undef ENDIAN_ASSUMED_UNSAFE
#include
#include
#include
#include
/* include more if it didn't work: */
#if !defined(BYTE_ORDER)
# if defined(__linux__) || defined(__linux)
# include
# elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
# include
# elif defined(__sun) || defined(__svr4__)
# include
# elif defined(_AIX)
# include
# elif defined(sgi)
# include
# elif defined(__DJGPP__)
# include
# endif
#endif /* endian includes */
#if defined(__BYTE_ORDER) && !defined(BYTE_ORDER)
#define BYTE_ORDER __BYTE_ORDER
#endif /* __BYTE_ORDER */
#if !defined(PDP_ENDIAN)
#if defined(__PDP_ENDIAN)
#define PDP_ENDIAN __PDP_ENDIAN
#else
#define PDP_ENDIAN 3412
#endif
#endif /* NUXI endian (not supported) */
#if defined(__LITTLE_ENDIAN) && !defined(LITTLE_ENDIAN)
#define LITTLE_ENDIAN __LITTLE_ENDIAN
#endif /* __LITTLE_ENDIAN */
#if defined(__BIG_ENDIAN) && !defined(BIG_ENDIAN)
#define BIG_ENDIAN __BIG_ENDIAN
#endif /* __LITTLE_ENDIAN */
#if defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN)
# if (BYTE_ORDER != LITTLE_ENDIAN) && (BYTE_ORDER != BIG_ENDIAN)
# error "Unsupported endianness."
# endif
#else /* one of the definitions is mising. */
# undef BYTE_ORDER
# undef LITTLE_ENDIAN
# undef BIG_ENDIAN
# undef PDP_ENDIAN
# define LITTLE_ENDIAN 1234
# define BIG_ENDIAN 4321
# define PDP_ENDIAN 3412
#endif /* byte order defs */
#if !defined(BYTE_ORDER)
/* supposedly safe assumptions: these may actually
* be OS dependant and listing all possible compiler
* macros here is impossible (the ones here are gcc
* flags, mostly.) so, proceed carefully..
*/
# if defined(__DJGPP__) || defined(MSDOS) || defined(__MSDOS__)
# define BYTE_ORDER LITTLE_ENDIAN /* DOS */
# elif defined(__sun) || defined(__svr4__) /* solaris */
# if defined(_LITTLE_ENDIAN) /* x86 */
# define BYTE_ORDER LITTLE_ENDIAN
# elif defined(_BIG_ENDIAN) /* sparc */
# define BYTE_ORDER BIG_ENDIAN
# endif
# elif defined(__i386) || defined(__i386__) || defined(__386__) || defined(_M_IX86)
# define BYTE_ORDER LITTLE_ENDIAN /* any x86 */
# elif defined(__amd64) || defined(__x86_64__) || defined(_M_X64)
# define BYTE_ORDER LITTLE_ENDIAN /* any x64 */
# elif defined(_M_IA64)
# define BYTE_ORDER LITTLE_ENDIAN /* ia64 / Visual C */
# elif defined (__ppc__) || defined(__POWERPC__) || defined(_M_PPC)
# define BYTE_ORDER BIG_ENDIAN /* PPC: big endian */
# elif (defined(__alpha__) || defined(__alpha)) || defined(_M_ALPHA)
# define BYTE_ORDER LITTLE_ENDIAN /* should be safe */
# elif defined(_WIN32) || defined(_WIN64) /* windows : */
# define BYTE_ORDER LITTLE_ENDIAN /* should be safe */
# elif defined(__hppa) || defined(__hppa__) || defined(__sparc) || defined(__sparc__) /* others: check! */
# define BYTE_ORDER BIG_ENDIAN
# endif
# if defined(BYTE_ORDER)
/* raise a flag, just in case: */
# define ENDIAN_GUESSED_SAFE BYTE_ORDER
# endif
#endif /* supposedly safe assumptions */
#if !defined(BYTE_ORDER)
/* brain-dead fallback: default to little endian.
* change if necessary!!!!
*/
# define BYTE_ORDER LITTLE_ENDIAN
# define ENDIAN_ASSUMED_UNSAFE BYTE_ORDER
#endif /* fallback. */
#if defined(ENDIAN_ASSUMED_UNSAFE)
/*
# if (ENDIAN_ASSUMED_UNSAFE == LITTLE_ENDIAN)
# warning "Cannot determine endianess. Using LIL endian as an UNSAFE default"
# elif (ENDIAN_ASSUMED_UNSAFE == PDP_ENDIAN)
# warning "Cannot determine endianess. Using PDP (NUXI) as an UNSAFE default."
# elif (ENDIAN_ASSUMED_UNSAFE == BIG_ENDIAN)
# warning "Cannot determine endianess. Using BIG endian as an UNSAFE default."
# endif
*/
#endif /* ENDIAN_ASSUMED_UNSAFE */
#define COMPILED_BYTEORDER BYTE_ORDER
#include
#include
int DetectByteorder (void)
{
int i = 0x12345678;
/* U N I X */
/*
BE_ORDER: 12 34 56 78
U N I X
LE_ORDER: 78 56 34 12
X I N U
PDP_ORDER: 34 12 78 56
N U X I
*/
if ( *(char *)&i == 0x12 )
return BIG_ENDIAN;
else if ( *(char *)&i == 0x78 )
return LITTLE_ENDIAN;
else if ( *(char *)&i == 0x34 )
return PDP_ENDIAN;
return -1;
}
struct align_test_char { char dummy; char test; };
struct align_test_short { char dummy; short test; };
struct align_test_int { char dummy; int test; };
struct align_test_long { char dummy; long test; };
struct align_test_longlong { char dummy; long long test; };
struct align_test_float { char dummy; float test; };
struct align_test_double { char dummy; double test; };
struct align_test_longdouble { char dummy; long double test;};
struct align_test_voidptr { char dummy; void *test; };
int main (void)
{
int tmp = ((char) -1);
printf ("char is signed type : %s - char is %s\n", (tmp < 0) ? "yes" : "no", (tmp < 0) ? "SIGNED" : "UNSIGNED");
printf ("Type sizes and alignment within structures:\n");
printf ("char : %d, packing offset: %d\n", (int) sizeof(char), (int) ((size_t) &((struct align_test_char *)0)->test));
printf ("short : %d, packing offset: %d\n", (int) sizeof(short), (int) ((size_t) &((struct align_test_short *)0)->test));
printf ("int : %d, packing offset: %d\n", (int) sizeof(int), (int) ((size_t) &((struct align_test_int *)0)->test));
printf ("long : %d, packing offset: %d\n", (int) sizeof(long), (int) ((size_t) &((struct align_test_long *)0)->test));
printf ("long long : %d, packing offset: %d\n", (int) sizeof(long long),(int) ((size_t) &((struct align_test_longlong *)0)->test));
printf ("void *ptr : %d, packing offset: %d\n", (int) sizeof(void *), (int) ((size_t) &((struct align_test_voidptr *)0)->test));
printf ("float : %d, packing offset: %d\n", (int) sizeof(float), (int) ((size_t) &((struct align_test_float *)0)->test));
printf ("double : %d, packing offset: %d\n", (int) sizeof(double), (int) ((size_t) &((struct align_test_double *)0)->test));
printf ("long double: %d, packing offset: %d\n", (int) sizeof(long double),(int)((size_t)&((struct align_test_longdouble *)0)->test));
printf ("ENDIANNESS (BYTE ORDER):\n");
tmp = DetectByteorder();
printf ("Runtime detection : ");
switch (tmp)
{
case BIG_ENDIAN:
printf ("Big Endian");
break;
case LITTLE_ENDIAN:
printf ("Little Endian");
break;
case PDP_ENDIAN:
printf ("PDP (NUXI) Endian");
break;
default:
printf ("Unknown Endian");
break;
}
printf ("\n");
tmp = COMPILED_BYTEORDER;
printf ("Compile time detection: ");
switch (tmp)
{
case BIG_ENDIAN:
printf ("Big Endian");
break;
case LITTLE_ENDIAN:
printf ("Little Endian");
break;
case PDP_ENDIAN:
printf ("PDP (NUXI) Endian");
break;
default:
printf ("Unknown Endian");
break;
}
#if defined(ENDIAN_GUESSED_SAFE)
printf (" (Safe guess)");
#elif defined(ENDIAN_ASSUMED_UNSAFE)
printf (" (Unsafe assumption)");
#endif
printf ("\n");
return 0;
}
quakespasm-0.93.0/Misc/fitzquake085.txt 0000644 0000000 0000000 00000143247 11364571402 016365 0 ustar root root
================================================================================
Fitzquake version 0.85, Feb 12, 2009
Filename : fitzquake085.exe
Author : John Fitzgibbons
Email Address : johnfitz@u.washington.edu
Author's Homepage : http://www.celephais.net/
Fitzquake Homepage : http://www.celephais.net/fitzquake
Fitzquake is a modified glquake based on the source code released by id
Software. My primary focus is fixing a lot of the rendering bugs which made
glquake inferior to the software renderer. My secondary focus is adding
conveniences for mappers and general users. I am also slowly adding support for
new modding or mapping features such as skyboxes, fog, and colored light.
While I have made extensive changes to the code, I pretty much use the same
OpenGL features that the original glquake uses. Therefore, if you can run
glquake, you can probably run Fitzquake.
I am not finished working on this project, so bug reports and feature requests
are welcome.
Acknowlegements
--------------------------------------------------------------------------------
id Software, LordHavoc, Bengt Jardrup, Baker, Aardappel, SmallPileOfGibs, FrikaC,
Vondur, JPL, Negke, preach, Topaz, Tomaz, Tonik, Radix, EvilTypeGuy, NightBringer,
MH, Tyrann, Spirit, Fett, Maddes, Craig Wills, Heffo, Riot, Gleeb, Speedy,
people in #flipcode, & others for their feedback, tutorials, code, testing,
and assistance.
Copyright / Permissions
--------------------------------------------------------------------------------
Copyright (C) 1996-2001 Id Software, Inc.
Copyright (C) 2002-2009 John Fitzgibbons and others
This program 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 2 of the License, or (at your option) any later
version.
This program 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
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
History
================================================================================
changes in 0.85
---------------
- increased limits
- added a network protocol 666, which supports higher limits, entity alpha, and more (see command "sv_protocol")
- can load and play all known limits-breaking maps, including masque, warpspasm, indian summer, sickbase, 768_negke, digs04, omlabx, and bod.
- increased MAX_MODELS from 256 to 2048 (and MAX_MOD_KNOWN from 512 to 2048) (requires the new protocol) Prints a warning if you exceed the old limit.
- increased MAX_SOUNDS from 256 to 2048 (requires the new protocol) Prints a warning if you exceed the old limit.
- increased the upper limit for the "max_edicts" cvar to 32000 (requires the new protocol for entities past 8192 to play sounds)
- models with more than 256 frames can now actually use those frames (requires the new protocol)
- fixed crash when marksurfaces > 32767, raising the effective limit to 65k. Prints a warning if you exceed 32767.
- fixed crash or other weird behavior when faces > 32767, raising the effective limit to 65k. Prints a warning if you exceed 32767.
- fixed crash when nodes > 32767, raising the effective limit for leafs+nodes to 65k. Prints a warning if you exceed 32767.
- increased clipnode capacity from 32k to 65k. Prints a warning if you exceed 32767.
- increased MAX_MAP_LEAFS from 8192 to 32k (these are visleafs, not total leafs.) Prints a warning if you exceed the old limit.
- increased MAX_STATIC_ENTITIES from 128 to 512. Prints a warning if you exceed the old limit.
- increased MAX_VISEDICTS from 256 to 1024, which should fix static entities flickering in large maps. Prints a warning if you exceed the old limit.
- increased MAX_EFRAGS from 640 to 2048. Should reduce the "Too many efrags!" messages. Prints a warning if you exceed the old limit.
- increased MAX_LIGHTMAPS from 64 to 256, meaning you can load 4 times as much lightmap data before getting an "Allocblock:full" error. Prints a warning if you exceed the old limit.
- increased MAX_GLTEXTURES from 1024 to 2048
- increased MAX_BEAMS from 24 to 32 and MAX_TEMP_ENTITIES from 64 to 256, so you can have more lightning bolts now
- increased increase MAX_DLIGHTS from 32 to 64
- eliminated "packet overflow" errors in single-player mode on all known maps, by increasing MAX_DATAGRAM from 1024 to 32000 (NET_MAXMESSAGE and MAX_MSGLEN were also increased accordingly.) In multiplayer (including COOP,) the MAX_DATAGRAM size is 1400 because the MTU on most internet routers is ~1450, and anything above this could get fragmented and lost since datagram packets use UDP. Prints warning when packetsize exceeds the standard datagram size.
- increased signon buffer capacity, should eliminate sz_getspace errors (example: hard mode coop crash on Travail's qte2m1.bsp.) Prints a warning when signon buffer is too big for standard servers.
- "no free edicts" error now spits you back to the console instead of crashing
- visual improvements
- added model interpolation for animation and movement. See cvars r_lerpmodels, r_lerpmove, r_nolerp_list.
- added interpolation on the gun kick motion, and ability to disable gun kick entirely (see cvar "v_gunkick")
- disabled torches/bolts casting shadows
- more content support
- added support for per-entity alpha, and it works even without a custom progs.dat, works on static entities too, and both bsp and mdl models. Set values directly in the map and/or control it with quakec. When setting alpha, a value of "0" is interpreted as "default", which means 1.0 for most things, but for water polygons it t means obey the value of r_waterwarp. A value greater than 0, up to 1.0, will explicitly set the alpha, and override r_wateralpha for water polygons. A value of -1 will explictly set the alpha to 0 (invisible), and override r_wateralpha. (requires the new protocol, except for alpha -1, which makes things invisible even with protocol 15)
- can playback protocol 15 demos containing the nonstandard U_TRANS bit, as recorded by nehahra, joequake, and aguirre's engine. When the server says it is running protocol 15, and the U_TRANS bit is encountered, fitzquake will assume it's the Nehahra protocol and parse it accordingly.
- added support for -quoth command line switch. Loads quoth content regardless of current gamedir, and enables hipnotic statusbar layout. This allows you to load a mod that requires quoth, but is in a separate directory (i.e. fitzquake.exe -quoth -game warp)
- fullbrights now use additive blending instead of alpha blending. This allows me to support external glowmaps, and entity transparency with fullbrights/glowmaps. In some cases, additive fullbrights are rendered using multitexture, but only if GL_EXT_texture_env_add is available. The command line option -nocombine will disable the use of GL_EXT_texture_env_add.
- added support for external glowmaps (names must end in _luma or _glow)
- added support for external liquid textures (name your files #water instead of *water)
- added support for map-specific texture directories (put textures in /textures/mapname/)
- interface improvements
- improved crosshair accuracy somewhat for protocol 15, and improved it a lot in protocol 666
- rearranged scorebar so that map titles as long as 40 chars can be displayed without scrolling
- statusbar displayed values now cap at 999 rather than displaying truncated numbers (1001 will be displayed as 999 instead of 001)
- tab completion cycle order now alphabetized as a whole rather than grouped by type
- added scr_conscale cvar (see below)
- added scr_crosshairscale cvar (see below)
- added scr_sbaralpha cvar (see below)
- scr_showfps and scr_clock display now use same scale as console (scr_conscale, scr_conwidth)
- video menu now shows aspect ratio of selected video mode
- added aguirRe's trick of making the window perfectly cover the screen with no titlebar/borders, if you create a windowed mode with height/width equal to the desktop size. (not tested on dual monitors, though.)
- developer features
- added ability to monitor various stats that change dynamically, such as packet size, temp entities, and visedicts. (see cvar "devstats")
- restricted spammy messages "packet overflow", "beam list overflow", and "too many efrags" to repeat at most once every 3 seconds
- r_showbboxes now draws point entities too
- "mcache" command now gives you a total number of models (note, this is a list of all loaded models, not just the current level's model precaches)
- "soundlist" command now gives you a total number of sounds (note, this is a list of all loaded sounds, not just the current level's sound precaches)
- "give" command can now give armor values above 200
- added imagedump command (see below)
- "x is not a field" message is now shown only if developer = 1
- bugfixes
- added Baker's fixes for Intel display adapters
- fixed tab completion cycle never reaching certain commands/cvars in list
- fixed -dinput mouse doesn't work after vid_restart
- fixed rotated alias models incorrectly culled
- fixed sky animation on brush models
- fixed "invalid pixel format" error when switching between two video modes with the same bit depth, on certain chipsets (Baker had this problem)
- fixed alt-tab fullscreen trashed window on some nvidia, intel cards (from Baker)
- fixed some TGAs load upside down
- fixed non-square PCX loading appears interlaced
- fixed PCX loading from inside pakfiles appears as random noise
- fixed player skin corruption bug (thanks aguirRe)
- fixed improperly trying to colormap the playermodel before a map is loaded, after switching games (could cause a crash or discolored textures)
- fixed too-dark fog on world/brushmodels with -nomtex
- fixed overbright models too light with fog and -nocombine
- fixed r_wateralpha support on brush entities
- fixed grenade shadows spinning wildly instead of staying on the ground
- fixed solid fogged sky was not quite the same color as solid fogged geometry, for certain colors of fog
- fixed trigger_changelevel with missing map causes apparent hang
- fixed hang when r_stereo and r_lightmap are both enabled
- fixed "W_GetLumpinfo" crash when a graphic is missing from gfx.wad. Prints a console message instead. Missing graphics will be drawn as a checkerboard image. Note: conchars is the one graphic that must be in the gfx.wad, since the console won't even function without it.
- fixed accidentally stripping -hipnotic and -rogue directories when switching games
- fixed give command doesn't update currentammo
- fixed changing gamedirs while a skybox is loaded sometimes corrupts textures/lightmaps in the next map loaded
- fixed unnecessary creation of "glquake" subdirectory
- fixed 0Hz/0bpp showing up in video menu sometimes
- fixed -aliases triggered on alt-tab
- fixed con_logcenterprint considering identical messages to be duplicates even though the map has changed in between
- fixed hang in proxmap2, when going through one of the teleporters (thanks spirit, mh)
- fixed lightning bolt memory corruption crash (rare)
- source cleanup
- removed all ASM code from source, and removed gas2masm project
- cleaned up unnecessary library dependencies in source release
- renamed local variable "errno" to fix a compiling problem on visual c++ express edition
- added dxsdk folder to source release
cvars:
- devstats. default 0. If 1, prints various the current and peak values of various stats that change over time, such as packetsize, and edicts. Note: even if devstats is set to 0, fitzquake will keep track of peak values so when you turn it on, the peaks are accurate. Devstats display scale follows console text scale.
- r_lerpmodels. default 0. If 1, do interpolation on model animations, with exceptions for torches (r_nolerp_list) & muzzleflares (interpolation is suspended for two frames if EF_MUZZLEFLASH is encountered, on the assumption a muzzleflare happens at the same time.) If 2, lerp all animations, without exception. If 0, disable interpolation (to mimic standard quake.)
- r_lerpmove. default 0. If 1, do movement interpolation on MOVETYPE_STEP entities (i.e. monsters.) If 0, disable interpolation (to mimic standard quake.) I recommend that you use r_lerpmove and r_lerpmodels together, or turn them both off, otherwise monsters will move strangely.
- r_nolerp_list. Contains a comma-separated list of filenames of models to exclude from lerping. Filename must include the relative path and extension, for example "progs/flame.mdl". The default is "progs/flame.mdl,progs/flame2.mdl,progs/braztall.mdl,progs/brazshrt.mdl,progs/longtrch.mdl,progs/flame_pyre.mdl,progs/v_saw.mdl,progs/v_xfist.mdl,progs/h2stuff/newfire.mdl". This should include all torches in id1, quoth, and bastion, which look bad when lerped, and the zerstorer chainsaw and xmen fist, which also look bad lerped.
- r_skyfog. default 0.5. Controls how much the sky is obscured by the fog. 0 = sky is completely unfogged, 1 = sky is completely fogged.
- scr_conscale. default 1. Scales the console text larger, but only has an effect when scr_conwidth is 0.
- scr_crosshairscale. default 1. Scales the crosshair larger. 1 = normal, 10 = maximum enlargement
- scr_sbaralpha. default 1. Controls the transparency of the statusbar background. 0 = invisible, 1 = opaque (original quake behavior), in-between values give different levels of transparency. Pro tip: set it to 0.99 and it will still appear opaque, but the 3D view will expand to fill the area on both sides of the statusbar.
- v_gunkick. default 1. If 1, standard quake view kick when you fire your gun. If 2, interpolates the view kick. If 0, disables view kick entirely.
commands:
- imagedump. Dumps all loaded textures from opengl into tga files. This shows the textures as they exist in opengl texture memory. Texture names containing '*' will be renamed with '#' instead.
- sv_protocol. Sets the network protocol used by the server. Default is 666. Possible values are 15 (standard netquake protocol) or 666 (new fitzquake protocol.) Changes to the protocol will not take effect until the next time you load/reload a level. When running protocol 666, standard clients won't be able to connect to your server, and they won't be able to play any demos you record. When running protocol 15, only 256 models and 256 sounds can be sent to the client, which means you would see invisible entities and not hear some sounds, when running a map or mod that has more than 256 models or sounds. There is also some other data the server will suppress in protocol 15, such as per-entity alpha. Also note, dzip's special demo compression does not work on demos that use modified protocols, so you will get a compression ratio no better than standard zip compression.
changes in 0.80
---------------
- map loading is about four times faster. This is due to some optimizations in the texture loading code.
- video mode can now be changed in-game. You can change resolution, color depth, refresh rate, and switch between windowed and fullscreen modes. This can be accomplished easily using the video options menu, and is also available at the console using cvars. Note: if you launch fitzquake with -width, -height, -window, or -bpp in the command line, Fitzquake will use the command line settings and ignore whatever it reads from the config files at startup. However, you will still be able to change the video mode from the menu or the console as you like. Also note: to change video modes by execing a config file, the config file must include "vid_restart" after the other vid_ cvars have been set. (see cvars "vid_width," "vid_height," "vid_fullscreen," "vid_bpp," "vid_refreshrate," and commands "vid_restart," "vid_test")
- added control of entity count limits (MAX_EDICTS.) The default maximum has been increased from 600 to 1024. It can be raised even higher (up to 8192 -- this is a limit set by the network protocol) using a cvar. (see cvar "max_edicts")
- added control of vertical sync. (see cvar "vid_vsync")
- added control of anistropic filtering. Anisotropic filtering is a method to improve texture clarity on surfaces when viewed at steep angles. (see cvar "gl_texture_anisotropy")
- console buffer size can now be set. The command line option "-consize" allows you to specify the buffer size in kilobytes. For reference, fitzquake's default buffer size is 64k, and glquake's is 16k. 16k is also the smallest size fitzquake will allow you to set. Note: this buffer lives in the heap, so if you want to have a HUGE buffer, you might need to increase -heapsize also.
- increased max surface extents from 256 (the software quake maximum) to 2000. For reference, the glquake maximum is 512. This should eliminate the "bad surface extents" crash when running some maps that could be played in glquake, but not fitzquake or winquake.
- increased max vertices in an alias model from 1024 (the glquake maximum) to 2000 (the software quake maximum.)
- increased MAX_CHANNELS from 128 to 512 and MAX_DYNAMIC_CHANNELS from 8 to 128
- screenshot filenames are now in the format "fitz0000.tga", increasing the maximum number of screenshots per folder from one hundred to ten thousand.
- vid_describemodes output cleaned up; now displays a list of valid refresh rates for each mode
- added a more intuitive cvar control of slow motion/fast-forward for demos and live gameplay. (see cvar "host_timescale")
- "reset to defaults" option in the menu now executes the "resetall" command before loading default.cfg
- game command now writes config.cfg to current gamedir before switching
- +mlook is now saved to config.cfg
- changed smallest allowed window size from 320x240 to 320x200
- console cursor images are now hard-coded, and the insert mode cursor is now a vertical bar instead of an underscore. This was prompted by several popular mods (OUM, Xmen TC) using nonstandard cursors, which are incompatible the fitzquake console enhancements.
- gl_farclip now defaults to 16384. This should be high enough to handle even the largest open areas without unwanted clipping. The only reason you'd want to lower this number is if you see z-fighting.
- added cvar r_drawworld (see below)
- added cvar r_showtris (see below)
- added cvar r_showbboxes (see below)
- added a command to cycle a cvar through a list of values. (see command "cycle")
- mapname command now works on dedicated server.
- added a hack to fix those white edges on the bottom of the large box of shells. I feel dirty, but they look better, now.
- changed stuffcmds behavior to allow hyphenated map names, config file names, etc. in the command line. (example: "fitzquake.exe +exec my-config.cfg +map my-map") However, you still can't load a map or config file when the first character in the filename is a hyphen.
- skybox loader now reverts to scrolling sky if all 6 skybox faces failed to load.
- tweaked circular particles to match the apparent size of the square particles.
- fixed crash when loading mods with large player skins (like the chainsaw mod, and PerQuake.) Colormapping can now handle any size player texture (limited to the heapsize, of course.)
- fixed bug where a replacement model in a mod is messed up becuase a matching .ms2 file in id1/glquake is present. The fix is simply to disable all mesh caching, which slows down model loading a little.
- fixed freeze when gl_overbright is 1 and either texture_env_combine or multitexture is disabled or not supported.
- fixed "numgltextures == MAX_GLTEXTURES" crash when viewing multiplayer->setup menu.
- fixed "numgltextures == MAX_GLTEXTURES" crash when playing large maps (nesp09,) due to frequent model recaches.
- fixed bug where entities and water were not being drawn any frame in which a model had to be recached.
- fixed skybox texture showing up in the place of other textures/skins/lightmaps, when the previous loaded map had a skybox.
- fixed missing polygons on edges of screen when underwater and r_waterwarp is 1.
- fixed missing polygons on edges of screen when r_stereo is enabled.
- fixed long mapnames that scroll are truncated to be shorter than what appears in the console. Well, sort of. What I did was increase the maximum length from 39 to 127. A mapname longer than 127 will still be truncated, but these are pretty rare.
- fixed rogue's teamplay skin showing up as an all-white texture.
- fixed checkerboard texture shows up sometimes when an animated texture has fullbright pixels on some frames, but not others (reactor core in junk.bsp)
- fixed color 255 is not fullbright
- fixed fuscia dots appearing in corners of resampled textures
- fixed mapname command crashes when client is disconnected.
- fixed cl_nolerp 1 screws up speed of demo playback
- fixed annoying client-side step-up smoothing when in noclip mode (except on nonlocal servers.)
- fixed scr_clock 2 displays hour twelve as "0" instead of "12"
- fixed skip textured surfaces still drawn even after running tyrann's skip utility
- fixed crash when loading a map with a sky texture where the "sky" in the texturename is not lowercase
- fixed hang in e2m2 on easy skill, where you can shoot one of the buttons at the beginning and then trick-jump through the open gate. Now it prints a warning message ("SV_TouchLinks: null link") and lets you keep playing.
- fixed bug when viewsize < 100, and r_oldwater is 0, where you can see the water textures overlaying part of the brown frame around the viewport.
- fixed bug where imagelist and r_speeds2 would report the same megabyte counts in both 16bpp and 32bpp mode, even though texture bpp should match (and does match) framebuffer bpp. The numbers are now different and accurate for each bit depth.
- removed cvars "vid_config_x," "vid_config_y," "vid_wait," "vid_nopageflip," "_vid_wait_override," "_vid_default_mode," "_vid_default_mode_win," and "vid_stretch_by_2," none of which glquake ever used.
- removed cvar "vid_mode" and commands "vid_describemode" and "vid_nummodes," because of the new video mode handling.
cvars:
- gl_texture_anisotropy. Controls the amount of anisotropy in texture filtering. If 1 or less than 1, texture filtering is normal (isotropic.) If greater than 1, increasing degrees of anisotropic filtering are used, up to the hardware maximum. Set value to 2 for 2x anisotropic, 4 for 4x, etc. Default 1.
- host_timescale. Scales the passage of time on client and server. Set to 0 or 1 for normal speed, less than 1 for slow motion, and greater than 1 for fast-forward. If greater than 0, overrides host_framerate. Default 0.
- max_edicts. Sets the maximum number of entites on both the client and server. Default 1024. Acceptable values range from 256 to 8192. Set to 600 to mimic standard quake. Changes won't take effect until the next time a map is loaded. Note: if a client connects to a server, and the client's maximum is lower than the server's, the client will probably crash if it ever sees an entnum higher than its local max_edicts. Warning: you may need to increase -heapsize if you want a high max_edicts value.
- r_drawworld. If 1, draw world as usual. If 0, don't draw the world. Default 1. (compare r_drawentities)
- r_showbboxes. If 1, draw a wireframe bounding box around each entity. Note that these are the server-side per-edict physics bounding boxes, not the client-side per-model rendering bboxes. If 0, disable this feature. Default 0.
- r_showtris. If 1, draw wireframe outlines for every triangle in the scene. Like in Quake 3, the lines will be visible even through solid geometry. If 2, draw the outlines only on visible surfaces (like r_showtris 2 in Medal of Honor.) If 0, disable wireframe overlay. Default 0.
- vid_bpp. Sets the color depth of the screen in fullscreen mode. Windowed mode ignores this setting. Can be 16 or 32. Default 16. (Changes won't take effect until the next call to vid_restart.)
- vid_fullscreen. If 1, fitzquake will run fullscreen. If 0, fitzquake will run in a window. Default 1. (Changes won't take effect until the next call to vid_restart.)
- vid_height. Sets the vertical screen/window resolution. Default 480. In windowed mode, cannot be less than 200. (Changes won't take effect until the next call to vid_restart.)
- vid_refreshrate. Sets the refresh rate of the screen in fullscreen mode. Windowed mode ignores this setting. Possible values include 60, 70, 72, 75, 85, etc. Default 60. (Changes won't take effect until the next call to vid_restart.)
- vid_width. Sets the horizontal screen/window resolution. Default 640. In windowed mode, cannot be less than 320. (Changes won't take effect until the next call to vid_restart.)
- vid_vsync. Set to 1 to enable vertical sync, which eliminates tearing, but caps your framerate at the monitor refreshrate. Set to 0 to disable vertical sync, which allows tearing but doesn't cap your framerate. Default 0. Note: If fitzquake detects that your driver settings have forced vsync to be disabled, it will post a message to the console saying so, and this cvar will have no effect.
commands:
- "cycle [ [ ...]]" to cycle a cvar through a list of values.. Note: this command will get stuck on a list that contains the same value more than once, such as "cycle blah 1 2 1 3". If you're doing anything that complex you can just use aliases.
- vid_restart. Tries to set a video mode that matches the values of vid_width, vid_height, vid_fullscreen, and, if vid_fullscreen is 1, vid_bpp and vid_refreshrate.
- vid_test. Like vid_restart, except that after switching to the new mode pops up a confirmation dialogue. This is useful if you are not sure what modes your monitor can handle, so you don't get stuck with a blank screen. The dialogue has a time limit so that if you don't press a key within 5 seconds, it will revert to the previous mode.
changes in 0.75
---------------
- totally rewritten bsp drawing code. The new code combines the advantages of the gl_texsort 1 and gl_texsort 0 codepaths from glquake into one codepath that uses texture sorting and multitexture. In my tests, i've found that it's about the same speed as glquake in low poly scenes (like the original quake levels,) but as you get into the thousands of wpolys, it's faster and faster.
- 2x overbright lighting. Lighting now looks like software quake. Just like overbright lighting on models, overbright on world polys requires GL_EXT_texture_env_combine (TNT and later, voodoo4 and later.) Without it, FitzQuake will be use two passes to render overbright world polys. So if you don't have that extension, you might disable it for performance reasons. (see cvar "gl_overbright")
- colored lighting support using .lit files.
- totally new water surface animation. The new method requires no surface subdivision, isn't plagued by tearing and sparklies caused by tjunctions, and looks almost identical to software quake's water, and doesn't slow down on very large sheets of water. (see cvars "r_waterquality" and "r_oldwater")
- old water aninmation fixed so that it doesn't look bad when gl_subdivide_size is 32 or lower.
- can load external textures (currently targa and pcx) if they match the texture name in the bsp and are located in the id1/textures, or /textures directory. At the moment no other images (skins, menu, etc.) can be replaced.
- gamma correction now goes back to normal when Fitzquake loses focus.
- tab completion now adds a space after the completed command/cvar if the cursor is at the end of the editline.
- increased the max length of the video mode list from 30 to 80. This should alleviate the problems people with newer cards were having trying to use some 32-bit modes -- there were so many 16-bit modes that they filled up the list before all 32-bit modes could be detected. The video menu will still only list a certain number of modes due to space constraints, but you can see the complete list by using the console command "vid_describemodes"
- number of listed video modes in the "video options" menu increased from 27 to 36.
- added alpha control for the front sky layer. (see cvar "r_skyalpha")
- clock can now display time in 24-hour or "military" time.
- added an "mtex" counter to the r_speeds 2 readout. This measures the number of megabytes of texture memory used each frame to draw the scene. Note: this doesn't count textures used to draw the console, menu, or statusbar.
- added optional drawing of surfaces inside sky leaves, for compiler/map testing purposes. (see cvar "r_oldskyleaf")
- sky surfaces on bmodels are now visible, though drawn incorrectly.
- fixed multiple textures in bsp with same name or no name get overwritten/not loaded. (example: rd1m3)
- fixed some nasty texture loading bugs that were especially hounding 3dfx users (wrong texture, no texture, or unnecessarily low-res textures displayed on models and world.) These bugs would also occur in conjunction with nonzero values of gl_max_size or gl_picmip.
- fixed bug where changing gl_max_size or gl_picmip in-game would screw up alias model texture coordinates.
- fixed bug where if -gamma is specified at the command line, the "gamma" cvar would be ignored.
- fixed model more than 2048 units above floor us unlit by static lighting.
- fixed crash with con_logcenterprint when centerprint message was too long.
- fixed crash when changing to a nonexistant gamedir and then trying to write a file (screenshot, etc.) Fitzquake now creates the directory as needed.
- fixed "bad surface extents" error when sky or water surface is missing from bsp file.
- fixed alias model shadows write to z-buffer.
- fixed underwater intermission camera has warp, but no screenblend.
- fixed console buffer still scrolled back after using the "clear" command.
- fixed console command history (the list of previous commands) not being rewound after toggling the console.
- removed cvar gl_texsort. New bsp drawing code always sorts by texture.
- removed cvar gl_ztrick. The depth buffer is now cleared every frame.
- removed cvar gl_keeptjunctions. Extra verts created by qbsp to eliminate tjunctions are now always kept.
- removed "sliding on monsters' heads" fix, becuase I decided I don't like the idea of changing gameplay, even if the original behaviour is clearly a bug. Since this bug can be fixed in quakec also, I feel safer leaving it as it was.
cvars:
- gl_overbright. default 1. This variable controls overbright lighting on the world polygons. (For lighting on models, use gl_overbright_models.) If 1, overbright will be enabled and lighting will resemble software Quake. If 0, overbright will be disabled and lighting will resemble GLQuake.
- r_oldskyleaf. default 0. If 0, surfaces inside sky leaves will be skipped by the renderer. If 1, they will be drawn whenever they are in your PVS, just like any other surface.
- r_oldwater. default 1. If 1, use the old GLQuake method of subdividing the water surface to enable a warping animation. If 0, use the new render-to-texture method. Note: in general, r_oldwater 0 looks better and runs slower. So experiment to see if the performance hit is acceptable to you.
- r_skyalpha. default 1. Sets the alpha of the front sky layer. Note that if sky alpha is less than 1.0, the sky will be drawn in two passes even if you have multitexture.
- r_waterquality. default 8. Sets the quality of the water when r_oldwater is 0. Can be anywhere from 1 to 64. Lower values give better performance, higher values look better. A value of 4 will provide water that looks at least as good as glquake can get, and 32 is close enough to software quake for all but the most picky. To control the quality of water when r_oldwater is 1, use gl_subdivide_size instead.
- scr_clock. default 0. If 1, game time is displayed. If 2, system time is displayed in 12-hour format. If 3, system time will be displayed in 24-hour or "military" time.
Changes in 0.70
---------------
- added anaglyph stereo rendering. Note that this will cut your framerate in half, as it is rendering the scene once for each eye. You might want to turn off r_drawviewmodel as it is hard to focus on becuase it is so close. (see cvars "r_stereo", "r_stereodepth")
- now uses ARB_multitexture if present, otherwise tries to use SGIS_multitexture. This should fix various blending bugs on some cards, such as weird cloud layers, all-black models, and inverted torches. (only ARB guarantees that GL_DECAL blending will work)
- overbright models now uses GL_EXT_texture_env_combine if supported (TNT and later, voodoo4 and later,) which saves one or two passes on model rendering when gl_overbright_models is 1. The command line option -nocombine will disable this.
- gl_overbright_models now defaults to 1
- custom palettes are now correctly loaded when you use the "game" command.
- RecursiveLightPoint is now lerped for smoother lighting of slow-moving models. Check out the ogre in e3m3 for an example.
- dynamic lighting (rockets, etc) has been moderately sped up. (some lightmaps were being uploaded even though they weren't actually touched by a dynamic light.)
- overhauled 2d drawing to allow independent scaling of console, menu, and sbar (see cvars "scr_conwdith," "scr_menuscale," and "scr_sbarscale") command line switches "-conwidth" and "-conheight" removed. cvar "scr_stretch_menus" removed.
- user control of max framerate. (see cvar "host_maxfps")
- improved the accuracy of the FPS counter a bit, but it still seems suspect.
- particles can now be drawn as quads or triangles. (see cvar "r_quadparticles")
- opengl information (vendor, renderer, version, extensions) is no longer printed during initialization. (see command "gl_info")
- rewrote texture management. Now instead of quake's memory usage going up and up forever (becuase textures were uploaded to the opengl.dll and never freed,) all textures will get flushed when you switch games, bringing you back down to where you were when fitzquake first launched.
- gl_texturemode command will now accept a number (1 through 6) as well as the name (gl_linear_mipmap_nearest, etc.)
- gl_describetexturemodes will list all texturemodes.
- the inside of sky leaves are no longer rendered -- so when noclipping inside them, it will look the same as noclipping inside a solid wall. This does not affect gameplay.
- cleaned up intermission display in singleplayer -- no more overlapping numbers
- r_speeds readout modified a bit. (see cvar "r_speeds")
- r_sky_quality now defaults to 12 instead of 8, since skies are now drawn in 1 pass (with multitexture at least)
- gl_texsort now always defaults to 0. (it used to be forced to 1 when multitexture was unavailable)
- fixed bug where models would actually darken when dlights got bright enough
- fixed deathmatch, coop cvars not reset to zero when starting a new game from the single player menu
- fixed r_lightmap doesn't work when gl_texsort = 0.
- fixed inverted lightmaps / no textures / no dynamic light bug when multitexture is disabled and gl_texsort = 0
- fixed scrolling map title in wrong place when width does not equal conwidth
- fixed a few color borking problems in 16-bit mode. The front sky layer, sprites, and pics with transparency will still look a bit off (as in glquake,) but at least the console image and statusbar background look better. Though it isn't perfect, it should once again look like what you expect from glquake in 16bit.
- fixed pixel gap on both sides of the console in 1024x768
- fixed wpoly count being slightly lower when gl_texsort = 0 (the count was correct when gl_texsort = 1)
- fixed lmap count always zero when gl_texsort = 1
- dlight fans are now drawn after water, so that it looks right at least when wateralpha is 1.
- fixed a possible bug with older 3dfx cards (voodoo 1/2/rush) where the gamma cvar might not work (untested)
- fixed old commands showing up in the console prompt after hitting 'enter'
- increased MAX_HANDLES so that you should never see the "out of handles" error message.
- removed cvar "chase_alpha." the transparent player model was buggy and didn't work well in a lot of conditions.
- removed cvar "gl_doubleeys" (yes, that is the correct misspelling) With overbright models, eyes can be seen as easily as in software mode.
- removed cvars "cl_crossx," "cl_crossy," "lcd_x," "lcd_yaw," and "gl_reporttjunctions" which didn't do anything (in glquake, at least).
- removed support for GL_EXT_shared_texture_palette (special 8-bit texture format)
- removed VCR code. command line switches "-record" and "-playback" no longer supported.
- removed support for command line switch "-gamma" -- just use the gamma cvar, or idgamma or something.
cvars:
- r_stereo. default 0. If nonzero, the scene will be rendered once in red, and again in cyan, with the two views shifted slightly. If you have 3D glasses you can appreciate this (assumes that the left eye is red and the right eye is cyan.) The value of r_stereo sets the eye separation. If your glasses have red on the right eye, use a negative value to flip the views.
- r_stereodepth. default 128. Sets the distance at which the two views will converge when stereo rendering is active.
- scr_conwdith. default 0. Sets the virtual console width, where smaller numbers means larger text. Values larger than window width, or smaller than 320, will be clamped to that range, and all values will be rounded to a multiple of 8. If 0, the window width will be used. Note that values that divide evenly into the window width will make the text look nicest.
- scr_menuscale. default 1. Sets the scale factor for menus and other centered overlays. If 1, images will be drawn at 1:1 scale. If 2, images will be double size. Menus will never be drawn smaller than 1:1, and never larger than the size of the window. Note that integer values will make the text look nicest.
- scr_sbarscale. default 1. Sets the scale factor for the statusbar. If 1, images will be drawn at 1:1 scale. If 2, images will be double size. The statusbar will never be drawn smaller than 1:1, and never larger than the width of the window. Note that integer values will make the text look nicest.
- host_maxfps. default 72. sets the maximum frames per second fitzquake will render (also the maximum number of server frames per second.) Clamped to the range 10 - 1000. Set to 72 to mimic standard quake.
- r_quadparticles. default 1. If 1, particles are drawn as GL_QUADS instead of GL_TRIANGLES. Quads use 4 verts instead of 3, but the fillrate cost is 1/2 that of triangles. Depending on your card, either one may be faster. This cvar has no effect on the appearance of particles.
- r_speeds. default 0. Values of 1 and 2 will give you increasing amounts of information. When you see two numbers separated by a slash, the first number is polys, and the second number is passes.
commands:
- gl_info. Displays opengl info which was previously displayed during initialization: vendor, renderer, version, and extensions
- imagelist. Displays a list of loaded textures, and their dimentions.
- gl_texturemode. Now accepts a number (1 through 6) as well as the name (gl_nearest, etc.)
- gl_describetexturemodes. Lists all texturemodes.
Changes in 0.65
---------------
- gamma cvar now supported. (see cvar "gamma")
- fullbrights on models now supported.
- odd-sized world textures are now bilinearly resampled (instead of glquake's nearest pixel resample)
- removed all fixed-size buffers for loading textures; now the only limit is the size of your memory heap (textures will still be downsampled if they are bigger than the hardware can handle)
- styled lights (torch flicker, etc.) can now be disabled (see cvar "r_flatlightstyles")
- sky now uses multitexture if available.
- centerprints are now optionally logged to the console (see cvar "con_logcenterprint")
- number of savegame slots increased to 20 (from 12)
- if a map title is longer than 22 characters, it scrolls marquee-style in the statusbar.
- gl_flashblend defaults to 1 again. (consistency with glquake)
- gl_ztrick defaults to 1 again. (consistency with glquake)
- command line gamma now defaults to 1.0 for all cards. (consistency with glquake, plus hardware gamma is better)
- now checks hardware for maximum texture size. Users of later voodoo cards should be able to see large textures now. (see cvar "gl_max_size")
- now shows AM/PM when scr_clock is 2
- fixed crash when starting dedicated server
- fixed crash when loading too many textures. (now it throws a sys_error and quits)
- fixed fitzquake-specific crash when player goes near water in a demo playback.
- scr_conalpha now actually works.
- keypad enter in the console works again.
- optional 2x overbrightening on models. (see cvar "gl_overbright_models")
- optional quake2-style noclip. (see cvar "sv_altnoclip")
- new icon
cvars:
- con_logcenterprint: If 1, centerprint messages will be logged to the console in sp/coop. If 2, they will also be logged in deathmatch. Default 1.
- gamma: Brighten or darken the screen to compensate for differences between monitors. This is now supported by using your video card's gamma support. Just like in winquake, values less than 1 are brighter and values greater than one are darker. Default 1. Notes: I have added special code so that this will work on 3dfx cards too, but i have no way to check that it works. If fitzquake crashes, your hardware gamma may be stuck at the wrong value. You can use the "display settings" control panel fix this, or you could try lordhavoc's useful "setgamma" utility (available on this page.) Also note that if texture-brightening gamma has been requested at the command line (fitzquake.exe -gamma ), harware gamma will not be used and the gamma cvar will have no effect.
- gl_max_size: Now defaults to 0. If 0, textures will be as large as the hardware allows. Positive values can be used to impose a limit smaller than the hardware's reported maximum.
- gl_overbright_models: If 1, models will be rendered using 2x overbrightening and will appear at roughly the same brightness as they do in software quake, which is noticably brighter than the default fitzquake / glquake appearance. I disabled this cvar by default becuase this is still a poorly supported feature -- it currently takes 2 or 3 passes to render a model when this feature is enabled, compared to only 1 pass when it is disabled. Default 0.
- r_flatlightstyles: If 1, styled lights (torch flicker, etc.) will be displayed as a steady light. If 2, the peak intensity will be used instead of the average intensity. Default 0.
- sv_altnoclip: If 1, enable the alternative noclip movement which resembles quake2 and is not constrained to the horizontal plane. Set to 0 to retain quake's original noclip behavior. Default 1.
Changes in 0.60
---------------
- graphics:
- better sky projection, configurable for performance
- menus and other overlays are now centered on the screen, and can optionally stretch to fit resolution.
- all 2d graphics now obey gl_texturemode and all texturemode changes take effect immediately
- underwater warping now resembles quake3's perspective munging, and obeys r_waterwarp
- fixed frustum culling b0rked (giving HOM at certain FOV / vidsize / screensize combinations)
- fixed lack of support for VP_PARALLEL_ORIENTED, VP_PARALLEL_UPRIGHT, and FACING_UPRIGHT sprites
- fixed fullbrights not displayed on world/bmodels
- fixed texture cache mismatch error
- fixed pink edges on sprites, menu items, etc
- fixed particle z-buffer bug (apparent when a particle is in front of a water surface)
- fixed ugly resampling of non-power of two gfx, skins, sprites
- fixed large models (shamblers, shub) dissapearing near edge of screen
- fixed statusbar not visible when gl_clear = 1
- fixed r_fullbright change not immedate when gl_texsort = 0
- fixed alias models still dark when r_fullbright = 1
- fixed HOM when screen is partially underwater
- fixed gunshot decals not showing up on some walls
- sky and water warp now freeze when you pause, as well as lightning bolts
- r_novis changes now take effect immediately, rather than when you cross a leaf boundary
- removed mirror code
- two particle styles, circle and square (cvar controlled)
- console:
- improved tab completion:
- hitting tab once will display a list of possible matches and complete the line using the first match
- hitting tab or shift-tab will cycle through the matches
- autocomplete will now match against aliases as well as commands and cvars.
- autocomplete will now complete later in the string (e.g. "bind mouse1 +att" + tab will complete '+attack')
- autocomplete will even complete inside the string (e.g. "bind m +attack" + tab will complete 'mouse1' if the cursor is right after the 'm')
- new key functionality:
- tab -- autocomplete, cycle through multiple matches
- shift-tab -- cycle backwards through multiple matches
- ins -- toggle insertmode
- del -- delete current character
- backspace -- delete previous character
- ctrl-v -- paste from windows clippboard
- leftarrow -- move cursor one character left in line
- rightarrow -- move cursor one character right in line. or, get one character from the previous command.
- home -- move cursor to beginning of line
- end -- move cursor to end of line
- ctrl-pgup -- scroll up a screen at a time
- ctrl-pgdn -- scroll down a screen at a time
- ctrl-home -- scroll to top of console history
- ctrl-end -- scroll to bottom of console history
- carets indicate that you are scrolled back, like in quakeworld/quake2
- left arrow, right arrow, pgup, pgdn keys now auto-repeat
- quadrupled the length of the console history
- commands:
- "game " to load a mod.
- "reset " to reset a cvar to default. Note that this is the engine default, not the default.cfg value
- resetall. resets all cvars.
- mods. lists all child folders of quake directory which contain either a progs.dat or a pak file
- maps. lists all addon levels available (i.e. all levels that are not in id1/*.pak)
- mapname. outputs the short name of the current level (e.g. "e1m5")
- cmdlist. alphabetized. 'cmdlist blah' will list only cmds that start with 'blah'
- cvarlist. alphabetized. 'cvarlist blah' will list only cvars that start with 'blah'
- "inc [amount]" to increment a cvar by amount. amount defaults to 1.
- "toggle " to invert the value of a cvar (nonzero -> 0 and 0 -> 1)
- god, noclip, notarget, and fly can now be explicitly set. example: "god 0" will disable god mode
- viewpos. outputs (X,Y,Z) pitch yaw roll
- "give a " now gives you armour. type depends on value
- bindlist. lists all key bindings
- "alias " now outputs the current command string
- "unalias " to delete an alias
- unaliasall. delete all aliases.
- condump. dumps console to condump.txt
- fog. set global fog. syntax is "fog ", "fog ", or "fog " See section on modding for details. Set density to 0 to disable fog.
- "sky " to load a skybox. if skyname is "", this will turn off skybox rendering.
- stuffcmds now parses the "cmdline" cvar rather than the args actually passed to the program. This is useful for loading mods dynamically, so you can edit the cmdline before execing quake.rc (which calls "stuffcmds")
- cvars:
- scr_stretch_menus. default 1. if 1, menus and other overlays are stretched to fill the screen
- scr_conalpha. default 1. This is the opacity when the console is halfscreen. 0.6 will mimic glquake
- scr_clock. default 0. if 1, game time is displayed. If 2, system time is displayed.
- scr_showfps. default 0. if 1, FPS are displayed.
- r_waterwarp recognized. default 1. if zero, no underwater warping will take place
- r_drawflat recognized. default 0. if 1, polygons will be drawn as a solid color with no lightmap or texture
- r_particles. default 1. 0 = no particles, 1 = circular particles, 2 = square particles
- r_fastsky. default 0. if 1, sky will be rendered as solid color, for added performance
- r_sky_quality. default 8. Higher number divides the sky more, for a smoother effect and slower performance.
- r_clearcolor now supported. default 2. specify a palette index from 0 to 255.
- gl_fullbrights. default 1. set to 0 to disable fullbrights
- gl_farclip. default 8192. set to 4096 to mimic glquake. note that the skybox will be drawn somewhat closer than this value.
- cl_maxpitch. default 90 (straight down.) set to 80 to mimic normal quake
- cl_minpitch. default -90 (straight up.) set to -70 to mimic normal quake
- cl_keypad. default 1. if 0, keypad keys will respond as in quake.exe (for example, pushing 'KP_END' will be the same as pushing '1')
- gl_flashblend now defaults to 0.
- gl_ztrick now defaults to 0.
- gl_keeptjunctions now defaults to 1. (note, contrary to the name of this cvar, what is being kept is the extra polygon verts which *eliminate* tjunctions. This is a good thing, so i made it default to 1)
- chase_alpha. default 1. lower values make the chasecam player model translucent. Buggy.
- keyboard
- keypad keys are now bindable:
KP_NUMLOCK, KP_SLASH, KP_STAR, KP_MINUS, KP_HOME, KP_UPARROW, KP_PGUP, KP_PLUS, KP_LEFTARROW, KP_5, KP_RIGHTARROW, KP_END, KP_DOWNARROW, KP_PGDN, KP_ENTER, KP_INS, KP_DEL
- command line:
- running with -gamma at the command line will set the gamma. There is still no way to change this value in game. Default is 1.0 for 3dfx cards, 0.7 for all others
- if unspecified, -conwidth now defaults to -width
- modding extensions:
- skyboxes (worldspawn and qc settable), currently only targa and pcx formats accepted
- global fog (worldspawn and qc settable)
- physics
- fixed sliding around while standing on solid entities' bounding boxes (monsters, players, etc)
- misc
- default heapsize is now 32mb (was 16mb)
- default zonesize is now 256k (was 48k)
quakespasm-0.93.0/Misc/fs_search_order.patch 0000644 0000000 0000000 00000002203 13153013704 017511 0 ustar root root allow plain files to override files inside a PAK file -- Sander van Dijk.
Index: Quake/common.c
===================================================================
--- Quake/common.c (revision 1476)
+++ Quake/common.c (working copy)
@@ -2036,13 +2036,6 @@ static void COM_AddGameDirectory (const
else path_id = 1U;
_add_path:
- // add the directory to the search path
- search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t));
- search->path_id = path_id;
- q_strlcpy (search->filename, com_gamedir, sizeof(search->filename));
- search->next = com_searchpaths;
- com_searchpaths = search;
-
// add any pak files in the format pak0.pak pak1.pak, ...
for (i = 0; ; i++)
{
@@ -2074,6 +2067,13 @@ _add_path:
if (!pak) break;
}
+ // add the directory to the search path -- moved here from before the pakX.pak loop -- svdijk.
+ search = (searchpath_t *) Z_Malloc(sizeof(searchpath_t));
+ search->path_id = path_id;
+ q_strlcpy (search->filename, com_gamedir, sizeof(search->filename));
+ search->next = com_searchpaths;
+ com_searchpaths = search;
+
if (!been_here && host_parms->userdir != host_parms->basedir)
{
been_here = true;
quakespasm-0.93.0/Misc/mk_header.c 0000644 0000000 0000000 00000003130 12765532434 015441 0 ustar root root /*
gcc -Wall mk_header.c -o mk_header
dumps the bytes of given input to a C header as
comma separated hexadecimal values. the output
header can be used in a C source like:
const char bin[] =
{
# include "output.h"
};
*/
#include
#include
#include
int main (int argc, char **argv)
{
FILE *f;
struct stat s;
unsigned char *buf, *ptr;
const char *output;
long i, j;
if (argc != 2 && argc != 3)
{
printf ("Usage: mk_header [output]\n"
"Default output file is \"output.h\"\n");
return 1;
}
if (stat(argv[1], &s) == -1 ||
! S_ISREG(s.st_mode) )
{
printf ("Couldn't stat %s\n", argv[1]);
return 1;
}
if (s.st_size == 0)
{
printf ("%s is an empty file\n", argv[1]);
return 1;
}
buf = (unsigned char *) malloc (s.st_size);
if (buf == NULL)
{
printf ("Couldn't malloc %ld bytes\n",
(long)s.st_size);
return 1;
}
f = fopen (argv[1], "rb");
if (f == NULL)
{
free(buf);
printf ("Couldn't open %s\n", argv[1]);
return 1;
}
if (fread (buf, 1, s.st_size, f) != (size_t) s.st_size)
{
fclose (f);
free (buf);
printf ("Error reading %s\n", argv[1]);
return 1;
}
fclose (f);
output = (argc == 3) ? argv[2] : "output.h";
f = fopen (output, "wb");
if (!f)
{
free (buf);
printf ("Couldn't open %s\n", output);
return 1;
}
for (i = 0, j = 0, ptr = buf; i < s.st_size; ++i)
{
fprintf (f, "0x%02x", *ptr++);
if (i == s.st_size - 1)
break;
fprintf (f, ",");
if (++j < 16)
fprintf (f, " ");
else
{
j = 0;
fprintf (f, "\n");
}
}
fprintf (f, "\n");
fclose (f);
free (buf);
return 0;
}
quakespasm-0.93.0/Misc/fitzquake080.txt 0000644 0000000 0000000 00000112172 11364571402 016351 0 ustar root root
================================================================================
Fitzquake version 0.80, May 26, 2005
Filename : fitzquake080.exe
Author : John Fitzgibbons
Email Address : johnfitz@u.washington.edu
Author's Homepage : http://www.celephais.net/
Fitzquake Homepage : http://www.celephais.net/fitzquake
Fitzquake is a modified glquake based on the source code released by id
Software. My primary focus is fixing a lot of the rendering bugs which made
glquake inferior to the software renderer. My secondary focus is adding
conveniences for mappers and general users. I am also slowly adding support for
new modding or mapping features such as skyboxes, fog, and colored light.
While I have made extensive changes to the code, I pretty much use the same
OpenGL features that the original glquake uses. Therefore, if you can run
glquake, you can probably run Fitzquake.
I am not finished working on this project, so bug reports and feature requests
are welcome.
Acknowlegements
--------------------------------------------------------------------------------
id Software (quake and quake2 code)
LordHavoc (code and assistance)
Bengt Jardrup (feedback, assistance, testing)
additional thanks to: Aardappel, SmallPileOfGibs, FrikaC, Vondur, Topaz, Tomaz,
Tonik, Radix, EvilTypeGuy, NightBringer, MH, Maddes, Fett, Craig Wills, Heffo,
Riot, Gleeb, people in #flipcode, and others for their tutorials, code, testing,
and assistance.
Copyright / Permissions
--------------------------------------------------------------------------------
Copyright (C) 1996-2001 Id Software, Inc.
Copyright (C) 2002-2005 John Fitzgibbons and others
This program 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 2 of the License, or (at your option) any later
version.
This program 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
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA.
History
================================================================================
changes in 0.80
---------------
- map loading is about four times faster. This is due to some optimizations in the texture loading code.
- video mode can now be changed in-game. You can change resolution, color depth, refresh rate, and switch between windowed and fullscreen modes. This can be accomplished easily using the video options menu, and is also available at the console using cvars. Note: if you launch fitzquake with -width, -height, -window, or -bpp in the command line, Fitzquake will use the command line settings and ignore whatever it reads from the config files at startup. However, you will still be able to change the video mode from the menu or the console as you like. Also note: to change video modes by execing a config file, the config file must include "vid_restart" after the other vid_ cvars have been set. (see cvars "vid_width," "vid_height," "vid_fullscreen," "vid_bpp," "vid_refreshrate," and commands "vid_restart," "vid_test")
- added control of entity count limits (MAX_EDICTS.) The default maximum has been increased from 600 to 1024. It can be raised even higher (up to 8192 -- this is a limit set by the network protocol) using a cvar. (see cvar "max_edicts")
- added control of vertical sync. (see cvar "vid_vsync")
- added control of anistropic filtering. Anisotropic filtering is a method to improve texture clarity on surfaces when viewed at steep angles. (see cvar "gl_texture_anisotropy")
- console buffer size can now be set. The command line option "-consize" allows you to specify the buffer size in kilobytes. For reference, fitzquake's default buffer size is 64k, and glquake's is 16k. 16k is also the smallest size fitzquake will allow you to set. Note: this buffer lives in the heap, so if you want to have a HUGE buffer, you might need to increase -heapsize also.
- increased max surface extents from 256 (the software quake maximum) to 2000. For reference, the glquake maximum is 512. This should eliminate the "bad surface extents" crash when running some maps that could be played in glquake, but not fitzquake or winquake.
- increased max vertices in an alias model from 1024 (the glquake maximum) to 2000 (the software quake maximum.)
- increased MAX_CHANNELS from 128 to 512 and MAX_DYNAMIC_CHANNELS from 8 to 128
- screenshot filenames are now in the format "fitz0000.tga", increasing the maximum number of screenshots per folder from one hundred to ten thousand.
- vid_describemodes output cleaned up; now displays a list of valid refresh rates for each mode
- added a more intuitive cvar control of slow motion/fast-forward for demos and live gameplay. (see cvar "host_timescale")
- "reset to defaults" option in the menu now executes the "resetall" command before loading default.cfg
- game command now writes config.cfg to current gamedir before switching
- +mlook is now saved to config.cfg
- changed smallest allowed window size from 320x240 to 320x200
- console cursor images are now hard-coded, and the insert mode cursor is now a vertical bar instead of an underscore. This was prompted by several popular mods (OUM, Xmen TC) using nonstandard cursors, which are incompatible the fitzquake console enhancements.
- gl_farclip now defaults to 16384. This should be high enough to handle even the largest open areas without unwanted clipping. The only reason you'd want to lower this number is if you see z-fighting.
- added cvar r_drawworld (see below)
- added cvar r_showtris (see below)
- added cvar r_showbboxes (see below)
- added a command to cycle a cvar through a list of values. (see command "cycle")
- mapname command now works on dedicated server.
- added a hack to fix those white edges on the bottom of the large box of shells. I feel dirty, but they look better, now.
- changed stuffcmds behavior to allow hyphenated map names, config file names, etc. in the command line. (example: "fitzquake.exe +exec my-config.cfg +map my-map") However, you still can't load a map or config file when the first character in the filename is a hyphen.
- skybox loader now reverts to scrolling sky if all 6 skybox faces failed to load.
- tweaked circular particles to match the apparent size of the square particles.
- fixed crash when loading mods with large player skins (like the chainsaw mod, and PerQuake.) Colormapping can now handle any size player texture (limited to the heapsize, of course.)
- fixed bug where a replacement model in a mod is messed up becuase a matching .ms2 file in id1/glquake is present. The fix is simply to disable all mesh caching, which slows down model loading a little.
- fixed freeze when gl_overbright is 1 and either texture_env_combine or multitexture is disabled or not supported.
- fixed "numgltextures == MAX_GLTEXTURES" crash when viewing multiplayer->setup menu.
- fixed "numgltextures == MAX_GLTEXTURES" crash when playing large maps (nesp09,) due to frequent model recaches.
- fixed bug where entities and water were not being drawn any frame in which a model had to be recached.
- fixed skybox texture showing up in the place of other textures/skins/lightmaps, when the previous loaded map had a skybox.
- fixed missing polygons on edges of screen when underwater and r_waterwarp is 1.
- fixed missing polygons on edges of screen when r_stereo is enabled.
- fixed long mapnames that scroll are truncated to be shorter than what appears in the console. Well, sort of. What I did was increase the maximum length from 39 to 127. A mapname longer than 127 will still be truncated, but these are pretty rare.
- fixed rogue's teamplay skin showing up as an all-white texture.
- fixed checkerboard texture shows up sometimes when an animated texture has fullbright pixels on some frames, but not others (reactor core in junk.bsp)
- fixed color 255 is not fullbright
- fixed fuscia dots appearing in corners of resampled textures
- fixed mapname command crashes when client is disconnected.
- fixed cl_nolerp 1 screws up speed of demo playback
- fixed annoying client-side step-up smoothing when in noclip mode (except on nonlocal servers.)
- fixed scr_clock 2 displays hour twelve as "0" instead of "12"
- fixed skip textured surfaces still drawn even after running tyrann's skip utility
- fixed crash when loading a map with a sky texture where the "sky" in the texturename is not lowercase
- fixed hang in e2m2 on easy skill, where you can shoot one of the buttons at the beginning and then trick-jump through the open gate. Now it prints a warning message ("SV_TouchLinks: null link") and lets you keep playing.
- fixed bug when viewsize < 100, and r_oldwater is 0, where you can see the water textures overlaying part of the brown frame around the viewport.
- fixed bug where imagelist and r_speeds2 would report the same megabyte counts in both 16bpp and 32bpp mode, even though texture bpp should match (and does match) framebuffer bpp. The numbers are now different and accurate for each bit depth.
- removed cvars "vid_config_x," "vid_config_y," "vid_wait," "vid_nopageflip," "_vid_wait_override," "_vid_default_mode," "_vid_default_mode_win," and "vid_stretch_by_2," none of which glquake ever used.
- removed cvar "vid_mode" and commands "vid_describemode" and "vid_nummodes," because of the new video mode handling.
cvars:
- gl_texture_anisotropy. Controls the amount of anisotropy in texture filtering. If 1 or less than 1, texture filtering is normal (isotropic.) If greater than 1, increasing degrees of anisotropic filtering are used, up to the hardware maximum. Set value to 2 for 2x anisotropic, 4 for 4x, etc. Default 1.
- host_timescale. Scales the passage of time on client and server. Set to 0 or 1 for normal speed, less than 1 for slow motion, and greater than 1 for fast-forward. If greater than 0, overrides host_framerate. Default 0.
- max_edicts. Sets the maximum number of entites on both the client and server. Default 1024. Acceptable values range from 256 to 8192. Set to 600 to mimic standard quake. Changes won't take effect until the next time a map is loaded. Note: if a client connects to a server, and the client's maximum is lower than the server's, the client will probably crash if it ever sees an entnum higher than its local max_edicts. Warning: you may need to increase -heapsize if you want a high max_edicts value.
- r_drawworld. If 1, draw world as usual. If 0, don't draw the world. Default 1. (compare r_drawentities)
- r_showbboxes. If 1, draw a wireframe bounding box around each entity. Note that these are the server-side per-edict physics bounding boxes, not the client-side per-model rendering bboxes. If 0, disable this feature. Default 0.
- r_showtris. If 1, draw wireframe outlines for every triangle in the scene. Like in Quake 3, the lines will be visible even through solid geometry. If 2, draw the outlines only on visible surfaces (like r_showtris 2 in Medal of Honor.) If 0, disable wireframe overlay. Default 0.
- vid_bpp. Sets the color depth of the screen in fullscreen mode. Windowed mode ignores this setting. Can be 16 or 32. Default 16. (Changes won't take effect until the next call to vid_restart.)
- vid_fullscreen. If 1, fitzquake will run fullscreen. If 0, fitzquake will run in a window. Default 1. (Changes won't take effect until the next call to vid_restart.)
- vid_height. Sets the vertical screen/window resolution. Default 480. In windowed mode, cannot be less than 200. (Changes won't take effect until the next call to vid_restart.)
- vid_refreshrate. Sets the refresh rate of the screen in fullscreen mode. Windowed mode ignores this setting. Possible values include 60, 70, 72, 75, 85, etc. Default 60. (Changes won't take effect until the next call to vid_restart.)
- vid_width. Sets the horizontal screen/window resolution. Default 640. In windowed mode, cannot be less than 320. (Changes won't take effect until the next call to vid_restart.)
- vid_vsync. Set to 1 to enable vertical sync, which eliminates tearing, but caps your framerate at the monitor refreshrate. Set to 0 to disable vertical sync, which allows tearing but doesn't cap your framerate. Default 0. Note: If fitzquake detects that your driver settings have forced vsync to be disabled, it will post a message to the console saying so, and this cvar will have no effect.
commands:
- "cycle [ [ ...]]" to cycle a cvar through a list of values.. Note: this command will get stuck on a list that contains the same value more than once, such as "cycle blah 1 2 1 3". If you're doing anything that complex you can just use aliases.
- vid_restart. Tries to set a video mode that matches the values of vid_width, vid_height, vid_fullscreen, and, if vid_fullscreen is 1, vid_bpp and vid_refreshrate.
- vid_test. Like vid_restart, except that after switching to the new mode pops up a confirmation dialogue. This is useful if you are not sure what modes your monitor can handle, so you don't get stuck with a blank screen. The dialogue has a time limit so that if you don't press a key within 5 seconds, it will revert to the previous mode.
changes in 0.75
---------------
- totally rewritten bsp drawing code. The new code combines the advantages of the gl_texsort 1 and gl_texsort 0 codepaths from glquake into one codepath that uses texture sorting and multitexture. In my tests, i've found that it's about the same speed as glquake in low poly scenes (like the original quake levels,) but as you get into the thousands of wpolys, it's faster and faster.
- 2x overbright lighting. Lighting now looks like software quake. Just like overbright lighting on models, overbright on world polys requires GL_EXT_texture_env_combine (TNT and later, voodoo4 and later.) Without it, FitzQuake will be use two passes to render overbright world polys. So if you don't have that extension, you might disable it for performance reasons. (see cvar "gl_overbright")
- colored lighting support using .lit files.
- totally new water surface animation. The new method requires no surface subdivision, isn't plagued by tearing and sparklies caused by tjunctions, and looks almost identical to software quake's water, and doesn't slow down on very large sheets of water. (see cvars "r_waterquality" and "r_oldwater")
- old water aninmation fixed so that it doesn't look bad when gl_subdivide_size is 32 or lower.
- can load external textures (currently targa and pcx) if they match the texture name in the bsp and are located in the id1/textures, or /textures directory. At the moment no other images (skins, menu, etc.) can be replaced.
- gamma correction now goes back to normal when Fitzquake loses focus.
- tab completion now adds a space after the completed command/cvar if the cursor is at the end of the editline.
- increased the max length of the video mode list from 30 to 80. This should alleviate the problems people with newer cards were having trying to use some 32-bit modes -- there were so many 16-bit modes that they filled up the list before all 32-bit modes could be detected. The video menu will still only list a certain number of modes due to space constraints, but you can see the complete list by using the console command "vid_describemodes"
- number of listed video modes in the "video options" menu increased from 27 to 36.
- added alpha control for the front sky layer. (see cvar "r_skyalpha")
- clock can now display time in 24-hour or "military" time.
- added an "mtex" counter to the r_speeds 2 readout. This measures the number of megabytes of texture memory used each frame to draw the scene. Note: this doesn't count textures used to draw the console, menu, or statusbar.
- added optional drawing of surfaces inside sky leaves, for compiler/map testing purposes. (see cvar "r_oldskyleaf")
- sky surfaces on bmodels are now visible, though drawn incorrectly.
- fixed multiple textures in bsp with same name or no name get overwritten/not loaded. (example: rd1m3)
- fixed some nasty texture loading bugs that were especially hounding 3dfx users (wrong texture, no texture, or unnecessarily low-res textures displayed on models and world.) These bugs would also occur in conjunction with nonzero values of gl_max_size or gl_picmip.
- fixed bug where changing gl_max_size or gl_picmip in-game would screw up alias model texture coordinates.
- fixed bug where if -gamma is specified at the command line, the "gamma" cvar would be ignored.
- fixed model more than 2048 units above floor us unlit by static lighting.
- fixed crash with con_logcenterprint when centerprint message was too long.
- fixed crash when changing to a nonexistant gamedir and then trying to write a file (screenshot, etc.) Fitzquake now creates the directory as needed.
- fixed "bad surface extents" error when sky or water surface is missing from bsp file.
- fixed alias model shadows write to z-buffer.
- fixed underwater intermission camera has warp, but no screenblend.
- fixed console buffer still scrolled back after using the "clear" command.
- fixed console command history (the list of previous commands) not being rewound after toggling the console.
- removed cvar gl_texsort. New bsp drawing code always sorts by texture.
- removed cvar gl_ztrick. The depth buffer is now cleared every frame.
- removed cvar gl_keeptjunctions. Extra verts created by qbsp to eliminate tjunctions are now always kept.
- removed "sliding on monsters' heads" fix, becuase I decided I don't like the idea of changing gameplay, even if the original behaviour is clearly a bug. Since this bug can be fixed in quakec also, I feel safer leaving it as it was.
cvars:
- gl_overbright. default 1. This variable controls overbright lighting on the world polygons. (For lighting on models, use gl_overbright_models.) If 1, overbright will be enabled and lighting will resemble software Quake. If 0, overbright will be disabled and lighting will resemble GLQuake.
- r_oldskyleaf. default 0. If 0, surfaces inside sky leaves will be skipped by the renderer. If 1, they will be drawn whenever they are in your PVS, just like any other surface.
- r_oldwater. default 1. If 1, use the old GLQuake method of subdividing the water surface to enable a warping animation. If 0, use the new render-to-texture method. Note: in general, r_oldwater 0 looks better and runs slower. So experiment to see if the performance hit is acceptable to you.
- r_skyalpha. default 1. Sets the alpha of the front sky layer. Note that if sky alpha is less than 1.0, the sky will be drawn in two passes even if you have multitexture.
- r_waterquality. default 8. Sets the quality of the water when r_oldwater is 0. Can be anywhere from 1 to 64. Lower values give better performance, higher values look better. A value of 4 will provide water that looks at least as good as glquake can get, and 32 is close enough to software quake for all but the most picky. To control the quality of water when r_oldwater is 1, use gl_subdivide_size instead.
- scr_clock. default 0. If 1, game time is displayed. If 2, system time is displayed in 12-hour format. If 3, system time will be displayed in 24-hour or "military" time.
Changes in 0.70
---------------
- added anaglyph stereo rendering. Note that this will cut your framerate in half, as it is rendering the scene once for each eye. You might want to turn off r_drawviewmodel as it is hard to focus on becuase it is so close. (see cvars "r_stereo", "r_stereodepth")
- now uses ARB_multitexture if present, otherwise tries to use SGIS_multitexture. This should fix various blending bugs on some cards, such as weird cloud layers, all-black models, and inverted torches. (only ARB guarantees that GL_DECAL blending will work)
- overbright models now uses GL_EXT_texture_env_combine if supported (TNT and later, voodoo4 and later,) which saves one or two passes on model rendering when gl_overbright_models is 1. The command line option -nocombine will disable this.
- gl_overbright_models now defaults to 1
- custom palettes are now correctly loaded when you use the "game" command.
- RecursiveLightPoint is now lerped for smoother lighting of slow-moving models. Check out the ogre in e3m3 for an example.
- dynamic lighting (rockets, etc) has been moderately sped up. (some lightmaps were being uploaded even though they weren't actually touched by a dynamic light.)
- overhauled 2d drawing to allow independent scaling of console, menu, and sbar (see cvars "scr_conwdith," "scr_menuscale," and "scr_sbarscale") command line switches "-conwidth" and "-conheight" removed. cvar "scr_stretch_menus" removed.
- user control of max framerate. (see cvar "host_maxfps")
- improved the accuracy of the FPS counter a bit, but it still seems suspect.
- particles can now be drawn as quads or triangles. (see cvar "r_quadparticles")
- opengl information (vendor, renderer, version, extensions) is no longer printed during initialization. (see command "gl_info")
- rewrote texture management. Now instead of quake's memory usage going up and up forever (becuase textures were uploaded to the opengl.dll and never freed,) all textures will get flushed when you switch games, bringing you back down to where you were when fitzquake first launched.
- gl_texturemode command will now accept a number (1 through 6) as well as the name (gl_linear_mipmap_nearest, etc.)
- gl_describetexturemodes will list all texturemodes.
- the inside of sky leaves are no longer rendered -- so when noclipping inside them, it will look the same as noclipping inside a solid wall. This does not affect gameplay.
- cleaned up intermission display in singleplayer -- no more overlapping numbers
- r_speeds readout modified a bit. (see cvar "r_speeds")
- r_sky_quality now defaults to 12 instead of 8, since skies are now drawn in 1 pass (with multitexture at least)
- gl_texsort now always defaults to 0. (it used to be forced to 1 when multitexture was unavailable)
- fixed bug where models would actually darken when dlights got bright enough
- fixed deathmatch, coop cvars not reset to zero when starting a new game from the single player menu
- fixed r_lightmap doesn't work when gl_texsort = 0.
- fixed inverted lightmaps / no textures / no dynamic light bug when multitexture is disabled and gl_texsort = 0
- fixed scrolling map title in wrong place when width does not equal conwidth
- fixed a few color borking problems in 16-bit mode. The front sky layer, sprites, and pics with transparency will still look a bit off (as in glquake,) but at least the console image and statusbar background look better. Though it isn't perfect, it should once again look like what you expect from glquake in 16bit.
- fixed pixel gap on both sides of the console in 1024x768
- fixed wpoly count being slightly lower when gl_texsort = 0 (the count was correct when gl_texsort = 1)
- fixed lmap count always zero when gl_texsort = 1
- dlight fans are now drawn after water, so that it looks right at least when wateralpha is 1.
- fixed a possible bug with older 3dfx cards (voodoo 1/2/rush) where the gamma cvar might not work (untested)
- fixed old commands showing up in the console prompt after hitting 'enter'
- increased MAX_HANDLES so that you should never see the "out of handles" error message.
- removed cvar "chase_alpha." the transparent player model was buggy and didn't work well in a lot of conditions.
- removed cvar "gl_doubleeys" (yes, that is the correct misspelling) With overbright models, eyes can be seen as easily as in software mode.
- removed cvars "cl_crossx," "cl_crossy," "lcd_x," "lcd_yaw," and "gl_reporttjunctions" which didn't do anything (in glquake, at least).
- removed support for GL_EXT_shared_texture_palette (special 8-bit texture format)
- removed VCR code. command line switches "-record" and "-playback" no longer supported.
- removed support for command line switch "-gamma" -- just use the gamma cvar, or idgamma or something.
cvars:
- r_stereo. default 0. If nonzero, the scene will be rendered once in red, and again in cyan, with the two views shifted slightly. If you have 3D glasses you can appreciate this (assumes that the left eye is red and the right eye is cyan.) The value of r_stereo sets the eye separation. If your glasses have red on the right eye, use a negative value to flip the views.
- r_stereodepth. default 128. Sets the distance at which the two views will converge when stereo rendering is active.
- scr_conwdith. default 0. Sets the virtual console width, where smaller numbers means larger text. Values larger than window width, or smaller than 320, will be clamped to that range, and all values will be rounded to a multiple of 8. If 0, the window width will be used. Note that values that divide evenly into the window width will make the text look nicest.
- scr_menuscale. default 1. Sets the scale factor for menus and other centered overlays. If 1, images will be drawn at 1:1 scale. If 2, images will be double size. Menus will never be drawn smaller than 1:1, and never larger than the size of the window. Note that integer values will make the text look nicest.
- scr_sbarscale. default 1. Sets the scale factor for the statusbar. If 1, images will be drawn at 1:1 scale. If 2, images will be double size. The statusbar will never be drawn smaller than 1:1, and never larger than the width of the window. Note that integer values will make the text look nicest.
- host_maxfps. default 72. sets the maximum frames per second fitzquake will render (also the maximum number of server frames per second.) Clamped to the range 10 - 1000. Set to 72 to mimic standard quake.
- r_quadparticles. default 1. If 1, particles are drawn as GL_QUADS instead of GL_TRIANGLES. Quads use 4 verts instead of 3, but the fillrate cost is 1/2 that of triangles. Depending on your card, either one may be faster. This cvar has no effect on the appearance of particles.
- r_speeds. default 0. Values of 1 and 2 will give you increasing amounts of information. When you see two numbers separated by a slash, the first number is polys, and the second number is passes.
commands:
- gl_info. Displays opengl info which was previously displayed during initialization: vendor, renderer, version, and extensions
- imagelist. Displays a list of loaded textures, and their dimentions.
- gl_texturemode. Now accepts a number (1 through 6) as well as the name (gl_nearest, etc.)
- gl_describetexturemodes. Lists all texturemodes.
Changes in 0.65
---------------
- gamma cvar now supported. (see cvar "gamma")
- fullbrights on models now supported.
- odd-sized world textures are now bilinearly resampled (instead of glquake's nearest pixel resample)
- removed all fixed-size buffers for loading textures; now the only limit is the size of your memory heap (textures will still be downsampled if they are bigger than the hardware can handle)
- styled lights (torch flicker, etc.) can now be disabled (see cvar "r_flatlightstyles")
- sky now uses multitexture if available.
- centerprints are now optionally logged to the console (see cvar "con_logcenterprint")
- number of savegame slots increased to 20 (from 12)
- if a map title is longer than 22 characters, it scrolls marquee-style in the statusbar.
- gl_flashblend defaults to 1 again. (consistency with glquake)
- gl_ztrick defaults to 1 again. (consistency with glquake)
- command line gamma now defaults to 1.0 for all cards. (consistency with glquake, plus hardware gamma is better)
- now checks hardware for maximum texture size. Users of later voodoo cards should be able to see large textures now. (see cvar "gl_max_size")
- now shows AM/PM when scr_clock is 2
- fixed crash when starting dedicated server
- fixed crash when loading too many textures. (now it throws a sys_error and quits)
- fixed fitzquake-specific crash when player goes near water in a demo playback.
- scr_conalpha now actually works.
- keypad enter in the console works again.
- optional 2x overbrightening on models. (see cvar "gl_overbright_models")
- optional quake2-style noclip. (see cvar "sv_altnoclip")
- new icon
cvars:
- con_logcenterprint: If 1, centerprint messages will be logged to the console in sp/coop. If 2, they will also be logged in deathmatch. Default 1.
- gamma: Brighten or darken the screen to compensate for differences between monitors. This is now supported by using your video card's gamma support. Just like in winquake, values less than 1 are brighter and values greater than one are darker. Default 1. Notes: I have added special code so that this will work on 3dfx cards too, but i have no way to check that it works. If fitzquake crashes, your hardware gamma may be stuck at the wrong value. You can use the "display settings" control panel fix this, or you could try lordhavoc's useful "setgamma" utility (available on this page.) Also note that if texture-brightening gamma has been requested at the command line (fitzquake.exe -gamma ), harware gamma will not be used and the gamma cvar will have no effect.
- gl_max_size: Now defaults to 0. If 0, textures will be as large as the hardware allows. Positive values can be used to impose a limit smaller than the hardware's reported maximum.
- gl_overbright_models: If 1, models will be rendered using 2x overbrightening and will appear at roughly the same brightness as they do in software quake, which is noticably brighter than the default fitzquake / glquake appearance. I disabled this cvar by default becuase this is still a poorly supported feature -- it currently takes 2 or 3 passes to render a model when this feature is enabled, compared to only 1 pass when it is disabled. Default 0.
- r_flatlightstyles: If 1, styled lights (torch flicker, etc.) will be displayed as a steady light. If 2, the peak intensity will be used instead of the average intensity. Default 0.
- sv_altnoclip: If 1, enable the alternative noclip movement which resembles quake2 and is not constrained to the horizontal plane. Set to 0 to retain quake's original noclip behavior. Default 1.
Changes in 0.60
---------------
- graphics:
- better sky projection, configurable for performance
- menus and other overlays are now centered on the screen, and can optionally stretch to fit resolution.
- all 2d graphics now obey gl_texturemode and all texturemode changes take effect immediately
- underwater warping now resembles quake3's perspective munging, and obeys r_waterwarp
- fixed frustum culling b0rked (giving HOM at certain FOV / vidsize / screensize combinations)
- fixed lack of support for VP_PARALLEL_ORIENTED, VP_PARALLEL_UPRIGHT, and FACING_UPRIGHT sprites
- fixed fullbrights not displayed on world/bmodels
- fixed texture cache mismatch error
- fixed pink edges on sprites, menu items, etc
- fixed particle z-buffer bug (apparent when a particle is in front of a water surface)
- fixed ugly resampling of non-power of two gfx, skins, sprites
- fixed large models (shamblers, shub) dissapearing near edge of screen
- fixed statusbar not visible when gl_clear = 1
- fixed r_fullbright change not immedate when gl_texsort = 0
- fixed alias models still dark when r_fullbright = 1
- fixed HOM when screen is partially underwater
- fixed gunshot decals not showing up on some walls
- sky and water warp now freeze when you pause, as well as lightning bolts
- r_novis changes now take effect immediately, rather than when you cross a leaf boundary
- removed mirror code
- two particle styles, circle and square (cvar controlled)
- console:
- improved tab completion:
- hitting tab once will display a list of possible matches and complete the line using the first match
- hitting tab or shift-tab will cycle through the matches
- autocomplete will now match against aliases as well as commands and cvars.
- autocomplete will now complete later in the string (e.g. "bind mouse1 +att" + tab will complete '+attack')
- autocomplete will even complete inside the string (e.g. "bind m +attack" + tab will complete 'mouse1' if the cursor is right after the 'm')
- new key functionality:
- tab -- autocomplete, cycle through multiple matches
- shift-tab -- cycle backwards through multiple matches
- ins -- toggle insertmode
- del -- delete current character
- backspace -- delete previous character
- ctrl-v -- paste from windows clippboard
- leftarrow -- move cursor one character left in line
- rightarrow -- move cursor one character right in line. or, get one character from the previous command.
- home -- move cursor to beginning of line
- end -- move cursor to end of line
- ctrl-pgup -- scroll up a screen at a time
- ctrl-pgdn -- scroll down a screen at a time
- ctrl-home -- scroll to top of console history
- ctrl-end -- scroll to bottom of console history
- carets indicate that you are scrolled back, like in quakeworld/quake2
- left arrow, right arrow, pgup, pgdn keys now auto-repeat
- quadrupled the length of the console history
- commands:
- "game " to load a mod.
- "reset " to reset a cvar to default. Note that this is the engine default, not the default.cfg value
- resetall. resets all cvars.
- mods. lists all child folders of quake directory which contain either a progs.dat or a pak file
- maps. lists all addon levels available (i.e. all levels that are not in id1/*.pak)
- mapname. outputs the short name of the current level (e.g. "e1m5")
- cmdlist. alphabetized. 'cmdlist blah' will list only cmds that start with 'blah'
- cvarlist. alphabetized. 'cvarlist blah' will list only cvars that start with 'blah'
- "inc [amount]" to increment a cvar by amount. amount defaults to 1.
- "toggle " to invert the value of a cvar (nonzero -> 0 and 0 -> 1)
- god, noclip, notarget, and fly can now be explicitly set. example: "god 0" will disable god mode
- viewpos. outputs (X,Y,Z) pitch yaw roll
- "give a " now gives you armour. type depends on value
- bindlist. lists all key bindings
- "alias " now outputs the current command string
- "unalias " to delete an alias
- unaliasall. delete all aliases.
- condump. dumps console to condump.txt
- fog. set global fog. syntax is "fog ", "fog ", or "fog " See section on modding for details. Set density to 0 to disable fog.
- "sky " to load a skybox. if skyname is "", this will turn off skybox rendering.
- stuffcmds now parses the "cmdline" cvar rather than the args actually passed to the program. This is useful for loading mods dynamically, so you can edit the cmdline before execing quake.rc (which calls "stuffcmds")
- cvars:
- scr_stretch_menus. default 1. if 1, menus and other overlays are stretched to fill the screen
- scr_conalpha. default 1. This is the opacity when the console is halfscreen. 0.6 will mimic glquake
- scr_clock. default 0. if 1, game time is displayed. If 2, system time is displayed.
- scr_showfps. default 0. if 1, FPS are displayed.
- r_waterwarp recognized. default 1. if zero, no underwater warping will take place
- r_drawflat recognized. default 0. if 1, polygons will be drawn as a solid color with no lightmap or texture
- r_particles. default 1. 0 = no particles, 1 = circular particles, 2 = square particles
- r_fastsky. default 0. if 1, sky will be rendered as solid color, for added performance
- r_sky_quality. default 8. Higher number divides the sky more, for a smoother effect and slower performance.
- r_clearcolor now supported. default 2. specify a palette index from 0 to 255.
- gl_fullbrights. default 1. set to 0 to disable fullbrights
- gl_farclip. default 8192. set to 4096 to mimic glquake. note that the skybox will be drawn somewhat closer than this value.
- cl_maxpitch. default 90 (straight down.) set to 80 to mimic normal quake
- cl_minpitch. default -90 (straight up.) set to -70 to mimic normal quake
- cl_keypad. default 1. if 0, keypad keys will respond as in quake.exe (for example, pushing 'KP_END' will be the same as pushing '1')
- gl_flashblend now defaults to 0.
- gl_ztrick now defaults to 0.
- gl_keeptjunctions now defaults to 1. (note, contrary to the name of this cvar, what is being kept is the extra polygon verts which *eliminate* tjunctions. This is a good thing, so i made it default to 1)
- chase_alpha. default 1. lower values make the chasecam player model translucent. Buggy.
- keyboard
- keypad keys are now bindable:
KP_NUMLOCK, KP_SLASH, KP_STAR, KP_MINUS, KP_HOME, KP_UPARROW, KP_PGUP, KP_PLUS, KP_LEFTARROW, KP_5, KP_RIGHTARROW, KP_END, KP_DOWNARROW, KP_PGDN, KP_ENTER, KP_INS, KP_DEL
- command line:
- running with -gamma at the command line will set the gamma. There is still no way to change this value in game. Default is 1.0 for 3dfx cards, 0.7 for all others
- if unspecified, -conwidth now defaults to -width
- modding extensions:
- skyboxes (worldspawn and qc settable), currently only targa and pcx formats accepted
- global fog (worldspawn and qc settable)
- physics
- fixed sliding around while standing on solid entities' bounding boxes (monsters, players, etc)
- misc
- default heapsize is now 32mb (was 16mb)
- default zonesize is now 256k (was 48k)
quakespasm-0.93.0/Misc/qs_pak/ 0000755 0000000 0000000 00000000000 13204512422 014617 5 ustar root root quakespasm-0.93.0/Misc/qs_pak/Makefile 0000644 0000000 0000000 00000000406 12425501423 016262 0 ustar root root INPUT := gfx/conback.lmp \
maps/e1m1.ent \
maps/e1m2.ent \
maps/e1m4.ent \
maps/e2m2.ent \
maps/e2m3.ent \
maps/e2m7.ent \
default.cfg
OUTPUT := quakespasm.pak
$(OUTPUT): $(INPUT)
./mkpak.sh $(INPUT) > $(OUTPUT)
.PHONY: clean
clean:
rm -f $(OUTPUT)
quakespasm-0.93.0/Misc/qs_pak/maps/ 0000755 0000000 0000000 00000000000 13204512422 015557 5 ustar root root quakespasm-0.93.0/Misc/qs_pak/maps/e2m7.ent.orig 0000644 0000000 0000000 00000142506 12403131422 020005 0 ustar root root {
"wad" "gfx/tim.wad"
"classname" "worldspawn"
"sounds" "7"
"worldtype" "0"
"message" "the Underearth"
}
{
"angle" "90"
"origin" "1136 -1100 -72"
"classname" "info_player_start"
}
{
"origin" "1184 -776 -152"
"classname" "light"
"light" "150"
}
{
"classname" "light"
"origin" "1704 -584 -184"
"light" "150"
}
{
"classname" "light"
"origin" "1640 -688 -184"
"light" "150"
}
{
"classname" "light"
"origin" "1696 -888 -192"
"light" "150"
}
{
"classname" "light"
"origin" "1088 -960 -152"
"light" "150"
}
{
"classname" "light"
"origin" "1248 -960 -152"
"light" "150"
}
{
"classname" "light"
"origin" "1016 -768 -152"
"light" "100"
}
{
"classname" "light"
"origin" "896 -920 -152"
"light" "150"
}
{
"light" "100"
"origin" "1584 -208 -112"
"classname" "light"
}
{
"light" "100"
"origin" "1776 -208 -112"
"classname" "light"
}
{
"light" "150"
"origin" "1584 -88 -112"
"classname" "light"
}
{
"origin" "1774 58 -76"
"classname" "light_torch_small_walltorch"
}
{
"light" "100"
"origin" "1584 -488 -232"
"classname" "light"
}
{
"light" "100"
"origin" "1768 -480 -232"
"classname" "light"
}
{
"light" "150"
"origin" "1752 -112 -176"
"classname" "light"
}
{
"light" "150"
"origin" "1592 -120 -176"
"classname" "light"
}
{
"light" "150"
"origin" "1592 -248 -192"
"classname" "light"
}
{
"light" "200"
"origin" "1768 -240 -192"
"classname" "light"
}
{
"light" "150"
"origin" "1676 -220 -188"
"classname" "light"
}
{
"light" "150"
"origin" "1672 -40 -136"
"classname" "light"
}
{
"light" "150"
"origin" "1676 -376 -252"
"classname" "light"
}
{
"light" "250"
"origin" "1112 952 -92"
"classname" "light"
}
{
"light" "200"
"origin" "1280 928 -152"
"classname" "light"
}
{
"classname" "light"
"origin" "704 952 -92"
"light" "250"
}
{
"classname" "light"
"origin" "824 1112 -92"
"light" "200"
}
{
"classname" "light"
"origin" "952 760 -92"
"light" "200"
}
{
"classname" "light"
"origin" "824 760 -92"
"light" "200"
}
{
"light" "250"
"origin" "952 1112 -92"
"classname" "light"
}
{
"classname" "light"
"origin" "1128 -848 288"
"light" "500"
}
{
"classname" "light"
"origin" "1144 -432 288"
}
{
"classname" "light"
"origin" "864 -552 272"
"light" "200"
}
{
"classname" "light"
"origin" "1392 -568 168"
"light" "200"
}
{
"classname" "light"
"origin" "1416 -592 -24"
"light" "150"
}
{
"classname" "light"
"origin" "888 -584 -24"
"light" "150"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1058 -466 -24"
"light" "225"
}
{
"origin" "1214 -466 -24"
"classname" "light_torch_small_walltorch"
"light" "225"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1198 -66 40"
"light" "300"
}
{
"classname" "light"
"origin" "1144 -204 172"
"light" "150"
}
{
"classname" "light"
"origin" "1144 -292 -32"
"light" "150"
}
{
"classname" "item_spikes"
"origin" "880 -592 -96"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1068 -944 -96"
}
{
"classname" "light"
"origin" "1128 -1084 96"
"light" "300"
}
{
"classname" "light"
"origin" "888 -848 248"
"light" "150"
}
{
"light" "150"
"origin" "1504 -896 248"
"classname" "light"
}
{
"classname" "light"
"origin" "1304 -1048 24"
"light" "225"
}
{
"classname" "light"
"origin" "1520 -872 -192"
"light" "150"
}
{
"light" "100"
"origin" "1384 -776 -184"
"classname" "light"
}
{
"classname" "light"
"origin" "1368 -912 -184"
"light" "100"
}
{
"classname" "light"
"origin" "1584 496 148"
"light" "200"
}
{
"light" "200"
"origin" "1488 496 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1688 164 148"
"light" "200"
}
{
"light" "200"
"origin" "1352 496 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1608 496 -36"
"light" "200"
}
{
"light" "200"
"origin" "1456 496 -36"
"classname" "light"
}
{
"classname" "light"
"origin" "1692 600 -12"
"light" "200"
}
{
"light" "200"
"origin" "1274 618 -64"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1274 378 -64"
"light" "200"
}
{
"classname" "light"
"origin" "1256 496 -40"
"light" "200"
}
{
"spawnflags" "2056"
"wait" "-1"
"classname" "func_door"
"angle" "270"
"model" "*1"
}
{
"wait" "-1"
"spawnflags" "2056"
"sounds" "3"
"angle" "90"
"classname" "func_door"
"model" "*2"
}
{
"light" "200"
"origin" "1968 1792 -257"
"classname" "light"
}
{
"light" "250"
"origin" "1880 1792 -105"
"classname" "light"
}
{
"classname" "light"
"origin" "1976 1944 56"
"light" "150"
}
{
"light" "150"
"origin" "1992 1624 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1944 1736 64"
"light" "150"
}
{
"light" "150"
"origin" "1944 1832 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1128 496 -24"
"light" "250"
}
{
"light" "150"
"origin" "1120 632 -24"
"classname" "light"
}
{
"light" "200"
"origin" "928 544 -24"
"classname" "light"
}
{
"classname" "light"
"origin" "640 664 -8"
"light" "200"
}
{
"light" "200"
"origin" "848 672 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "1024 544 -188"
"light" "175"
}
{
"light" "250"
"origin" "64 192 136"
"classname" "light"
}
{
"classname" "light"
"origin" "528 184 136"
"light" "250"
}
{
"light" "200"
"origin" "72 408 8"
"classname" "light"
}
{
"classname" "light"
"origin" "80 -48 8"
"light" "200"
}
{
"light" "250"
"origin" "400 384 80"
"classname" "light"
}
{
"classname" "light"
"origin" "392 -16 80"
"light" "250"
}
{
"classname" "light"
"origin" "312 184 -80"
"light" "200"
}
{
"light" "200"
"origin" "440 184 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "504 368 -120"
"light" "250"
}
{
"light" "150"
"origin" "632 192 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "504 -16 -120"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "774 446 -172"
"light" "250"
}
{
"origin" "774 -70 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"light" "250"
"origin" "896 -128 152"
"classname" "light"
}
{
"classname" "light"
"origin" "896 184 152"
"light" "250"
}
{
"light" "150"
"origin" "656 184 216"
"classname" "light"
}
{
"classname" "light"
"origin" "304 368 -152"
"light" "200"
}
{
"light" "200"
"origin" "0 480 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "96 376 -168"
"light" "200"
}
{
"classname" "light"
"origin" "16 1480 -96"
"light" "200"
}
{
"light" "200"
"origin" "1280 1824 -120"
"classname" "light"
}
{
"light" "200"
"origin" "504 1816 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "712 1808 -120"
"light" "200"
}
{
"light" "200"
"origin" "1064 1808 -120"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "858 1950 -172"
"light" "250"
}
{
"origin" "658 1950 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "666 1682 -172"
"light" "250"
}
{
"origin" "858 1682 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"classname" "light"
"origin" "1248 1384 -32"
"light" "200"
}
{
"classname" "light"
"origin" "1688 936 -136"
"light" "200"
}
{
"light" "250"
"origin" "1856 1444 -52"
"classname" "light"
}
{
"light" "150"
"origin" "1864 1316 -192"
"classname" "light"
}
{
"classname" "light"
"origin" "1776 1212 -192"
"light" "150"
}
{
"light" "150"
"origin" "1696 1076 -192"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1770 730 -64"
"light" "250"
}
{
"classname" "light"
"origin" "1760 1720 -201"
"light" "250"
}
{
"classname" "light"
"origin" "1632 1520 -201"
"light" "200"
}
{
"classname" "light"
"origin" "1984 1504 -201"
"light" "200"
}
{
"light" "250"
"classname" "light_torch_small_walltorch"
"origin" "1874 2104 -300"
}
{
"light" "250"
"origin" "1712 2104 -300"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light"
"origin" "1792 2048 48"
}
{
"classname" "light_flame_large_yellow"
"origin" "1362 1778 0"
}
{
"classname" "light"
"origin" "1408 1776 -124"
"light" "200"
}
{
"classname" "light"
"origin" "1520 1880 -84"
"light" "175"
}
{
"light" "175"
"origin" "1416 1512 -84"
"classname" "light"
}
{
"classname" "light"
"origin" "1376 1568 -164"
"light" "150"
}
{
"light" "150"
"origin" "1416 1888 -164"
"classname" "light"
}
{
"classname" "light"
"origin" "1544 2072 -164"
"light" "150"
}
{
"classname" "light"
"origin" "1552 1968 36"
"light" "250"
}
{
"classname" "light"
"origin" "1416 1968 -16"
"light" "175"
}
{
"light" "175"
"origin" "1416 2176 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "1240 2176 -16"
"light" "175"
}
{
"light" "175"
"origin" "1240 2000 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "1264 1576 -72"
"light" "200"
}
{
"light" "200"
"origin" "992 1480 -40"
"classname" "light"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "968 1632 -132"
}
{
"light" "200"
"origin" "968 1328 -132"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1474 2234 -133"
"light" "200"
}
{
"origin" "1182 2234 -133"
"classname" "light_torch_small_walltorch"
"light" "200"
}
{
"classname" "light"
"origin" "1936 1480 48"
"light" "150"
}
{
"light" "150"
"origin" "1544 1528 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1472 1488 24"
"light" "150"
}
{
"classname" "light"
"origin" "1400 1664 96"
"light" "150"
}
{
"light" "200"
"origin" "1792 2176 -221"
"classname" "light"
}
{
"classname" "light"
"origin" "1880 2288 -221"
"light" "200"
}
{
"light" "200"
"origin" "2048 2288 -221"
"classname" "light"
}
{
"classname" "light"
"origin" "2128 2208 -221"
"light" "200"
}
{
"light" "200"
"origin" "2160 1992 -205"
"classname" "light"
}
{
"origin" "2288 1952 -29"
"classname" "light"
}
{
"light" "250"
"origin" "2274 1738 -172"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2274 1682 -172"
"light" "250"
}
{
"light" "200"
"origin" "2376 2184 -152"
"classname" "light"
}
{
"light" "200"
"origin" "2618 1658 -169"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2618 1368 -169"
"light" "200"
}
{
"light" "200"
"origin" "2176 1488 -169"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"origin" "2298 626 24"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1930 738 24"
"light" "200"
}
{
"light" "200"
"origin" "2050 394 24"
"classname" "light_torch_small_walltorch"
}
{
"classname" "func_plat"
"model" "*3"
}
{
"light" "150"
"origin" "2152 1784 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "2232 936 -4"
"light" "200"
}
{
"classname" "light"
"origin" "2232 1040 48"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2034 1034 -164"
"light" "200"
}
{
"classname" "light"
"origin" "2304 1040 280"
"light" "200"
}
{
"light" "200"
"origin" "2168 1040 280"
"classname" "light"
}
{
"origin" "2130 2452 -112"
"classname" "light_flame_large_yellow"
"light" "250"
}
{
"classname" "light_flame_large_yellow"
"origin" "1858 2452 -112"
"light" "250"
}
{
"classname" "light"
"origin" "2132 2416 -188"
"light" "150"
}
{
"light" "150"
"origin" "1860 2416 -188"
"classname" "light"
}
{
"light" "200"
"origin" "2256 1968 -453"
"classname" "light"
}
{
"classname" "light"
"origin" "2256 2184 -453"
"light" "200"
}
{
"light" "200"
"origin" "2216 2384 -453"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 2400 -453"
"light" "200"
}
{
"light" "175"
"origin" "1984 2400 -453"
"classname" "light"
}
{
"light" "150"
"origin" "2168 1608 -9"
"classname" "light"
}
{
"classname" "light"
"origin" "2368 1600 -9"
"light" "150"
}
{
"light" "150"
"origin" "2240 1424 44"
"classname" "light"
}
{
"classname" "light"
"origin" "2400 1424 44"
"light" "150"
}
{
"light" "150"
"origin" "2560 1424 44"
"classname" "light"
}
{
"classname" "light"
"origin" "2560 1560 44"
"light" "175"
}
{
"light" "150"
"origin" "2232 1288 44"
"classname" "light"
}
{
"light" "175"
"origin" "2384 1424 -160"
"classname" "light"
}
{
"classname" "light"
"origin" "2232 1288 -160"
"light" "175"
}
{
"light" "150"
"origin" "2164 932 -172"
"classname" "light"
}
{
"classname" "light"
"origin" "2308 932 -172"
"light" "150"
}
{
"light" "150"
"origin" "2232 776 24"
"classname" "light"
}
{
"classname" "light"
"origin" "2192 664 24"
"light" "150"
}
{
"light" "150"
"origin" "2016 696 24"
"classname" "light"
}
{
"classname" "light"
"origin" "1912 496 24"
"light" "150"
}
{
"light" "175"
"origin" "80 1616 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "72 1888 -120"
"light" "175"
}
{
"light" "175"
"origin" "296 1616 -120"
"classname" "light"
}
{
"light" "175"
"origin" "304 1888 -120"
"classname" "light"
}
{
"targetname" "t20"
"angle" "90"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t21"
"angle" "120"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t22"
"angle" "150"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t19"
"angle" "60"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t18"
"angle" "30"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t17"
"angle" "0"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t24"
"angle" "210"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t23"
"angle" "180"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t25"
"angle" "240"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t26"
"angle" "270"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t27"
"angle" "300"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t28"
"angle" "330"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"delay" ".1"
"targetname" "t29"
"target" "t17"
"classname" "trigger_multiple"
"model" "*4"
}
{
"delay" ".1"
"targetname" "t17"
"target" "t18"
"classname" "trigger_multiple"
"model" "*5"
}
{
"delay" ".1"
"targetname" "t18"
"target" "t19"
"classname" "trigger_multiple"
"model" "*6"
}
{
"delay" ".1"
"targetname" "t19"
"target" "t20"
"classname" "trigger_multiple"
"model" "*7"
}
{
"delay" ".1"
"targetname" "t20"
"target" "t21"
"classname" "trigger_multiple"
"model" "*8"
}
{
"delay" ".1"
"targetname" "t21"
"target" "t22"
"classname" "trigger_multiple"
"model" "*9"
}
{
"delay" ".1"
"targetname" "t22"
"target" "t23"
"classname" "trigger_multiple"
"model" "*10"
}
{
"delay" ".1"
"targetname" "t23"
"target" "t24"
"classname" "trigger_multiple"
"model" "*11"
}
{
"delay" ".1"
"targetname" "t24"
"target" "t25"
"classname" "trigger_multiple"
"model" "*12"
}
{
"delay" ".1"
"targetname" "t25"
"target" "t26"
"classname" "trigger_multiple"
"model" "*13"
}
{
"delay" ".1"
"targetname" "t26"
"target" "t27"
"classname" "trigger_multiple"
"model" "*14"
}
{
"delay" ".1"
"targetname" "t27"
"target" "t28"
"classname" "trigger_multiple"
"model" "*15"
}
{
"target" "t29"
"wait" "1.3"
"classname" "trigger_multiple"
"model" "*16"
}
{
"origin" "192 1750 -188"
"classname" "light_flame_large_yellow"
}
{
"light" "125"
"origin" "214 1752 -166"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1774 -166"
"light" "125"
}
{
"light" "125"
"origin" "170 1750 -166"
"classname" "light"
}
{
"classname" "light"
"origin" "194 1726 -166"
"light" "125"
}
{
"target" "t31"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*17"
}
{
"target" "t31"
"angle" "180"
"wait" "-1"
"classname" "func_button"
"model" "*18"
}
{
"target" "t31"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*19"
}
{
"target" "t31"
"angle" "90"
"wait" "-1"
"classname" "func_button"
"model" "*20"
}
{
"wait" "-1"
"targetname" "t30"
"sounds" "4"
"speed" "50"
"angle" "-1"
"classname" "func_door"
"model" "*21"
}
{
"count" "4"
"targetname" "t31"
"target" "t30"
"classname" "trigger_counter"
"model" "*22"
}
{
"light" "150"
"origin" "2424 1080 -176"
"classname" "light"
}
{
"classname" "light"
"origin" "2424 992 -176"
"light" "150"
}
{
"targetname" "t40"
"angle" "180"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "160"
}
{
"targetname" "t40"
"angle" "140"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "120"
}
{
"targetname" "t40"
"angle" "200"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "220"
}
{
"targetname" "t40"
"angle" "240"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t41"
"target" "t40"
"wait" ".5"
"classname" "trigger_multiple"
"model" "*23"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*24"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*25"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*26"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*27"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*28"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*29"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*30"
}
{
"light" "125"
"origin" "2196 1200 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2284 1200 -204"
"light" "125"
}
{
"light" "125"
"origin" "2284 1112 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2388 1104 -204"
"light" "125"
}
{
"light" "125"
"origin" "2284 1000 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2140 1008 -204"
"light" "125"
}
{
"light" "125"
"origin" "2132 1096 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2132 1160 -204"
"light" "125"
}
{
"light" "200"
"origin" "528 1816 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "736 1808 -392"
"light" "200"
}
{
"light" "200"
"origin" "1040 1808 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "744 1424 -392"
"light" "200"
}
{
"light" "200"
"origin" "752 1288 -416"
"classname" "light"
}
{
"light" "200"
"origin" "760 1064 -376"
"classname" "light"
}
{
"classname" "func_train"
"spawnflags" "33"
"targetname" "t42"
"dmg" "1000"
"sounds" "1"
"target" "t124"
"speed" "250"
"model" "*31"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t43"
"speed" "50"
"sounds" "3"
"model" "*32"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t42"
"sounds" "1"
"model" "*33"
}
{
"classname" "trigger_once"
"target" "t43"
"targetname" "t42"
"delay" "2"
"model" "*34"
}
{
"classname" "light"
"origin" "1936 1784 -288"
"light" "125"
}
{
"classname" "monster_ogre"
"origin" "1976 1784 -328"
"angle" "180"
}
{
"classname" "func_door"
"angle" "90"
"wait" "-1"
"sounds" "1"
"model" "*35"
}
{
"classname" "func_door"
"angle" "270"
"targetname" "t44"
"wait" "-1"
"model" "*36"
}
{
"classname" "light"
"origin" "64 264 8"
"light" "125"
}
{
"light" "125"
"origin" "64 120 8"
"classname" "light"
}
{
"classname" "light"
"origin" "64 192 8"
"light" "100"
}
{
"classname" "trigger_once"
"target" "t44"
"model" "*37"
}
{
"classname" "light"
"origin" "512 184 -8"
"light" "175"
}
{
"targetname" "t119"
"classname" "func_door"
"angle" "90"
"wait" "-1"
"speed" "40"
"model" "*38"
}
{
"targetname" "t119"
"classname" "func_door"
"wait" "-1"
"angle" "270"
"speed" "40"
"sounds" "4"
"model" "*39"
}
{
"targetname" "t119"
"classname" "func_door"
"wait" "-1"
"angle" "-1"
"speed" "30"
"message" "Go for a swim first..."
"sounds" "3"
"model" "*40"
}
{
"classname" "func_button"
"angle" "0"
"wait" "-1"
"target" "t45"
"model" "*41"
}
{
"classname" "light"
"origin" "36 184 84"
"light" "75"
}
{
"classname" "light"
"origin" "752 184 -192"
"light" "150"
}
{
"classname" "light"
"origin" "544 536 -152"
"light" "125"
}
{
"classname" "func_door"
"angle" "-2"
"sounds" "1"
"wait" "-1"
"targetname" "t45"
"model" "*42"
}
{
"wait" "-1"
"sounds" "1"
"angle" "-2"
"classname" "func_door"
"targetname" "t45"
"model" "*43"
}
{
"light" "125"
"origin" "544 -152 -152"
"classname" "light"
}
{
"classname" "item_artifact_envirosuit"
"origin" "1024 492 -232"
}
{
"classname" "item_armor1"
"origin" "2128 1752 -352"
}
{
"classname" "light_flame_small_yellow"
"origin" "1024 368 -4"
"light" "250"
}
{
"classname" "light"
"origin" "1024 400 -64"
"light" "150"
}
{
"wait" "5"
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t51"
"model" "*44"
}
{
"wait" "5"
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t51"
"model" "*45"
}
{
"sounds" "3"
"classname" "func_button"
"angle" "270"
"wait" "3"
"target" "t51"
"model" "*46"
}
{
"classname" "light"
"origin" "1224 712 -216"
"light" "100"
}
{
"classname" "light"
"origin" "1232 768 -192"
"light" "100"
}
{
"light" "75"
"origin" "1168 760 -232"
"classname" "light"
}
{
"light" "100"
"origin" "1232 800 -208"
"classname" "light"
}
{
"sounds" "1"
"origin" "1860 472 -8"
"classname" "item_key2"
"spawnflags" "2048"
}
{
"classname" "light"
"origin" "1112 1568 -40"
"light" "200"
}
{
"light" "150"
"origin" "-96 1440 -160"
"classname" "light"
}
{
"classname" "light"
"origin" "384 1440 -160"
"light" "150"
}
{
"light" "200"
"origin" "248 1408 -96"
"classname" "light"
}
{
"light" "150"
"origin" "968 1480 -128"
"classname" "light"
}
{
"light" "150"
"origin" "1008 -592 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "1264 -592 -32"
"light" "150"
}
{
"light" "200"
"origin" "880 -840 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "1376 -856 -56"
"light" "200"
}
{
"light" "175"
"origin" "264 184 -8"
"classname" "light"
}
{
"light" "175"
"origin" "1464 -864 -208"
"classname" "light"
}
{
"light" "175"
"origin" "1816 160 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "1560 160 -56"
"light" "175"
}
{
"light" "175"
"origin" "1544 1632 104"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 1624 128"
"light" "175"
}
{
"classname" "item_health"
"origin" "1068 -980 -104"
}
{
"spawnflags" "1"
"classname" "item_shells"
"origin" "1344 -1160 -96"
}
{
"classname" "monster_ogre"
"origin" "1008 -128 40"
"angle" "315"
"targetname" "t59"
"spawnflags" "1"
}
{
"classname" "trigger_once"
"target" "t59"
"model" "*47"
}
{
"classname" "monster_ogre"
"origin" "896 96 56"
"angle" "270"
"target" "t60"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "896 208 40"
"target" "t60"
"targetname" "t61"
}
{
"origin" "896 -16 40"
"classname" "path_corner"
"targetname" "t60"
"target" "t61"
}
{
"classname" "path_corner"
"origin" "168 392 -56"
"target" "t62"
"targetname" "t63"
}
{
"origin" "168 -16 -56"
"classname" "path_corner"
"targetname" "t62"
"target" "t63"
}
{
"classname" "path_corner"
"origin" "88 344 -56"
"targetname" "t64"
"target" "t65"
"spawnflags" "256"
}
{
"origin" "88 72 -56"
"classname" "path_corner"
"target" "t64"
"targetname" "t65"
"spawnflags" "256"
}
{
"classname" "monster_hell_knight"
"origin" "88 224 -40"
"angle" "90"
"target" "t64"
"spawnflags" "257"
}
{
"classname" "monster_hell_knight"
"origin" "168 232 -40"
"angle" "270"
"target" "t62"
"spawnflags" "1"
}
{
"classname" "monster_zombie"
"origin" "544 -120 -208"
"angle" "90"
"targetname" "t45"
}
{
"classname" "monster_zombie"
"origin" "544 496 -208"
"angle" "270"
"targetname" "t45"
}
{
"classname" "monster_wizard"
"origin" "664 428 216"
"angle" "225"
"spawnflags" "1"
}
{
"angle" "135"
"origin" "664 -56 216"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"classname" "light"
"origin" "1736 88 -40"
"light" "100"
}
{
"classname" "monster_ogre"
"origin" "904 -120 56"
"angle" "0"
"targetname" "t66"
"spawnflags" "1281"
}
{
"classname" "trigger_once"
"target" "t66"
"spawnflags" "256"
"model" "*48"
}
{
"classname" "item_health"
"origin" "1168 -408 -80"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1168 -104 -16"
}
{
"classname" "item_spikes"
"origin" "928 216 32"
}
{
"classname" "item_rockets"
"origin" "632 -48 32"
}
{
"classname" "item_health"
"origin" "32 392 -64"
}
{
"light" "200"
"origin" "1688 288 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1688 464 148"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1814 622 -64"
"light" "250"
}
{
"classname" "light"
"origin" "1768 344 -72"
"light" "200"
}
{
"classname" "trigger_monsterjump"
"angle" "0"
"model" "*49"
}
{
"targetname" "t100"
"classname" "monster_ogre"
"origin" "1504 272 24"
"angle" "0"
"spawnflags" "256"
}
{
"targetname" "t68"
"target" "t67"
"origin" "1352 576 -120"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t68"
"targetname" "t67"
"classname" "path_corner"
"origin" "1352 416 -120"
"spawnflags" "256"
}
{
"target" "t68"
"angle" "90"
"origin" "1360 480 -104"
"classname" "monster_demon1"
"spawnflags" "257"
}
{
"targetname" "t70"
"target" "t69"
"origin" "1472 496 -120"
"classname" "path_corner"
}
{
"target" "t70"
"targetname" "t69"
"classname" "path_corner"
"origin" "1688 496 -120"
}
{
"target" "t69"
"angle" "270"
"origin" "1648 544 -104"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t71"
"targetname" "t72"
"origin" "1984 688 -24"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t72"
"targetname" "t71"
"classname" "path_corner"
"origin" "1984 448 -24"
"spawnflags" "256"
}
{
"target" "t71"
"angle" "270"
"origin" "1992 536 -8"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"target" "t74"
"targetname" "t73"
"origin" "2120 680 -24"
"classname" "path_corner"
}
{
"targetname" "t74"
"target" "t73"
"classname" "path_corner"
"origin" "2240 680 -24"
}
{
"target" "t74"
"angle" "225"
"origin" "2256 736 -8"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"targetname" "t78"
"angle" "90"
"origin" "2232 1312 -8"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"target" "t76"
"angle" "90"
"origin" "2232 1008 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"targetname" "t76"
"target" "t75"
"origin" "2120 968 -216"
"classname" "path_corner"
}
{
"target" "t76"
"targetname" "t75"
"classname" "path_corner"
"origin" "2336 968 -216"
}
{
"classname" "light"
"origin" "2384 2400 -152"
"light" "200"
}
{
"targetname" "t77"
"wait" "-1"
"sounds" "1"
"speed" "300"
"angle" "-2"
"classname" "func_door"
"model" "*50"
}
{
"targetname" "t77"
"angle" "180"
"origin" "2512 2312 -200"
"classname" "monster_demon1"
"spawnflags" "256"
}
{
"targetname" "t77"
"classname" "monster_demon1"
"origin" "2512 2160 -200"
"angle" "180"
}
{
"classname" "item_health"
"origin" "2504 2200 -224"
}
{
"light" "150"
"origin" "2536 2312 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "2536 2160 -128"
"light" "150"
}
{
"target" "t77"
"classname" "trigger_once"
"model" "*51"
}
{
"spawnflags" "2"
"origin" "2368 2336 -224"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "2504 2240 -224"
"classname" "item_spikes"
}
{
"origin" "2408 2072 -224"
"classname" "item_shells"
}
{
"target" "t78"
"classname" "trigger_once"
"model" "*52"
}
{
"targetname" "t78"
"angle" "90"
"origin" "2240 1272 -200"
"classname" "monster_demon1"
}
{
"light" "150"
"origin" "1120 1384 -40"
"classname" "light"
}
{
"light" "200"
"origin" "1200 1248 -104"
"classname" "light"
}
{
"light" "250"
"origin" "1288 1032 -4"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "1256 1032 -64"
"classname" "light"
}
{
"classname" "light_flame_small_yellow"
"origin" "568 1032 -4"
"light" "250"
}
{
"classname" "light"
"origin" "600 1032 -64"
"light" "150"
}
{
"light" "250"
"origin" "888 1272 -4"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "888 1240 -64"
"classname" "light"
}
{
"light" "200"
"origin" "608 1232 -108"
"classname" "light"
}
{
"target" "t79"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*53"
}
{
"targetname" "t79"
"message" "This door is opened near by..."
"sounds" "3"
"speed" "35"
"angle" "-1"
"wait" "-1"
"classname" "func_door"
"model" "*54"
}
{
"light" "100"
"origin" "580 1208 -148"
"classname" "light"
}
{
"light" "200"
"origin" "1224 736 -8"
"classname" "light"
}
{
"target" "t80"
"classname" "trigger_once"
"model" "*55"
}
{
"targetname" "t80"
"angle" "315"
"origin" "640 1088 128"
"classname" "monster_wizard"
}
{
"targetname" "t80"
"classname" "monster_wizard"
"origin" "616 720 128"
"angle" "0"
}
{
"targetname" "t80"
"angle" "180"
"origin" "1280 680 128"
"classname" "monster_wizard"
"spawnflags" "256"
}
{
"target" "t82"
"origin" "1248 1080 24"
"classname" "monster_wizard"
"spawnflags" "1"
}
{
"targetname" "t82"
"target" "t81"
"origin" "1168 1064 8"
"classname" "path_corner"
}
{
"target" "t82"
"targetname" "t81"
"classname" "path_corner"
"origin" "720 1064 8"
}
{
"targetname" "t80"
"classname" "monster_wizard"
"origin" "584 1112 128"
"angle" "315"
"spawnflags" "256"
}
{
"origin" "1256 944 -184"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1116 584 -256"
"classname" "item_spikes"
}
{
"targetname" "t79"
"angle" "315"
"origin" "1000 1464 -168"
"classname" "monster_ogre"
}
{
"target" "t85"
"targetname" "t86"
"origin" "1456 1824 -192"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t86"
"targetname" "t85"
"classname" "path_corner"
"origin" "1456 1560 -192"
"spawnflags" "256"
}
{
"target" "t85"
"angle" "270"
"origin" "1456 1664 -176"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"targetname" "t91"
"angle" "270"
"origin" "1560 1944 -320"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"targetname" "t91"
"classname" "monster_zombie"
"origin" "1600 1912 -320"
"angle" "270"
}
{
"angle" "225"
"origin" "1960 1984 -320"
"classname" "monster_zombie"
}
{
"targetname" "t91"
"classname" "monster_zombie"
"origin" "1904 1928 -320"
"angle" "225"
}
{
"targetname" "t91"
"angle" "270"
"origin" "1624 1768 -320"
"classname" "monster_zombie"
}
{
"target" "t87"
"classname" "monster_zombie"
"origin" "1696 1912 -320"
"angle" "0"
}
{
"target" "t89"
"angle" "270"
"origin" "1704 1800 -320"
"classname" "monster_zombie"
}
{
"target" "t87"
"targetname" "t88"
"origin" "1648 1912 -336"
"classname" "path_corner"
}
{
"target" "t88"
"targetname" "t87"
"classname" "path_corner"
"origin" "1848 1904 -336"
}
{
"targetname" "t90"
"target" "t89"
"origin" "1648 1824 -336"
"classname" "path_corner"
}
{
"target" "t90"
"targetname" "t89"
"classname" "path_corner"
"origin" "1768 1752 -336"
}
{
"target" "t91"
"classname" "trigger_once"
"model" "*56"
}
{
"spawnflags" "1"
"origin" "1496 1808 -200"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1184 2176 -192"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1184 2128 -192"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "1264 1680 -192"
"classname" "item_health"
}
{
"target" "t92"
"targetname" "t93"
"origin" "2376 2304 -216"
"classname" "path_corner"
}
{
"target" "t93"
"targetname" "t92"
"classname" "path_corner"
"origin" "2376 1984 -216"
}
{
"target" "t95"
"targetname" "t94"
"origin" "2144 1608 -216"
"classname" "path_corner"
}
{
"target" "t94"
"targetname" "t95"
"classname" "path_corner"
"origin" "2376 1608 -216"
}
{
"target" "t92"
"angle" "270"
"origin" "2376 2176 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "135"
"origin" "2416 1760 -200"
"classname" "monster_hell_knight"
"spawnflags" "257"
}
{
"target" "t94"
"angle" "180"
"origin" "2320 1608 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "90"
"origin" "2152 1840 -200"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"target" "t97"
"targetname" "t96"
"origin" "2096 2376 -216"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t96"
"targetname" "t97"
"classname" "path_corner"
"origin" "2232 2208 -216"
"spawnflags" "256"
}
{
"target" "t96"
"angle" "135"
"origin" "2200 2264 -200"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"origin" "2104 1544 -224"
"classname" "item_shells"
}
{
"origin" "2176 1240 -32"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "2256 1240 -32"
}
{
"origin" "1928 584 -32"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "2040 1072 -32"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "2040 1024 -32"
"spawnflags" "1"
}
{
"angle" "225"
"origin" "2352 1160 -200"
"classname" "monster_hell_knight"
"spawnflags" "256"
}
{
"angle" "180"
"origin" "1864 1192 -216"
"classname" "monster_zombie"
}
{
"classname" "monster_zombie"
"origin" "1776 1192 -216"
"angle" "180"
}
{
"target" "t99"
"targetname" "t98"
"origin" "1688 1192 -232"
"classname" "path_corner"
}
{
"target" "t98"
"targetname" "t99"
"classname" "path_corner"
"origin" "1688 1048 -232"
}
{
"target" "t98"
"angle" "90"
"origin" "1688 1112 -216"
"classname" "monster_zombie"
}
{
"origin" "536 416 32"
"classname" "item_shells"
}
{
"target" "t100"
"classname" "trigger_once"
"spawnflags" "256"
"model" "*57"
}
{
"origin" "1784 408 -128"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1784 448 -128"
}
{
"origin" "1736 728 -128"
"classname" "item_rockets"
}
{
"target" "t101"
"sounds" "1"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*58"
}
{
"light" "250"
"origin" "1418 234 52"
"classname" "light_torch_small_walltorch"
}
{
"targetname" "t101"
"classname" "trigger_secret"
"model" "*59"
}
{
"targetname" "t102"
"angle" "180"
"classname" "trigger_monsterjump"
"model" "*60"
}
{
"target" "t102"
"killtarget" "t102"
"classname" "trigger_once"
"model" "*61"
}
{
"origin" "1568 1968 -352"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1608 1968 -352"
}
{
"origin" "2112 1776 -352"
"classname" "item_shells"
"spawnflags" "2048"
}
{
"origin" "1920 2232 -352"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "2008 2232 -352"
}
{
"classname" "item_shells"
"origin" "2176 1440 -224"
}
{
"target" "t66"
"classname" "trigger_once"
"model" "*62"
}
{
"origin" "1744 0 -128"
"classname" "item_spikes"
"spawnflags" "1"
}
{
"target" "t103"
"targetname" "t104"
"origin" "-56 1432 -224"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t104"
"targetname" "t103"
"classname" "path_corner"
"origin" "312 1432 -224"
"spawnflags" "256"
}
{
"target" "t103"
"origin" "40 1440 -208"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"angle" "45"
"origin" "56 1616 -208"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"target" "t105"
"targetname" "t106"
"origin" "520 1816 -232"
"classname" "path_corner"
}
{
"target" "t106"
"targetname" "t105"
"classname" "path_corner"
"origin" "920 1816 -232"
}
{
"target" "t105"
"origin" "624 1800 -216"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "0"
"origin" "480 1824 64"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"targetname" "t107"
"classname" "monster_wizard"
"origin" "656 1816 64"
"angle" "0"
"spawnflags" "1"
}
{
"targetname" "t107"
"angle" "0"
"origin" "840 1816 64"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"target" "t107"
"classname" "trigger_once"
"model" "*63"
}
{
"origin" "1440 2200 -192"
"classname" "item_shells"
}
{
"classname" "item_shells"
"origin" "1440 2160 -192"
}
{
"spawnflags" "1"
"origin" "1184 1976 -192"
"classname" "item_spikes"
}
{
"target" "t109"
"targetname" "t108"
"origin" "1240 2000 -184"
"classname" "path_corner"
}
{
"target" "t108"
"targetname" "t109"
"classname" "path_corner"
"origin" "1240 1760 -184"
}
{
"target" "t108"
"angle" "90"
"origin" "1240 1904 -168"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t110"
"classname" "trigger_once"
"spawnflags" "256"
"model" "*64"
}
{
"targetname" "t110"
"angle" "45"
"origin" "1216 2088 -168"
"classname" "monster_ogre"
"spawnflags" "1281"
}
{
"classname" "item_health"
"origin" "1496 1768 -200"
}
{
"target" "t111"
"classname" "trigger_once"
"model" "*65"
}
{
"targetname" "t111"
"angle" "315"
"origin" "764 -60 -208"
"classname" "monster_zombie"
}
{
"targetname" "t111"
"angle" "45"
"origin" "764 436 -208"
"classname" "monster_zombie"
}
{
"targetname" "t111"
"angle" "225"
"origin" "284 -56 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"targetname" "t119"
"wait" "-1"
"speed" "40"
"angle" "90"
"classname" "func_door"
"model" "*66"
}
{
"origin" "1280 592 -128"
"classname" "item_shells"
}
{
"classname" "item_shells"
"origin" "576 416 32"
}
{
"classname" "item_spikes"
"origin" "904 504 -128"
"spawnflags" "1"
}
{
"origin" "904 464 -128"
"classname" "item_spikes"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1024 912 -152"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "720 848 -184"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "1224 1192 -176"
"targetname" "t112"
"target" "t113"
}
{
"origin" "1216 896 -176"
"classname" "path_corner"
"targetname" "t113"
"target" "t112"
}
{
"classname" "monster_ogre"
"origin" "1224 992 -160"
"angle" "90"
"target" "t112"
}
{
"classname" "item_shells"
"origin" "968 1600 -184"
}
{
"classname" "item_artifact_super_damage"
"origin" "1444 308 -104"
}
{
"classname" "light"
"origin" "992 -128 72"
"light" "100"
}
{
"classname" "item_shells"
"origin" "1672 1008 -240"
}
{
"classname" "item_health"
"origin" "2264 1320 -224"
}
{
"classname" "monster_wizard"
"origin" "2120 1664 -72"
"angle" "315"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "2016 392 -32"
}
{
"classname" "monster_hell_knight"
"origin" "360 1744 -208"
"angle" "90"
"targetname" "t114"
"spawnflags" "257"
}
{
"classname" "trigger_once"
"target" "t114"
"spawnflags" "256"
"model" "*67"
}
{
"classname" "item_health"
"origin" "352 1464 -232"
}
{
"spawnflags" "1"
"origin" "352 1392 -232"
"classname" "item_health"
}
{
"classname" "item_armorInv"
"origin" "744 1424 -448"
}
{
"classname" "item_health"
"origin" "-56 320 -232"
}
{
"origin" "-16 320 -232"
"classname" "item_health"
}
{
"targetname" "t117"
"classname" "trigger_teleport"
"target" "t115"
"spawnflags" "2"
"model" "*68"
}
{
"delay" ".5"
"targetname" "t117"
"classname" "trigger_teleport"
"target" "t116"
"spawnflags" "2"
"model" "*69"
}
{
"classname" "monster_wizard"
"origin" "2928 1816 -152"
"angle" "180"
"targetname" "t117"
}
{
"angle" "180"
"origin" "2928 1768 -152"
"classname" "monster_wizard"
"targetname" "t117"
}
{
"classname" "info_teleport_destination"
"origin" "1824 1920 -184"
"angle" "225"
"targetname" "t115"
}
{
"classname" "info_teleport_destination"
"origin" "1880 1544 -184"
"angle" "180"
"targetname" "t116"
}
{
"classname" "trigger_once"
"target" "t117"
"model" "*70"
}
{
"classname" "monster_zombie"
"origin" "764 388 -208"
"angle" "0"
"targetname" "t111"
}
{
"angle" "0"
"origin" "764 -12 -208"
"classname" "monster_zombie"
"targetname" "t111"
}
{
"classname" "monster_zombie"
"origin" "408 -56 -208"
"angle" "270"
"targetname" "t111"
}
{
"classname" "light"
"origin" "1200 672 -240"
"light" "125"
}
{
"classname" "item_spikes"
"origin" "72 392 -64"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "2368 920 -224"
}
{
"origin" "2032 976 -224"
"classname" "item_spikes"
}
{
"classname" "light"
"origin" "1416 2096 -112"
"light" "150"
}
{
"light" "150"
"origin" "1240 2096 -112"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "464 1824 -240"
}
{
"origin" "504 1824 -240"
"classname" "item_spikes"
}
{
"classname" "item_shells"
"origin" "-96 1472 -232"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "528 -172 -232"
}
{
"classname" "item_health"
"origin" "40 -64 -64"
}
{
"light" "225"
"classname" "light_torch_small_walltorch"
"origin" "122 -86 -8"
}
{
"origin" "134 462 -8"
"classname" "light_torch_small_walltorch"
"light" "225"
}
{
"light" "250"
"origin" "678 446 92"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "678 -70 92"
"light" "250"
}
{
"light" "150"
"origin" "120 -56 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "136 424 -16"
"light" "150"
}
{
"light" "150"
"origin" "600 184 296"
"classname" "light"
}
{
"classname" "light"
"origin" "152 184 296"
"light" "150"
}
{
"light" "150"
"origin" "368 376 296"
"classname" "light"
}
{
"classname" "light"
"origin" "368 0 296"
"light" "150"
}
{
"light" "150"
"origin" "352 192 232"
"classname" "light"
}
{
"light" "200"
"origin" "64 408 168"
"classname" "light"
}
{
"classname" "light"
"origin" "56 -48 168"
"light" "200"
}
{
"light" "125"
"origin" "1520 1880 24"
"classname" "light"
}
{
"origin" "272 272 -232"
"classname" "item_rockets"
}
{
"targetname" "t45"
"classname" "func_door"
"angle" "-2"
"sounds" "1"
"wait" "-1"
"model" "*71"
}
{
"classname" "light"
"origin" "416 -152 -152"
"light" "125"
}
{
"targetname" "t45"
"angle" "90"
"origin" "416 -120 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"origin" "400 524 -232"
"classname" "item_health"
}
{
"light" "125"
"origin" "416 536 -152"
"classname" "light"
}
{
"targetname" "t45"
"wait" "-1"
"sounds" "1"
"angle" "-2"
"classname" "func_door"
"model" "*72"
}
{
"targetname" "t45"
"angle" "270"
"origin" "416 496 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"target" "t120"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*73"
}
{
"target" "t120"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*74"
}
{
"targetname" "t120"
"target" "t119"
"classname" "trigger_counter"
"model" "*75"
}
{
"light" "125"
"origin" "1792 840 -112"
"classname" "light"
}
{
"classname" "light"
"origin" "1584 840 -112"
"light" "125"
}
{
"light" "125"
"origin" "1792 2280 -480"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 2144 -480"
"light" "125"
}
{
"origin" "1776 2232 -508"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1776 2192 -508"
}
{
"light" "150"
"origin" "1016 1696 -336"
"classname" "light"
}
{
"light" "125"
"origin" "1080 1696 -280"
"classname" "light"
}
{
"light" "125"
"origin" "1152 1696 -200"
"classname" "light"
}
{
"light" "150"
"origin" "1096 1696 -352"
"classname" "light"
}
{
"classname" "trigger_secret"
"model" "*76"
}
{
"target" "t116"
"classname" "trigger_teleport"
"model" "*77"
}
{
"spawnflags" "768"
"angle" "315"
"origin" "1400 1856 -176"
"classname" "monster_ogre"
}
{
"target" "t121"
"targetname" "t122"
"spawnflags" "768"
"origin" "1824 2280 -344"
"classname" "path_corner"
}
{
"target" "t122"
"targetname" "t121"
"spawnflags" "768"
"classname" "path_corner"
"origin" "2080 2280 -344"
}
{
"target" "t121"
"spawnflags" "769"
"angle" "180"
"origin" "2128 2272 -328"
"classname" "monster_demon1"
}
{
"spawnflags" "2816"
"origin" "1824 2072 -352"
"classname" "item_shells"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "1792 2176 -144"
"classname" "monster_wizard"
}
{
"spawnflags" "769"
"angle" "180"
"origin" "2600 1640 -200"
"classname" "monster_hell_knight"
}
{
"spawnflags" "2816"
"origin" "2096 1136 -32"
"classname" "item_shells"
}
{
"classname" "monster_wizard"
"origin" "1872 1432 -72"
"angle" "90"
"spawnflags" "769"
}
{
"classname" "monster_hell_knight"
"origin" "2400 1032 -8"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "monster_demon1"
"origin" "1000 496 -104"
"angle" "0"
"spawnflags" "768"
}
{
"classname" "monster_demon1"
"origin" "1240 2088 -168"
"angle" "45"
"spawnflags" "769"
"targetname" "t110"
}
{
"classname" "monster_hell_knight"
"origin" "360 1936 -208"
"angle" "270"
"spawnflags" "769"
"targetname" "t114"
}
{
"classname" "item_shells"
"origin" "16 1768 -232"
"spawnflags" "2560"
}
{
"spawnflags" "2560"
"origin" "344 1576 -232"
"classname" "item_shells"
}
{
"classname" "trigger_changelevel"
"map" "e2m4"
"model" "*78"
}
{
"classname" "light"
"origin" "1136 -1144 264"
"light" "250"
}
{
"light" "250"
"origin" "1264 -552 44"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "1008 -552 44"
"light" "250"
}
{
"classname" "monster_demon1"
"origin" "888 -120 56"
"angle" "0"
"spawnflags" "769"
"targetname" "t66"
}
{
"classname" "monster_hell_knight"
"origin" "616 184 56"
"angle" "0"
"spawnflags" "768"
}
{
"classname" "item_spikes"
"origin" "880 216 32"
"spawnflags" "2816"
}
{
"classname" "monster_hell_knight"
"origin" "1944 728 -8"
"angle" "0"
"spawnflags" "769"
}
{
"classname" "light"
"origin" "-48 1184 -156"
"light" "200"
"style" "10"
}
{
"style" "10"
"light" "200"
"origin" "0 1024 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "48 800 -120"
"light" "200"
"style" "10"
}
{
"style" "10"
"light" "200"
"origin" "0 600 -120"
"classname" "light"
}
{
"classname" "monster_hell_knight"
"origin" "128 1088 -208"
"angle" "225"
"spawnflags" "1"
}
{
"angle" "315"
"origin" "-104 760 -208"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "-56 592 -232"
}
{
"classname" "item_health"
"origin" "-56 920 -232"
}
{
"classname" "monster_demon1"
"origin" "0 544 -208"
"angle" "90"
"target" "t123"
"spawnflags" "769"
}
{
"mangle" "20 315 0"
"origin" "1568 2040 -88"
"classname" "info_intermission"
}
{
"classname" "item_shells"
"origin" "1528 1968 -352"
"spawnflags" "3584"
}
{
"origin" "-88 1376 -232"
"classname" "item_health"
"spawnflags" "3585"
}
{
"classname" "item_artifact_envirosuit"
"origin" "1216 1696 -168"
"spawnflags" "3584"
}
{
"classname" "monster_demon1"
"origin" "144 372 -208"
"angle" "180"
"spawnflags" "768"
"targetname" "t123"
}
{
"classname" "monster_demon1"
"origin" "0 528 -208"
"angle" "90"
"spawnflags" "1025"
}
{
"classname" "info_player_deathmatch"
"origin" "1128 -840 -80"
"angle" "90"
}
{
"classname" "info_player_deathmatch"
"origin" "656 184 -208"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "-24 1440 -208"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "1240 1816 -168"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "1032 1568 -168"
"angle" "0"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*79"
}
{
"classname" "weapon_rocketlauncher"
"origin" "184 1440 -232"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "1424 608 -104"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "2272 680 -8"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "2240 1472 -200"
"angle" "270"
}
{
"classname" "weapon_supernailgun"
"origin" "2236 1184 -32"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "2424 1824 -200"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "1792 2072 -328"
"angle" "270"
}
{
"classname" "weapon_supershotgun"
"origin" "1488 1584 -200"
"spawnflags" "1792"
}
{
"classname" "weapon_grenadelauncher"
"origin" "88 184 -64"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "1224 840 -168"
"angle" "90"
}
{
"classname" "weapon_nailgun"
"origin" "1024 872 -152"
"spawnflags" "1792"
}
{
"classname" "weapon_supershotgun"
"origin" "136 1760 -232"
"spawnflags" "1792"
}
{
"classname" "weapon_nailgun"
"origin" "1976 2288 -352"
"spawnflags" "1792"
}
{
"classname" "weapon_lightning"
"origin" "2128 1792 -352"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "1608 728 -128"
"spawnflags" "1792"
}
{
"spawnflags" "1792"
"classname" "item_cells"
"origin" "72 1032 -232"
}
{
"classname" "item_cells"
"origin" "1008 1328 -192"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "1304 -1160 -96"
"spawnflags" "1792"
}
{
"origin" "2272 1440 -224"
"classname" "item_shells"
"spawnflags" "2816"
}
{
"origin" "224 1736 -232"
"classname" "item_health"
}
{
"classname" "info_intermission"
"origin" "1328 -1168 192"
"mangle" "20 120 0"
}
{
"classname" "info_intermission"
"origin" "1248 680 8"
"mangle" "20 130 0"
}
{
"classname" "info_intermission"
"origin" "1280 1824 -104"
"mangle" "10 180 0"
}
{
"classname" "light"
"origin" "-304 888 -80"
"light" "150"
}
{
"light" "150"
"origin" "-304 712 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-224 872 -8"
"light" "125"
}
{
"classname" "light"
"origin" "-224 728 -8"
"light" "125"
}
{
"light" "150"
"origin" "-178 706 -156"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light"
"origin" "-320 838 -138"
"light" "100"
}
{
"light" "100"
"origin" "-320 774 -138"
"classname" "light"
}
{
"classname" "info_player_coop"
"origin" "1192 -1088 -72"
"angle" "90"
}
{
"angle" "90"
"origin" "1080 -1088 -72"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "1008 -1112 -72"
"angle" "90"
}
{
"angle" "90"
"origin" "1264 -1112 -72"
"classname" "info_player_coop"
}
{
"classname" "item_armor1"
"origin" "784 1816 -232"
}
{
"classname" "item_spikes"
"origin" "-56 1472 -232"
"spawnflags" "1"
}
{
"classname" "item_rockets"
"origin" "400 -172 -232"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*80"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*81"
}
{
"classname" "path_corner"
"origin" "1954 1770 -96"
"targetname" "t124"
"target" "t125"
}
{
"classname" "path_corner"
"origin" "1954 1770 -320"
"targetname" "t125"
"target" "t124"
}
{
"classname" "weapon_grenadelauncher"
"origin" "1688 720 -128"
"spawnflags" "2048"
}
{
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"targetname" "t126"
"lip" "-8"
"model" "*82"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"model" "*83"
}
{
"classname" "light"
"origin" "-224 832 -152"
"light" "125"
}
{
"classname" "trigger_counter"
"target" "t126"
"targetname" "t127"
"spawnflags" "1"
"count" "7"
"model" "*84"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*85"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*86"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*87"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*88"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*89"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*90"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*91"
}
{
"classname" "ambient_swamp1"
"origin" "1338 -854 -104"
}
{
"classname" "ambient_swamp2"
"origin" "938 -854 -104"
}
{
"classname" "ambient_drip"
"origin" "1138 -854 -176"
}
{
"classname" "ambient_drip"
"origin" "1650 -862 -192"
}
{
"classname" "ambient_drip"
"origin" "1674 -438 -192"
}
{
"classname" "ambient_drip"
"origin" "1682 2 -48"
}
{
"classname" "ambient_swamp1"
"origin" "1674 1986 -280"
}
{
"classname" "ambient_swamp2"
"origin" "1826 2378 -280"
}
{
"classname" "ambient_swamp1"
"origin" "2258 2058 -280"
}
{
"classname" "ambient_drip"
"origin" "746 1370 -376"
}
{
"classname" "ambient_drip"
"origin" "762 906 -240"
}
{
"origin" "1034 722 -240"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "554 1818 -352"
}
{
"origin" "1002 1810 -352"
"classname" "ambient_drip"
}
{
"speed" "35"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"sounds" "1"
"targetname" "t101"
"model" "*92"
}
{
"classname" "light"
"origin" "1440 296 -80"
"light" "125"
}
{
"origin" "1792 792 -240"
"classname" "item_spikes"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m2.ent.orig 0000644 0000000 0000000 00000120332 12403131422 017770 0 ustar root root {
"message" "Castle of the Damned"
"wad" "gfx/wizard.wad"
"classname" "worldspawn"
"worldtype" "0"
"sounds" "8"
}
{
"angle" "270"
"origin" "1496 1664 296"
"classname" "info_player_start"
}
{
"origin" "1432 672 336"
"classname" "light"
"light" "250"
}
{
"light" "200"
"origin" "1496 888 272"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "932 640 340"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1104 812 340"
}
{
"classname" "light"
"origin" "1104 640 544"
"light" "300"
}
{
"light" "175"
"origin" "1216 536 353"
"classname" "light"
}
{
"light" "250"
"origin" "1816 328 448"
"classname" "light"
}
{
"light" "200"
"origin" "1632 472 208"
"classname" "light"
}
{
"light" "200"
"origin" "1792 -392 240"
"classname" "light"
}
{
"light" "200"
"origin" "1452 -124 508"
"classname" "light"
}
{
"light" "150"
"origin" "1196 -124 508"
"classname" "light"
}
{
"light" "150"
"origin" "1044 -124 508"
"classname" "light"
}
{
"light" "200"
"origin" "756 -124 508"
"classname" "light"
}
{
"light" "250"
"origin" "744 336 145"
"classname" "light"
}
{
"light" "200"
"origin" "1176 -912 672"
"classname" "light"
}
{
"origin" "1328 -544 552"
"classname" "light"
}
{
"classname" "light"
"origin" "1528 -912 640"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "880 -648 672"
}
{
"origin" "240 -264 392"
"classname" "light"
"light" "250"
}
{
"classname" "light"
"origin" "-352 -504 464"
"light" "200"
}
{
"origin" "-448 -608 804"
"classname" "light"
"light" "450"
}
{
"light" "250"
"origin" "776 -912 472"
"classname" "light"
}
{
"light" "300"
"origin" "1630 -806 428"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "1528 -912 464"
"classname" "light"
}
{
"classname" "light"
"origin" "1180 -484 560"
}
{
"classname" "light"
"origin" "1184 -612 560"
}
{
"classname" "light"
"origin" "1016 -368 472"
"light" "100"
}
{
"classname" "light"
"origin" "1016 -464 472"
"light" "100"
}
{
"classname" "light"
"origin" "1020 -560 472"
"light" "100"
}
{
"classname" "light"
"origin" "1208 -776 472"
"light" "100"
}
{
"classname" "light"
"origin" "1288 -776 472"
"light" "100"
}
{
"classname" "light"
"origin" "1360 -776 472"
"light" "100"
}
{
"light" "200"
"origin" "1792 120 376"
"classname" "light"
}
{
"origin" "1538 182 356"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"origin" "1640 80 360"
"classname" "light"
}
{
"light" "200"
"origin" "1928 80 360"
"classname" "light"
}
{
"light" "250"
"origin" "1792 296 208"
"classname" "light"
}
{
"light" "150"
"origin" "1800 40 160"
"classname" "light"
}
{
"light" "200"
"origin" "1776 -392 160"
"classname" "light"
}
{
"light" "200"
"origin" "1304 -392 152"
"classname" "light"
}
{
"light" "250"
"origin" "1632 112 136"
"classname" "light"
}
{
"light" "250"
"origin" "1432 312 136"
"classname" "light"
}
{
"light" "200"
"origin" "1136 -656 160"
"classname" "light"
}
{
"light" "200"
"origin" "1136 -416 160"
"classname" "light"
}
{
"light" "250"
"origin" "1448 -552 160"
"classname" "light"
}
{
"light" "200"
"origin" "1920 440 136"
"classname" "light"
}
{
"light" "200"
"origin" "968 88 177"
"classname" "light"
}
{
"light" "300"
"origin" "1088 312 129"
"classname" "light"
}
{
"light" "150"
"origin" "1376 168 129"
"classname" "light"
}
{
"light" "250"
"origin" "112 -384 392"
"classname" "light"
}
{
"origin" "300 -1004 508"
"classname" "light"
}
{
"origin" "296 -812 505"
"classname" "light"
}
{
"origin" "300 -1204 505"
"classname" "light"
}
{
"light" "150"
"origin" "470 -1006 468"
"classname" "light_torch_small_walltorch"
}
{
"light" "250"
"origin" "984 -1216 496"
"classname" "light"
}
{
"light" "250"
"origin" "888 -1128 552"
"classname" "light"
}
{
"light" "200"
"origin" "800 -1216 592"
"classname" "light"
}
{
"light" "200"
"origin" "664 -1216 592"
"classname" "light"
}
{
"light" "200"
"origin" "584 -1136 592"
"classname" "light"
}
{
"light" "200"
"origin" "584 -968 592"
"classname" "light"
}
{
"light" "250"
"origin" "584 -744 592"
"classname" "light"
}
{
"light" "200"
"origin" "528 -1144 464"
"classname" "light"
}
{
"light" "200"
"origin" "528 -856 464"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "1496 1544 440"
}
{
"origin" "1384 1392 440"
"classname" "light"
"light" "250"
}
{
"origin" "1496 1104 520"
"classname" "light"
}
{
"origin" "1608 1400 440"
"classname" "light"
"light" "250"
}
{
"light" "250"
"origin" "1240 1712 360"
"classname" "light"
}
{
"light" "250"
"origin" "1744 1696 360"
"classname" "light"
}
{
"classname" "light"
"origin" "1384 1136 440"
"light" "250"
}
{
"classname" "light"
"origin" "1608 1144 440"
"light" "250"
}
{
"classname" "path_corner"
"origin" "1168 736 296"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "992 744 296"
"targetname" "t6"
"target" "t7"
}
{
"classname" "path_corner"
"origin" "1000 544 296"
"targetname" "t7"
"target" "t34"
}
{
"classname" "item_health"
"origin" "960 704 288"
}
{
"classname" "item_shells"
"origin" "952 512 288"
}
{
"classname" "path_corner"
"origin" "1344 -128 304"
"targetname" "t9"
"target" "t8"
}
{
"classname" "path_corner"
"origin" "898 -128 304"
"targetname" "t8"
"target" "t9"
}
{
"spawnflags" "1"
"classname" "monster_ogre"
"origin" "1018 -126 320"
"angle" "0"
"target" "t8"
}
{
"classname" "item_health"
"origin" "1344 -224 296"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1400 -224 296"
"spawnflags" "1"
}
{
"origin" "1528 192 296"
"classname" "item_shells"
}
{
"classname" "path_corner"
"origin" "1496 1040 184"
"targetname" "t22"
"target" "t23"
}
{
"classname" "path_corner"
"origin" "1496 840 248"
"targetname" "t23"
"target" "t33"
}
{
"spawnflags" "1"
"classname" "item_shells"
"origin" "1056 -648 288"
}
{
"classname" "item_health"
"origin" "1184 -736 288"
}
{
"spawnflags" "257"
"classname" "monster_army"
"origin" "1646 -698 360"
"angle" "180"
"targetname" "t89"
}
{
"classname" "path_corner"
"origin" "1400 640 272"
"targetname" "t30"
"target" "t79"
}
{
"classname" "path_corner"
"origin" "1496 752 232"
"targetname" "t33"
"target" "t77"
}
{
"classname" "path_corner"
"origin" "1192 560 296"
"targetname" "t34"
"target" "t80"
}
{
"classname" "item_shells"
"origin" "1616 1280 176"
}
{
"classname" "item_health"
"origin" "1056 -840 416"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1104 -840 416"
"spawnflags" "1"
}
{
"spawnflags" "1"
"classname" "monster_army"
"origin" "262 -458 320"
"angle" "0"
"target" "t96"
}
{
"spawnflags" "1024"
"classname" "item_health"
"origin" "136 -296 296"
}
{
"classname" "path_corner"
"origin" "-536 -704 472"
"targetname" "t42"
"target" "t41"
}
{
"classname" "path_corner"
"origin" "-576 -416 472"
"targetname" "t41"
"target" "t42"
}
{
"classname" "monster_knight"
"origin" "-578 -654 480"
"target" "t41"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-368 -752 456"
}
{
"classname" "item_health"
"origin" "-16 -520 360"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "-16 -576 360"
"spawnflags" "1"
}
{
"classname" "light"
"origin" "1848 -568 320"
"light" "200"
}
{
"classname" "light"
"origin" "1760 -560 408"
"light" "200"
}
{
"classname" "light"
"origin" "1624 -560 352"
"light" "150"
}
{
"targetname" "t43"
"angle" "270"
"origin" "800 368 312"
"classname" "info_teleport_destination"
}
{
"origin" "752 168 296"
"classname" "item_health"
}
{
"target" "t43"
"classname" "trigger_teleport"
"model" "*1"
}
{
"origin" "1712 -568 256"
"classname" "item_health"
}
{
"classname" "monster_ogre"
"origin" "1494 1134 208"
"angle" "270"
"target" "t22"
}
{
"light" "300"
"origin" "1856 1288 384"
"classname" "light"
}
{
"classname" "light"
"origin" "1136 1288 384"
}
{
"light" "200"
"origin" "1920 328 380"
"classname" "light"
}
{
"target" "t122"
"spawnflags" "2048"
"sounds" "1"
"classname" "item_key1"
"origin" "880 -300 464"
}
{
"light" "300"
"origin" "648 -384 430"
"classname" "light_flame_small_yellow"
}
{
"light" "250"
"classname" "light_flame_small_yellow"
"origin" "1104 -224 406"
}
{
"light" "250"
"origin" "1456 -128 406"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "988 532 353"
"light" "175"
}
{
"light" "125"
"origin" "1100 648 328"
"classname" "light"
}
{
"origin" "1616 936 310"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "1360 936 310"
}
{
"origin" "1792 504 390"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"origin" "1972 -252 332"
"classname" "info_null"
"targetname" "t47"
}
{
"light" "800"
"origin" "1992 -252 336"
"classname" "light"
"target" "t47"
}
{
"classname" "info_null"
"origin" "1948 -292 332"
"targetname" "t48"
}
{
"light" "800"
"classname" "light"
"origin" "1948 -312 336"
"target" "t48"
}
{
"origin" "880 -328 562"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"classname" "light"
"origin" "1056 -1288 504"
}
{
"origin" "1184 -1288 504"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 -1288 504"
}
{
"origin" "1440 -1288 504"
"classname" "light"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t50"
"model" "*2"
}
{
"sounds" "1"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"targetname" "t50"
"model" "*3"
}
{
"classname" "trigger_once"
"target" "t50"
"model" "*4"
}
{
"classname" "light"
"origin" "1368 -1016 504"
"light" "200"
}
{
"light" "200"
"origin" "1120 -1024 504"
"classname" "light"
}
{
"classname" "light"
"origin" "1248 -1184 464"
"light" "175"
}
{
"classname" "light"
"origin" "776 -480 480"
"light" "225"
}
{
"classname" "light"
"origin" "1904 -144 168"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1706 -206 316"
"light" "300"
}
{
"light" "300"
"origin" "2134 -34 316"
"classname" "light_torch_small_walltorch"
}
{
"origin" "1152 -296 422"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"light" "250"
"classname" "light_flame_small_yellow"
"origin" "1152 -760 422"
}
{
"origin" "1528 -556 478"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"targetname" "t52"
"origin" "1532 -552 328"
"classname" "info_null"
}
{
"origin" "1340 -544 384"
"classname" "item_armor2"
}
{
"sounds" "1"
"targetname" "t53"
"lip" "64"
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"model" "*5"
}
{
"sounds" "1"
"targetname" "t53"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"lip" "64"
"model" "*6"
}
{
"targetname" "t53"
"target" "t54"
"classname" "trigger_teleport"
"spawnflags" "2"
"model" "*7"
}
{
"targetname" "t54"
"angle" "180"
"origin" "1408 -688 449"
"classname" "info_teleport_destination"
}
{
"targetname" "t53"
"target" "t57"
"classname" "trigger_teleport"
"spawnflags" "2"
"model" "*8"
}
{
"targetname" "t57"
"angle" "180"
"origin" "1408 -400 361"
"classname" "info_teleport_destination"
}
{
"spawnflags" "768"
"targetname" "t53"
"angle" "180"
"origin" "1912 -856 217"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"targetname" "t53"
"classname" "monster_wizard"
"origin" "1912 -936 217"
"angle" "180"
}
{
"targetname" "t50"
"angle" "90"
"origin" "1320 -1112 441"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"targetname" "t50"
"angle" "0"
"origin" "1056 -1144 441"
"classname" "monster_knight"
}
{
"sounds" "1"
"targetname" "t61"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*9"
}
{
"sounds" "3"
"lip" "64"
"spawnflags" "1"
"targetname" "t58"
"angle" "270"
"wait" "-1"
"classname" "func_door"
"model" "*10"
}
{
"sounds" "1"
"wait" "-1"
"angle" "270"
"target" "t58"
"classname" "func_button"
"model" "*11"
}
{
"target" "t61"
"classname" "trigger_once"
"model" "*12"
}
{
"light" "225"
"origin" "984 -480 480"
"classname" "light"
}
{
"light" "175"
"origin" "880 -368 176"
"classname" "light"
}
{
"classname" "light"
"origin" "880 -592 240"
"light" "175"
}
{
"light" "200"
"origin" "880 -488 184"
"classname" "light"
}
{
"light" "150"
"origin" "880 -304 472"
"classname" "light"
}
{
"classname" "light"
"origin" "-96 308 864"
"light" "850"
}
{
"origin" "-32 -440 624"
"classname" "light"
}
{
"sounds" "1"
"targetname" "t73"
"wait" "-1"
"lip" "196"
"angle" "-1"
"classname" "func_door"
"model" "*13"
}
{
"light" "300"
"origin" "104 144 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 144 688"
"light" "300"
}
{
"sounds" "1"
"targetname" "t73"
"wait" "-1"
"classname" "func_door"
"angle" "-1"
"lip" "196"
"model" "*14"
}
{
"classname" "light_flame_small_yellow"
"origin" "-24 -232 414"
"light" "250"
}
{
"lip" "-2"
"sounds" "3"
"speed" "350"
"targetname" "t73"
"angle" "180"
"wait" "-1"
"classname" "func_door"
"model" "*15"
}
{
"target" "t63"
"targetname" "t62"
"origin" "-12 312 264"
"classname" "path_corner"
}
{
"target" "t64"
"targetname" "t63"
"origin" "-12 312 356"
"classname" "path_corner"
}
{
"wait" "-1"
"target" "t66"
"targetname" "t64"
"classname" "path_corner"
"origin" "-13 440 355"
}
{
"sounds" "1"
"targetname" "t71"
"wait" "-1"
"target" "t65"
"angle" "-2"
"classname" "func_button"
"model" "*16"
}
{
"target" "t64"
"targetname" "t66"
"origin" "-13 440 355"
"classname" "path_corner"
}
{
"light" "200"
"origin" "-96 440 376"
"classname" "light"
}
{
"light" "150"
"origin" "8 456 376"
"classname" "light"
}
{
"targetname" "t70"
"target" "t67"
"classname" "path_corner"
"origin" "-220 312 264"
}
{
"target" "t68"
"targetname" "t67"
"classname" "path_corner"
"origin" "-220 312 356"
}
{
"wait" "-1"
"target" "t69"
"targetname" "t68"
"origin" "-221 440 355"
"classname" "path_corner"
}
{
"target" "t68"
"targetname" "t69"
"classname" "path_corner"
"origin" "-221 440 355"
}
{
"classname" "light"
"origin" "-200 456 376"
"light" "150"
}
{
"targetname" "t65"
"target" "t62"
"classname" "func_train"
"speed" "50"
"sounds" "1"
"model" "*17"
}
{
"light" "250"
"origin" "-96 632 406"
"classname" "light_flame_small_yellow"
}
{
"targetname" "t72"
"origin" "-96 288 304"
"classname" "info_null"
}
{
"light" "450"
"target" "t72"
"origin" "-96 288 368"
"classname" "light"
}
{
"target" "t70"
"targetname" "t65"
"speed" "50"
"classname" "func_train"
"sounds" "1"
"model" "*18"
}
{
"lip" "-2"
"sounds" "0"
"speed" "350"
"classname" "func_door"
"wait" "-1"
"angle" "0"
"model" "*19"
}
{
"targetname" "t65"
"delay" "4.7"
"target" "t73"
"classname" "trigger_once"
"model" "*20"
}
{
"targetname" "t73"
"angle" "270"
"origin" "-96 552 320"
"classname" "monster_demon1"
"spawnflags" "1024"
}
{
"targetname" "t74"
"angle" "90"
"origin" "132 -192 476"
"classname" "info_teleport_destination"
}
{
"targetname" "t75"
"classname" "info_teleport_destination"
"origin" "-328 -196 476"
"angle" "90"
}
{
"target" "t75"
"classname" "trigger_teleport"
"spawnflags" "1"
"model" "*21"
}
{
"target" "t74"
"classname" "trigger_teleport"
"spawnflags" "1"
"model" "*22"
}
{
"light" "200"
"origin" "-418 306 356"
"classname" "light"
}
{
"classname" "light"
"origin" "260 308 356"
"light" "200"
}
{
"sounds" "0"
"targetname" "t73"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*23"
}
{
"sounds" "0"
"targetname" "t73"
"wait" "-1"
"angle" "0"
"classname" "func_door"
"model" "*24"
}
{
"sounds" "0"
"wait" "-1"
"angle" "0"
"targetname" "t73"
"classname" "func_door"
"model" "*25"
}
{
"sounds" "0"
"targetname" "t73"
"angle" "180"
"wait" "-1"
"classname" "func_door"
"model" "*26"
}
{
"sounds" "3"
"wait" "-1"
"angle" "-2"
"targetname" "t73"
"classname" "func_door"
"model" "*27"
}
{
"classname" "light"
"origin" "-96 24 360"
"light" "100"
}
{
"light" "100"
"origin" "-96 -40 360"
"classname" "light"
}
{
"classname" "light"
"origin" "-160 -568 624"
}
{
"origin" "-160 -440 624"
"classname" "light"
}
{
"classname" "light"
"origin" "-32 -568 624"
}
{
"classname" "light"
"origin" "-96 -88 484"
"light" "150"
}
{
"classname" "light"
"origin" "-440 -408 804"
"light" "450"
}
{
"classname" "light"
"origin" "600 -128 352"
"light" "200"
}
{
"classname" "light"
"origin" "576 -608 504"
"light" "250"
}
{
"classname" "light"
"origin" "384 -504 392"
"light" "250"
}
{
"classname" "light"
"origin" "1264 240 295"
"light" "250"
}
{
"light" "250"
"origin" "944 240 295"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "1480 704 264"
"targetname" "t77"
"target" "t78"
}
{
"classname" "path_corner"
"origin" "1448 656 264"
"targetname" "t78"
"target" "t30"
}
{
"classname" "path_corner"
"origin" "1264 640 304"
"targetname" "t80"
"target" "t5"
}
{
"classname" "path_corner"
"origin" "1328 640 304"
"targetname" "t79"
"target" "t80"
}
{
"light" "200"
"origin" "1488 -392 216"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "816 80 304"
"targetname" "t83"
"target" "t82"
"spawnflags" "256"
}
{
"origin" "816 312 304"
"classname" "path_corner"
"targetname" "t82"
"target" "t83"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "806 206 320"
"angle" "90"
"target" "t82"
"spawnflags" "256"
}
{
"classname" "trigger_once"
"target" "t84"
"model" "*28"
}
{
"classname" "monster_ogre"
"origin" "1790 -146 312"
"angle" "90"
"targetname" "t84"
}
{
"classname" "path_corner"
"origin" "1088 -672 296"
"target" "t85"
"targetname" "t88"
}
{
"origin" "1088 -376 296"
"classname" "path_corner"
"targetname" "t85"
"target" "t86"
}
{
"classname" "path_corner"
"origin" "1088 -376 296"
"targetname" "t87"
"target" "t88"
}
{
"origin" "1448 -376 296"
"classname" "path_corner"
"targetname" "t86"
"target" "t87"
}
{
"spawnflags" "1"
"classname" "monster_ogre"
"origin" "1086 -498 312"
"angle" "270"
"target" "t88"
}
{
"spawnflags" "256"
"classname" "trigger_once"
"target" "t89"
"model" "*29"
}
{
"classname" "item_health"
"origin" "352 -752 408"
"spawnflags" "1025"
}
{
"spawnflags" "1025"
"origin" "352 -792 408"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "352 -832 408"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "408 -776 416"
"targetname" "t94"
"target" "t95"
}
{
"origin" "400 -1088 416"
"classname" "path_corner"
"targetname" "t95"
"target" "t94"
}
{
"classname" "path_corner"
"origin" "584 -1096 416"
"targetname" "t92"
"target" "t93"
}
{
"origin" "584 -792 416"
"classname" "path_corner"
"targetname" "t93"
"target" "t92"
}
{
"classname" "monster_army"
"origin" "390 -970 432"
"angle" "0"
"target" "t94"
}
{
"classname" "monster_army"
"origin" "566 -970 432"
"angle" "270"
"target" "t92"
}
{
"classname" "path_corner"
"origin" "208 -304 304"
"targetname" "t97"
"target" "t96"
}
{
"classname" "path_corner"
"origin" "208 -464 304"
"targetname" "t96"
"target" "t97"
}
{
"spawnflags" "1280"
"classname" "path_corner"
"origin" "-344 160 304"
"targetname" "t100"
"target" "t99"
}
{
"spawnflags" "1280"
"origin" "168 152 304"
"classname" "path_corner"
"targetname" "t99"
"target" "t100"
}
{
"spawnflags" "1280"
"classname" "monster_ogre"
"origin" "240 152 320"
"angle" "180"
"target" "t99"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "-392 80 320"
"angle" "0"
"targetname" "t101"
}
{
"spawnflags" "768"
"classname" "trigger_once"
"target" "t101"
"model" "*30"
}
{
"classname" "item_health"
"origin" "40 -16 464"
}
{
"origin" "80 -48 464"
"classname" "item_health"
}
{
"origin" "520 -72 296"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "-424 -216 296"
"classname" "item_shells"
}
{
"spawnflags" "769"
"angle" "270"
"origin" "880 -400 568"
"classname" "monster_wizard"
}
{
"light" "200"
"origin" "432 176 152"
"classname" "light"
}
{
"light" "150"
"origin" "432 -56 256"
"classname" "light"
}
{
"origin" "264 -96 300"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "264 -140 300"
}
{
"spawnflags" "1"
"origin" "1184 1568 240"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1184 1616 240"
"spawnflags" "1"
}
{
"light" "150"
"origin" "1496 1112 108"
"classname" "light"
}
{
"light" "200"
"origin" "1120 1152 96"
"classname" "light"
}
{
"light" "200"
"origin" "1080 692 184"
"classname" "light"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "832 1184 294"
}
{
"origin" "464 536 358"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "600 704 334"
}
{
"light" "150"
"origin" "1736 1096 110"
"classname" "light"
}
{
"light" "100"
"origin" "832 1056 134"
"classname" "light"
}
{
"light" "150"
"origin" "784 704 294"
"classname" "light"
}
{
"origin" "856 592 182"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "824 552 182"
}
{
"classname" "info_player_deathmatch"
"origin" "-416 -144 320"
"angle" "90"
}
{
"classname" "info_player_deathmatch"
"origin" "168 -480 320"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "1496 1328 200"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "1936 -136 312"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "936 -1216 432"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "792 -992 440"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "1080 -720 312"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "408 -752 432"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "792 -208 320"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "784 808 206"
"angle" "225"
}
{
"sounds" "3"
"wait" "3"
"angle" "90"
"classname" "func_door"
"model" "*31"
}
{
"sounds" "0"
"wait" "3"
"angle" "270"
"classname" "func_door"
"model" "*32"
}
{
"spawnflags" "1"
"origin" "680 832 182"
"classname" "item_shells"
}
{
"origin" "1392 240 300"
"classname" "weapon_supershotgun"
}
{
"spawnflags" "769"
"angle" "270"
"origin" "954 -754 444"
"classname" "monster_ogre"
}
{
"spawnflags" "1"
"origin" "520 -1280 408"
"classname" "item_shells"
}
{
"light" "200"
"origin" "-612 -500 548"
"classname" "light"
}
{
"classname" "func_door"
"angle" "90"
"targetname" "t110"
"wait" "-1"
"model" "*33"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "270"
"wait" "-1"
"model" "*34"
}
{
"classname" "trigger_once"
"target" "t110"
"model" "*35"
}
{
"classname" "trigger_changelevel"
"map" "e1m3"
"model" "*36"
}
{
"spawnflags" "1792"
"origin" "680 728 184"
"classname" "weapon_rocketlauncher"
}
{
"spawnflags" "1792"
"origin" "1496 1256 176"
"classname" "weapon_nailgun"
}
{
"angle" "180"
"spawnflags" "1792"
"origin" "-96 -496 360"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1794"
"origin" "-112 -8 464"
"classname" "item_health"
}
{
"spawnflags" "1793"
"origin" "-112 -568 360"
"classname" "item_spikes"
}
{
"spawnflags" "1792"
"origin" "1616 1424 176"
"classname" "item_spikes"
}
{
"spawnflags" "1792"
"classname" "item_spikes"
"origin" "1656 1424 176"
}
{
"spawnflags" "1792"
"origin" "1696 1424 176"
"classname" "item_spikes"
}
{
"spawnflags" "768"
"target" "t34"
"angle" "315"
"origin" "1070 646 312"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"targetname" "t84"
"angle" "90"
"origin" "1624 88 376"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"angle" "90"
"targetname" "t84"
"origin" "1866 -378 312"
"classname" "monster_ogre"
}
{
"angle" "45"
"origin" "1088 -1096 440"
"classname" "monster_knight"
"targetname" "t50"
}
{
"spawnflags" "768"
"classname" "monster_knight"
"origin" "1400 -1144 440"
"angle" "90"
"targetname" "t50"
}
{
"spawnflags" "256"
"target" "t111"
"targetname" "t112"
"origin" "896 -1216 416"
"classname" "path_corner"
}
{
"spawnflags" "256"
"target" "t112"
"targetname" "t111"
"classname" "path_corner"
"origin" "704 -1216 416"
}
{
"spawnflags" "257"
"target" "t111"
"angle" "180"
"origin" "758 -1218 432"
"classname" "monster_army"
}
{
"spawnflags" "768"
"target" "t114"
"targetname" "t113"
"origin" "-96 -520 368"
"classname" "path_corner"
}
{
"spawnflags" "768"
"target" "t113"
"targetname" "t114"
"origin" "-96 -152 304"
"classname" "path_corner"
}
{
"targetname" "t116"
"spawnflags" "769"
"target" "t113"
"angle" "270"
"origin" "-98 -194 320"
"classname" "monster_ogre"
}
{
"spawnflags" "1536"
"origin" "1936 -96 289"
"classname" "item_health"
}
{
"spawnflags" "1025"
"origin" "1040 -1200 417"
"classname" "item_health"
}
{
"spawnflags" "769"
"target" "t117"
"angle" "315"
"origin" "-560 -312 592"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"target" "t118"
"targetname" "t117"
"origin" "-528 -344 576"
"classname" "path_corner"
}
{
"spawnflags" "768"
"target" "t117"
"targetname" "t118"
"origin" "-352 -656 576"
"classname" "path_corner"
}
{
"classname" "light"
"origin" "1360 976 224"
"light" "150"
}
{
"light" "150"
"origin" "1616 976 224"
"classname" "light"
}
{
"classname" "light"
"origin" "1208 1296 368"
"light" "250"
}
{
"origin" "1784 1288 368"
"classname" "light"
"light" "250"
}
{
"classname" "light"
"origin" "1496 1664 336"
"light" "250"
}
{
"classname" "light"
"origin" "1752 1176 112"
"light" "150"
}
{
"light" "200"
"origin" "1776 976 112"
"classname" "light"
}
{
"classname" "light"
"origin" "1216 976 112"
"light" "200"
}
{
"light" "150"
"origin" "1224 1176 112"
"classname" "light"
}
{
"classname" "light"
"origin" "1496 1432 520"
"light" "250"
}
{
"classname" "light"
"origin" "1496 1304 264"
"light" "200"
}
{
"classname" "light"
"origin" "1496 1432 288"
"light" "200"
}
{
"classname" "light"
"origin" "1608 1120 88"
"light" "150"
}
{
"light" "150"
"origin" "1384 1120 88"
"classname" "light"
}
{
"classname" "light"
"origin" "1496 864 368"
"light" "150"
}
{
"light" "175"
"origin" "980 764 353"
"classname" "light"
}
{
"classname" "light"
"origin" "1228 764 353"
"light" "175"
}
{
"classname" "light"
"origin" "1104 464 353"
"light" "200"
}
{
"classname" "light"
"origin" "1104 -40 423"
"light" "200"
}
{
"light" "150"
"origin" "1416 -128 367"
"classname" "light"
}
{
"classname" "light"
"origin" "1104 -184 367"
"light" "200"
}
{
"classname" "light"
"origin" "1184 56 423"
"light" "150"
}
{
"light" "150"
"origin" "1024 56 423"
"classname" "light"
}
{
"classname" "light"
"origin" "1272 -64 399"
"light" "150"
}
{
"light" "150"
"origin" "888 -64 399"
"classname" "light"
}
{
"classname" "light"
"origin" "1104 152 129"
"light" "300"
}
{
"classname" "light"
"origin" "976 392 129"
"light" "200"
}
{
"classname" "light"
"origin" "1104 656 120"
}
{
"classname" "light"
"origin" "896 712 144"
"light" "200"
}
{
"classname" "light"
"origin" "640 704 280"
"light" "200"
}
{
"classname" "light"
"origin" "464 496 296"
"light" "150"
}
{
"classname" "light"
"origin" "888 1152 96"
"light" "200"
}
{
"classname" "light"
"origin" "840 880 240"
"light" "200"
}
{
"classname" "light"
"origin" "848 584 240"
"light" "150"
}
{
"classname" "light"
"origin" "784 160 144"
"light" "200"
}
{
"classname" "light"
"origin" "440 336 144"
"light" "150"
}
{
"light" "150"
"origin" "584 336 144"
"classname" "light"
}
{
"classname" "light"
"origin" "432 24 136"
"light" "150"
}
{
"classname" "light"
"origin" "656 328 224"
"light" "200"
}
{
"classname" "light"
"origin" "432 -128 312"
"light" "200"
}
{
"classname" "light"
"origin" "600 -384 360"
"light" "200"
}
{
"origin" "520 -128 406"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"classname" "light"
"origin" "424 -320 352"
"light" "200"
}
{
"classname" "light"
"origin" "664 -1216 472"
"light" "150"
}
{
"classname" "light"
"origin" "336 -1208 504"
"light" "150"
}
{
"light" "150"
"origin" "336 -1008 504"
"classname" "light"
}
{
"classname" "light"
"origin" "336 -816 504"
"light" "150"
}
{
"classname" "light"
"origin" "880 -1000 496"
"light" "200"
}
{
"classname" "light"
"origin" "880 -792 496"
"light" "200"
}
{
"classname" "light"
"origin" "880 -376 304"
"light" "200"
}
{
"classname" "light"
"origin" "1048 -912 480"
"light" "225"
}
{
"classname" "light"
"origin" "1120 -1192 468"
"light" "150"
}
{
"light" "150"
"origin" "1376 -1192 468"
"classname" "light"
}
{
"classname" "light"
"origin" "1472 -912 464"
"light" "175"
}
{
"classname" "light"
"origin" "880 -304 480"
"light" "100"
}
{
"classname" "light"
"origin" "880 -680 480"
"light" "175"
}
{
"classname" "light"
"origin" "1600 -704 484"
"light" "150"
}
{
"classname" "light"
"origin" "1504 -704 348"
"light" "175"
}
{
"light" "175"
"origin" "1336 -704 348"
"classname" "light"
}
{
"classname" "light"
"origin" "1152 -640 332"
"light" "200"
}
{
"classname" "light"
"origin" "1096 -552 348"
"light" "150"
}
{
"light" "200"
"origin" "1160 -456 332"
"classname" "light"
}
{
"light" "150"
"origin" "1216 -384 348"
"classname" "light"
}
{
"classname" "light"
"origin" "1344 -384 348"
"light" "150"
}
{
"classname" "light"
"origin" "1544 392 156"
"light" "225"
}
{
"light" "225"
"origin" "1848 248 156"
"classname" "light"
}
{
"classname" "light"
"origin" "1936 136 156"
"light" "225"
}
{
"light" "200"
"origin" "2096 -80 156"
"classname" "light"
}
{
"light" "200"
"origin" "2048 -408 156"
"classname" "light"
}
{
"classname" "light"
"origin" "1456 -392 444"
"light" "225"
}
{
"classname" "light"
"origin" "1640 -384 352"
"light" "225"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2134 -474 316"
"light" "250"
}
{
"light" "200"
"origin" "168 216 496"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 208 496"
"light" "200"
}
{
"light" "200"
"origin" "-96 360 432"
"classname" "light"
}
{
"classname" "light"
"origin" "-96 144 432"
"light" "200"
}
{
"light" "200"
"origin" "-376 32 432"
"classname" "light"
}
{
"light" "200"
"origin" "208 -72 432"
"classname" "light"
}
{
"light" "150"
"origin" "-96 72 360"
"classname" "light"
}
{
"light" "150"
"origin" "-64 -232 368"
"classname" "light"
}
{
"light" "150"
"origin" "-96 -320 560"
"classname" "light"
}
{
"light" "250"
"origin" "-96 -496 448"
"classname" "light"
}
{
"light" "150"
"origin" "-416 -104 392"
"classname" "light"
}
{
"light" "150"
"origin" "-344 -152 528"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -152 528"
"light" "150"
}
{
"light" "150"
"origin" "-96 8 528"
"classname" "light"
}
{
"light" "200"
"origin" "-560 -504 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-440 -368 688"
"light" "200"
}
{
"light" "200"
"origin" "-440 -656 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-336 -504 688"
"light" "200"
}
{
"classname" "light"
"origin" "2084 -208 336"
"light" "100"
}
{
"light" "100"
"origin" "2012 -252 332"
"classname" "light"
}
{
"classname" "light"
"origin" "1948 -328 332"
"light" "100"
}
{
"light" "150"
"origin" "1892 -452 332"
"classname" "light"
}
{
"sounds" "1"
"targetname" "t120"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"lip" "4"
"model" "*37"
}
{
"target" "t120"
"classname" "trigger_once"
"model" "*38"
}
{
"light" "100"
"origin" "2076 -312 336"
"classname" "light"
}
{
"sounds" "3"
"spawnflags" "2064"
"angle" "0"
"wait" "-1"
"classname" "func_door"
"model" "*39"
}
{
"spawnflags" "2064"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*40"
}
{
"light" "100"
"origin" "332 -264 356"
"classname" "light"
}
{
"classname" "light"
"origin" "144 -264 356"
"light" "100"
}
{
"light" "100"
"origin" "1104 572 316"
"classname" "light"
}
{
"target" "t121"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*41"
}
{
"targetname" "t121"
"angle" "180"
"origin" "2120 -256 332"
"classname" "trap_spikeshooter"
"spawnflags" "1024"
}
{
"targetname" "t121"
"angle" "90"
"origin" "1944 -456 332"
"classname" "trap_spikeshooter"
"spawnflags" "1024"
}
{
"light" "150"
"origin" "1312 -856 472"
"classname" "light"
}
{
"classname" "light"
"origin" "1184 -856 472"
"light" "175"
}
{
"classname" "light"
"origin" "1560 -568 224"
"light" "200"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"speed" "50"
"sounds" "1"
"targetname" "t123"
"lip" "6"
"model" "*42"
}
{
"classname" "trigger_once"
"target" "t123"
"model" "*43"
}
{
"classname" "light"
"origin" "1496 -552 330"
"light" "700"
"target" "t52"
}
{
"classname" "light"
"origin" "1288 80 140"
"light" "250"
}
{
"classname" "light"
"origin" "1288 400 80"
"light" "200"
}
{
"classname" "light"
"origin" "1328 -664 160"
"light" "200"
}
{
"classname" "item_armor1"
"origin" "784 56 304"
}
{
"classname" "light"
"origin" "1544 464 352"
"light" "75"
}
{
"classname" "func_plat"
"model" "*44"
}
{
"classname" "light"
"origin" "1496 1192 280"
"light" "200"
}
{
"classname" "light"
"origin" "1608 1192 136"
"light" "100"
}
{
"light" "100"
"origin" "1384 1184 136"
"classname" "light"
}
{
"light" "100"
"origin" "1608 1048 136"
"classname" "light"
}
{
"classname" "light"
"origin" "1384 1048 136"
"light" "100"
}
{
"classname" "light"
"origin" "1200 1148 92"
"light" "150"
}
{
"light" "150"
"origin" "876 -184 367"
"classname" "light"
}
{
"classname" "light"
"origin" "768 -128 384"
"light" "200"
}
{
"classname" "light"
"origin" "1104 388 552"
"light" "250"
}
{
"light" "200"
"origin" "1392 240 384"
"classname" "light"
}
{
"classname" "light"
"origin" "1392 80 368"
"light" "200"
}
{
"classname" "light"
"origin" "1272 400 367"
"light" "150"
}
{
"light" "150"
"origin" "920 400 367"
"classname" "light"
}
{
"classname" "light"
"origin" "816 208 368"
"light" "200"
}
{
"classname" "light"
"origin" "800 24 368"
"light" "200"
}
{
"classname" "light"
"origin" "800 376 385"
"light" "150"
}
{
"light" "150"
"origin" "1400 400 385"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "1104 336 300"
"target" "t126"
"targetname" "t127"
}
{
"origin" "1104 24 300"
"classname" "path_corner"
"targetname" "t126"
"target" "t127"
}
{
"classname" "monster_army"
"origin" "1104 424 316"
"angle" "270"
"target" "t127"
}
{
"targetname" "t128"
"origin" "1392 240 308"
"classname" "info_null"
}
{
"light" "300"
"target" "t128"
"origin" "1392 240 376"
"classname" "light"
}
{
"targetname" "t129"
"angle" "0"
"origin" "552 -128 320"
"classname" "monster_army"
}
{
"target" "t129"
"classname" "trigger_once"
"model" "*45"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*46"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*47"
}
{
"classname" "light"
"origin" "1104 24 536"
"light" "350"
}
{
"spawnflags" "1"
"classname" "func_door_secret"
"angle" "270"
"model" "*48"
}
{
"light" "200"
"origin" "1680 1552 320"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1552 320"
"light" "200"
}
{
"classname" "item_spikes"
"origin" "1480 1104 68"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "1760 -568 256"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "1232 -1200 416"
}
{
"message" "This door is opened elsewhere..."
"classname" "func_door"
"sounds" "3"
"angle" "180"
"wait" "-1"
"targetname" "t122"
"speed" "35"
"spawnflags" "2048"
"model" "*49"
}
{
"classname" "func_door"
"angle" "0"
"wait" "-1"
"speed" "30"
"spawnflags" "2048"
"model" "*50"
}
{
"classname" "light"
"origin" "1496 1600 296"
"light" "150 "
}
{
"light" "150"
"origin" "1568 1664 296"
"classname" "light"
}
{
"classname" "light"
"origin" "1424 1664 296"
"light" "150"
}
{
"classname" "light"
"origin" "1328 1424 296"
"light" "200"
}
{
"light" "250"
"origin" "1696 1416 296"
"classname" "light"
}
{
"classname" "monster_army"
"origin" "1592 1296 200"
"angle" "270"
}
{
"spawnflags" "768"
"classname" "monster_demon1"
"origin" "-96 576 320"
"angle" "270"
"targetname" "t73"
"target" "t143"
}
{
"classname" "path_corner"
"origin" "1392 416 304"
"targetname" "t131"
"target" "t130"
"spawnflags" "768"
}
{
"origin" "1392 296 304"
"classname" "path_corner"
"targetname" "t130"
"target" "t131"
"spawnflags" "768"
}
{
"classname" "monster_army"
"origin" "1392 352 320"
"angle" "270"
"target" "t130"
"spawnflags" "768"
}
{
"target" "t132"
"targetname" "t133"
"origin" "296 -328 304"
"classname" "path_corner"
}
{
"target" "t133"
"targetname" "t132"
"classname" "path_corner"
"origin" "472 -416 304"
}
{
"spawnflags" "1"
"target" "t132"
"angle" "90"
"origin" "472 -456 320"
"classname" "monster_army"
}
{
"spawnflags" "1"
"targetname" "t89"
"angle" "135"
"origin" "1712 -784 376"
"classname" "monster_army"
}
{
"target" "t135"
"spawnflags" "256"
"targetname" "t134"
"origin" "400 -1128 416"
"classname" "path_corner"
}
{
"target" "t134"
"spawnflags" "256"
"targetname" "t135"
"classname" "path_corner"
"origin" "400 -1248 416"
}
{
"target" "t134"
"spawnflags" "257"
"angle" "90"
"origin" "408 -1208 432"
"classname" "monster_army"
}
{
"targetname" "t101"
"angle" "90"
"origin" "-288 -24 488"
"classname" "monster_army"
"spawnflags" "768"
}
{
"spawnflags" "768"
"targetname" "t101"
"classname" "monster_army"
"origin" "136 -128 488"
"angle" "90"
}
{
"spawnflags" "1792"
"origin" "-264 -24 464"
"classname" "item_rockets"
}
{
"spawnflags" "2048"
"origin" "-240 -8 464"
"classname" "item_spikes"
}
{
"classname" "monster_ogre"
"origin" "-304 -304 488"
"angle" "225"
"spawnflags" "769"
}
{
"classname" "func_wall"
"spawnflags" "768"
"model" "*51"
}
{
"classname" "trap_spikeshooter"
"origin" "2048 -48 332"
"angle" "270"
"spawnflags" "769"
"targetname" "t121"
}
{
"origin" "2048 -476 332"
"classname" "info_null"
"targetname" "t136"
}
{
"style" "32"
"origin" "2048 -456 336"
"classname" "light"
"light" "800"
"spawnflags" "1"
"target" "t136"
"targetname" "t137"
}
{
"style" "32"
"classname" "trigger_once"
"spawnflags" "768"
"target" "t137"
"model" "*52"
}
{
"classname" "monster_wizard"
"origin" "672 328 384"
"angle" "180"
"spawnflags" "768"
"targetname" "t138"
}
{
"classname" "trigger_once"
"target" "t138"
"model" "*53"
}
{
"style" "32"
"classname" "light"
"origin" "2004 -52 332"
"light" "100"
"spawnflags" "1"
"targetname" "t137"
}
{
"classname" "item_shells"
"origin" "1416 224 300"
"spawnflags" "768"
}
{
"classname" "path_corner"
"origin" "-344 136 304"
"targetname" "t139"
"target" "t140"
"spawnflags" "768"
}
{
"origin" "168 128 304"
"classname" "path_corner"
"target" "t139"
"targetname" "t140"
"spawnflags" "768"
}
{
"classname" "monster_ogre"
"origin" "-400 168 320"
"spawnflags" "768"
"target" "t139"
}
{
"classname" "trap_spikeshooter"
"origin" "2120 -256 332"
"angle" "180"
"spawnflags" "769"
"targetname" "t121"
}
{
"classname" "trap_spikeshooter"
"origin" "1944 -456 332"
"targetname" "t121"
"angle" "90"
"spawnflags" "769"
}
{
"classname" "item_spikes"
"origin" "-336 -80 470"
"spawnflags" "768"
}
{
"targetname" "t143"
"classname" "trigger_teleport"
"target" "t142"
"spawnflags" "2"
"model" "*54"
}
{
"targetname" "t143"
"classname" "trigger_teleport"
"target" "t141"
"spawnflags" "2"
"model" "*55"
}
{
"classname" "monster_demon1"
"origin" "32 840 359"
"angle" "270"
"targetname" "t143"
"spawnflags" "768"
}
{
"angle" "270"
"origin" "-192 840 359"
"classname" "monster_demon1"
"targetname" "t143"
"spawnflags" "768"
}
{
"classname" "info_teleport_destination"
"origin" "80 216 303"
"angle" "270"
"targetname" "t141"
}
{
"angle" "270"
"origin" "-264 224 303"
"classname" "info_teleport_destination"
"targetname" "t142"
}
{
"wait" "-1"
"target" "t53"
"health" "1"
"classname" "func_button"
"model" "*56"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "1408 1296 200"
"classname" "monster_army"
}
{
"classname" "item_shells"
"origin" "772 -856 420"
"spawnflags" "768"
}
{
"spawnflags" "1792"
"origin" "1248 -1128 420"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1793"
"origin" "864 -312 440"
"classname" "item_rockets"
}
{
"classname" "trigger_once"
"message" "Pass through the arch to exit..."
"model" "*57"
}
{
"mangle" "20 300 0"
"classname" "info_intermission"
"origin" "-224 424 512"
}
{
"mangle" "20 45 0"
"origin" "1048 -744 488"
"classname" "info_intermission"
}
{
"mangle" "20 270 0"
"origin" "1104 424 528"
"classname" "info_intermission"
}
{
"mangle" "20 45 0"
"origin" "1240 984 416"
"classname" "info_intermission"
}
{
"sounds" "1"
"speed" "20"
"classname" "func_button"
"angle" "0"
"wait" "-1"
"target" "t144"
"model" "*58"
}
{
"classname" "light"
"origin" "400 -1392 480"
"light" "150"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"speed" "20"
"sounds" "1"
"targetname" "t144"
"model" "*59"
}
{
"classname" "trigger_secret"
"model" "*60"
}
{
"classname" "item_artifact_super_damage"
"origin" "400 -1360 432"
}
{
"classname" "item_spikes"
"origin" "808 -632 192"
"spawnflags" "2049"
}
{
"classname" "item_health"
"origin" "924 -632 192"
"spawnflags" "2048"
}
{
"classname" "weapon_supernailgun"
"origin" "880 -616 192"
"spawnflags" "1792"
}
{
"classname" "ambient_drip"
"origin" "842 978 344"
}
{
"classname" "ambient_drip"
"origin" "546 330 400"
}
{
"classname" "info_player_coop"
"origin" "1608 1664 264"
"angle" "270"
}
{
"angle" "270"
"origin" "1392 1664 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "1496 1560 264"
"angle" "270"
}
{
"spawnflags" "256"
"angle" "270"
"origin" "232 -176 320"
"classname" "monster_ogre"
}
{
"spawnflags" "1280"
"angle" "225"
"origin" "-368 -312 480"
"classname" "monster_knight"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*61"
}
{
"origin" "1810 274 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1802 -102 200"
}
{
"origin" "2050 -214 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "2002 -390 200"
}
{
"origin" "1738 -398 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1346 -398 200"
}
{
"origin" "1138 -542 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "882 -494 200"
}
{
"classname" "ambient_swamp1"
"origin" "1722 1090 176"
}
{
"origin" "1242 1090 176"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "1106 642 192"
}
{
"origin" "1346 242 192"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp1"
"origin" "866 210 192"
}
{
"classname" "ambient_swamp1"
"origin" "1802 90 192"
}
{
"origin" "1546 -398 192"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "2042 -310 192"
}
{
"origin" "1178 -398 192"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp2"
"origin" "1202 -678 192"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e2m7.ent 0000644 0000000 0000000 00000142601 12403131422 017042 0 ustar root root {
"wad" "gfx/tim.wad"
"classname" "worldspawn"
"sounds" "7"
"worldtype" "0"
"message" "the Underearth"
}
{
"angle" "90"
"origin" "1136 -1100 -72"
"classname" "info_player_start"
}
{
"origin" "1184 -776 -152"
"classname" "light"
"light" "150"
}
{
"classname" "light"
"origin" "1704 -584 -184"
"light" "150"
}
{
"classname" "light"
"origin" "1640 -688 -184"
"light" "150"
}
{
"classname" "light"
"origin" "1696 -888 -192"
"light" "150"
}
{
"classname" "light"
"origin" "1088 -960 -152"
"light" "150"
}
{
"classname" "light"
"origin" "1248 -960 -152"
"light" "150"
}
{
"classname" "light"
"origin" "1016 -768 -152"
"light" "100"
}
{
"classname" "light"
"origin" "896 -920 -152"
"light" "150"
}
{
"light" "100"
"origin" "1584 -208 -112"
"classname" "light"
}
{
"light" "100"
"origin" "1776 -208 -112"
"classname" "light"
}
{
"light" "150"
"origin" "1584 -88 -112"
"classname" "light"
}
{
"origin" "1774 58 -76"
"classname" "light_torch_small_walltorch"
}
{
"light" "100"
"origin" "1584 -488 -232"
"classname" "light"
}
{
"light" "100"
"origin" "1768 -480 -232"
"classname" "light"
}
{
"light" "150"
"origin" "1752 -112 -176"
"classname" "light"
}
{
"light" "150"
"origin" "1592 -120 -176"
"classname" "light"
}
{
"light" "150"
"origin" "1592 -248 -192"
"classname" "light"
}
{
"light" "200"
"origin" "1768 -240 -192"
"classname" "light"
}
{
"light" "150"
"origin" "1676 -220 -188"
"classname" "light"
}
{
"light" "150"
"origin" "1672 -40 -136"
"classname" "light"
}
{
"light" "150"
"origin" "1676 -376 -252"
"classname" "light"
}
{
"light" "250"
"origin" "1112 952 -92"
"classname" "light"
}
{
"light" "200"
"origin" "1280 928 -152"
"classname" "light"
}
{
"classname" "light"
"origin" "704 952 -92"
"light" "250"
}
{
"classname" "light"
"origin" "824 1112 -92"
"light" "200"
}
{
"classname" "light"
"origin" "952 760 -92"
"light" "200"
}
{
"classname" "light"
"origin" "824 760 -92"
"light" "200"
}
{
"light" "250"
"origin" "952 1112 -92"
"classname" "light"
}
{
"classname" "light"
"origin" "1128 -848 288"
"light" "500"
}
{
"classname" "light"
"origin" "1144 -432 288"
}
{
"classname" "light"
"origin" "864 -552 272"
"light" "200"
}
{
"classname" "light"
"origin" "1392 -568 168"
"light" "200"
}
{
"classname" "light"
"origin" "1416 -592 -24"
"light" "150"
}
{
"classname" "light"
"origin" "888 -584 -24"
"light" "150"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1058 -466 -24"
"light" "225"
}
{
"origin" "1214 -466 -24"
"classname" "light_torch_small_walltorch"
"light" "225"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1198 -66 40"
"light" "300"
}
{
"classname" "light"
"origin" "1144 -204 172"
"light" "150"
}
{
"classname" "light"
"origin" "1144 -292 -32"
"light" "150"
}
{
"classname" "item_spikes"
"origin" "880 -592 -96"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1068 -944 -96"
}
{
"classname" "light"
"origin" "1128 -1084 96"
"light" "300"
}
{
"classname" "light"
"origin" "888 -848 248"
"light" "150"
}
{
"light" "150"
"origin" "1504 -896 248"
"classname" "light"
}
{
"classname" "light"
"origin" "1304 -1048 24"
"light" "225"
}
{
"classname" "light"
"origin" "1520 -872 -192"
"light" "150"
}
{
"light" "100"
"origin" "1384 -776 -184"
"classname" "light"
}
{
"classname" "light"
"origin" "1368 -912 -184"
"light" "100"
}
{
"classname" "light"
"origin" "1584 496 148"
"light" "200"
}
{
"light" "200"
"origin" "1488 496 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1688 164 148"
"light" "200"
}
{
"light" "200"
"origin" "1352 496 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1608 496 -36"
"light" "200"
}
{
"light" "200"
"origin" "1456 496 -36"
"classname" "light"
}
{
"classname" "light"
"origin" "1692 600 -12"
"light" "200"
}
{
"light" "200"
"origin" "1274 618 -64"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1274 378 -64"
"light" "200"
}
{
"classname" "light"
"origin" "1256 496 -40"
"light" "200"
}
{
"spawnflags" "2056"
"wait" "-1"
"classname" "func_door"
"angle" "270"
"model" "*1"
}
{
"wait" "-1"
"spawnflags" "2056"
"sounds" "3"
"angle" "90"
"classname" "func_door"
"model" "*2"
}
{
"light" "200"
"origin" "1968 1792 -257"
"classname" "light"
}
{
"light" "250"
"origin" "1880 1792 -105"
"classname" "light"
}
{
"classname" "light"
"origin" "1976 1944 56"
"light" "150"
}
{
"light" "150"
"origin" "1992 1624 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1944 1736 64"
"light" "150"
}
{
"light" "150"
"origin" "1944 1832 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1128 496 -24"
"light" "250"
}
{
"light" "150"
"origin" "1120 632 -24"
"classname" "light"
}
{
"light" "200"
"origin" "928 544 -24"
"classname" "light"
}
{
"classname" "light"
"origin" "640 664 -8"
"light" "200"
}
{
"light" "200"
"origin" "848 672 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "1024 544 -188"
"light" "175"
}
{
"light" "250"
"origin" "64 192 136"
"classname" "light"
}
{
"classname" "light"
"origin" "528 184 136"
"light" "250"
}
{
"light" "200"
"origin" "72 408 8"
"classname" "light"
}
{
"classname" "light"
"origin" "80 -48 8"
"light" "200"
}
{
"light" "250"
"origin" "400 384 80"
"classname" "light"
}
{
"classname" "light"
"origin" "392 -16 80"
"light" "250"
}
{
"classname" "light"
"origin" "312 184 -80"
"light" "200"
}
{
"light" "200"
"origin" "440 184 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "504 368 -120"
"light" "250"
}
{
"light" "150"
"origin" "632 192 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "504 -16 -120"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "774 446 -172"
"light" "250"
}
{
"origin" "774 -70 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"light" "250"
"origin" "896 -128 152"
"classname" "light"
}
{
"classname" "light"
"origin" "896 184 152"
"light" "250"
}
{
"light" "150"
"origin" "656 184 216"
"classname" "light"
}
{
"classname" "light"
"origin" "304 368 -152"
"light" "200"
}
{
"light" "200"
"origin" "0 480 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "96 376 -168"
"light" "200"
}
{
"classname" "light"
"origin" "16 1480 -96"
"light" "200"
}
{
"light" "200"
"origin" "1280 1824 -120"
"classname" "light"
}
{
"light" "200"
"origin" "504 1816 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "712 1808 -120"
"light" "200"
}
{
"light" "200"
"origin" "1064 1808 -120"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "858 1950 -172"
"light" "250"
}
{
"origin" "658 1950 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "666 1682 -172"
"light" "250"
}
{
"origin" "858 1682 -172"
"classname" "light_torch_small_walltorch"
"light" "250"
}
{
"classname" "light"
"origin" "1248 1384 -32"
"light" "200"
}
{
"classname" "light"
"origin" "1688 936 -136"
"light" "200"
}
{
"light" "250"
"origin" "1856 1444 -52"
"classname" "light"
}
{
"light" "150"
"origin" "1864 1316 -192"
"classname" "light"
}
{
"classname" "light"
"origin" "1776 1212 -192"
"light" "150"
}
{
"light" "150"
"origin" "1696 1076 -192"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1770 730 -64"
"light" "250"
}
{
"classname" "light"
"origin" "1760 1720 -201"
"light" "250"
}
{
"classname" "light"
"origin" "1632 1520 -201"
"light" "200"
}
{
"classname" "light"
"origin" "1984 1504 -201"
"light" "200"
}
{
"light" "250"
"classname" "light_torch_small_walltorch"
"origin" "1874 2104 -300"
}
{
"light" "250"
"origin" "1712 2104 -300"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light"
"origin" "1792 2048 48"
}
{
"classname" "light_flame_large_yellow"
"origin" "1362 1778 0"
}
{
"classname" "light"
"origin" "1408 1776 -124"
"light" "200"
}
{
"classname" "light"
"origin" "1520 1880 -84"
"light" "175"
}
{
"light" "175"
"origin" "1416 1512 -84"
"classname" "light"
}
{
"classname" "light"
"origin" "1376 1568 -164"
"light" "150"
}
{
"light" "150"
"origin" "1416 1888 -164"
"classname" "light"
}
{
"classname" "light"
"origin" "1544 2072 -164"
"light" "150"
}
{
"classname" "light"
"origin" "1552 1968 36"
"light" "250"
}
{
"classname" "light"
"origin" "1416 1968 -16"
"light" "175"
}
{
"light" "175"
"origin" "1416 2176 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "1240 2176 -16"
"light" "175"
}
{
"light" "175"
"origin" "1240 2000 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "1264 1576 -72"
"light" "200"
}
{
"light" "200"
"origin" "992 1480 -40"
"classname" "light"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "968 1632 -132"
}
{
"light" "200"
"origin" "968 1328 -132"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1474 2234 -133"
"light" "200"
}
{
"origin" "1182 2234 -133"
"classname" "light_torch_small_walltorch"
"light" "200"
}
{
"classname" "light"
"origin" "1936 1480 48"
"light" "150"
}
{
"light" "150"
"origin" "1544 1528 64"
"classname" "light"
}
{
"classname" "light"
"origin" "1472 1488 24"
"light" "150"
}
{
"classname" "light"
"origin" "1400 1664 96"
"light" "150"
}
{
"light" "200"
"origin" "1792 2176 -221"
"classname" "light"
}
{
"classname" "light"
"origin" "1880 2288 -221"
"light" "200"
}
{
"light" "200"
"origin" "2048 2288 -221"
"classname" "light"
}
{
"classname" "light"
"origin" "2128 2208 -221"
"light" "200"
}
{
"light" "200"
"origin" "2160 1992 -205"
"classname" "light"
}
{
"origin" "2288 1952 -29"
"classname" "light"
}
{
"light" "250"
"origin" "2274 1738 -172"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2274 1682 -172"
"light" "250"
}
{
"light" "200"
"origin" "2376 2184 -152"
"classname" "light"
}
{
"light" "200"
"origin" "2618 1658 -169"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2618 1368 -169"
"light" "200"
}
{
"light" "200"
"origin" "2176 1488 -169"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"origin" "2298 626 24"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1930 738 24"
"light" "200"
}
{
"light" "200"
"origin" "2050 394 24"
"classname" "light_torch_small_walltorch"
}
{
"classname" "func_plat"
"model" "*3"
}
{
"light" "150"
"origin" "2152 1784 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "2232 936 -4"
"light" "200"
}
{
"classname" "light"
"origin" "2232 1040 48"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2034 1034 -164"
"light" "200"
}
{
"classname" "light"
"origin" "2304 1040 280"
"light" "200"
}
{
"light" "200"
"origin" "2168 1040 280"
"classname" "light"
}
{
"origin" "2130 2452 -112"
"classname" "light_flame_large_yellow"
"light" "250"
}
{
"classname" "light_flame_large_yellow"
"origin" "1858 2452 -112"
"light" "250"
}
{
"classname" "light"
"origin" "2132 2416 -188"
"light" "150"
}
{
"light" "150"
"origin" "1860 2416 -188"
"classname" "light"
}
{
"light" "200"
"origin" "2256 1968 -453"
"classname" "light"
}
{
"classname" "light"
"origin" "2256 2184 -453"
"light" "200"
}
{
"light" "200"
"origin" "2216 2384 -453"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 2400 -453"
"light" "200"
}
{
"light" "175"
"origin" "1984 2400 -453"
"classname" "light"
}
{
"light" "150"
"origin" "2168 1608 -9"
"classname" "light"
}
{
"classname" "light"
"origin" "2368 1600 -9"
"light" "150"
}
{
"light" "150"
"origin" "2240 1424 44"
"classname" "light"
}
{
"classname" "light"
"origin" "2400 1424 44"
"light" "150"
}
{
"light" "150"
"origin" "2560 1424 44"
"classname" "light"
}
{
"classname" "light"
"origin" "2560 1560 44"
"light" "175"
}
{
"light" "150"
"origin" "2232 1288 44"
"classname" "light"
}
{
"light" "175"
"origin" "2384 1424 -160"
"classname" "light"
}
{
"classname" "light"
"origin" "2232 1288 -160"
"light" "175"
}
{
"light" "150"
"origin" "2164 932 -172"
"classname" "light"
}
{
"classname" "light"
"origin" "2308 932 -172"
"light" "150"
}
{
"light" "150"
"origin" "2232 776 24"
"classname" "light"
}
{
"classname" "light"
"origin" "2192 664 24"
"light" "150"
}
{
"light" "150"
"origin" "2016 696 24"
"classname" "light"
}
{
"classname" "light"
"origin" "1912 496 24"
"light" "150"
}
{
"light" "175"
"origin" "80 1616 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "72 1888 -120"
"light" "175"
}
{
"light" "175"
"origin" "296 1616 -120"
"classname" "light"
}
{
"light" "175"
"origin" "304 1888 -120"
"classname" "light"
}
{
"targetname" "t20"
"angle" "90"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t21"
"angle" "120"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t22"
"angle" "150"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t19"
"angle" "60"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t18"
"angle" "30"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t17"
"angle" "0"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t24"
"angle" "210"
"classname" "trap_spikeshooter"
"origin" "192 1752 -208"
"spawnflags" "1"
}
{
"targetname" "t23"
"angle" "180"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t25"
"angle" "240"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t26"
"angle" "270"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t27"
"angle" "300"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"targetname" "t28"
"angle" "330"
"spawnflags" "1"
"origin" "192 1752 -208"
"classname" "trap_spikeshooter"
}
{
"delay" ".1"
"targetname" "t29"
"target" "t17"
"classname" "trigger_multiple"
"model" "*4"
}
{
"delay" ".1"
"targetname" "t17"
"target" "t18"
"classname" "trigger_multiple"
"model" "*5"
}
{
"delay" ".1"
"targetname" "t18"
"target" "t19"
"classname" "trigger_multiple"
"model" "*6"
}
{
"delay" ".1"
"targetname" "t19"
"target" "t20"
"classname" "trigger_multiple"
"model" "*7"
}
{
"delay" ".1"
"targetname" "t20"
"target" "t21"
"classname" "trigger_multiple"
"model" "*8"
}
{
"delay" ".1"
"targetname" "t21"
"target" "t22"
"classname" "trigger_multiple"
"model" "*9"
}
{
"delay" ".1"
"targetname" "t22"
"target" "t23"
"classname" "trigger_multiple"
"model" "*10"
}
{
"delay" ".1"
"targetname" "t23"
"target" "t24"
"classname" "trigger_multiple"
"model" "*11"
}
{
"delay" ".1"
"targetname" "t24"
"target" "t25"
"classname" "trigger_multiple"
"model" "*12"
}
{
"delay" ".1"
"targetname" "t25"
"target" "t26"
"classname" "trigger_multiple"
"model" "*13"
}
{
"delay" ".1"
"targetname" "t26"
"target" "t27"
"classname" "trigger_multiple"
"model" "*14"
}
{
"delay" ".1"
"targetname" "t27"
"target" "t28"
"classname" "trigger_multiple"
"model" "*15"
}
{
"target" "t29"
"wait" "1.3"
"classname" "trigger_multiple"
"model" "*16"
}
{
"origin" "192 1750 -188"
"classname" "light_flame_large_yellow"
}
{
"light" "125"
"origin" "214 1752 -166"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1774 -166"
"light" "125"
}
{
"light" "125"
"origin" "170 1750 -166"
"classname" "light"
}
{
"classname" "light"
"origin" "194 1726 -166"
"light" "125"
}
{
"target" "t31"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*17"
}
{
"target" "t31"
"angle" "180"
"wait" "-1"
"classname" "func_button"
"model" "*18"
}
{
"target" "t31"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*19"
}
{
"target" "t31"
"angle" "90"
"wait" "-1"
"classname" "func_button"
"model" "*20"
}
{
"wait" "-1"
"targetname" "t30"
"sounds" "4"
"speed" "50"
"angle" "-1"
"classname" "func_door"
"model" "*21"
}
{
"count" "4"
"targetname" "t31"
"target" "t30"
"classname" "trigger_counter"
"model" "*22"
}
{
"light" "150"
"origin" "2424 1080 -176"
"classname" "light"
}
{
"classname" "light"
"origin" "2424 992 -176"
"light" "150"
}
{
"targetname" "t40"
"angle" "180"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "160"
}
{
"targetname" "t40"
"angle" "140"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "120"
}
{
"targetname" "t40"
"angle" "200"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t40"
"classname" "trap_spikeshooter"
"origin" "2434 1036 -192"
"spawnflags" "1"
"angle" "220"
}
{
"targetname" "t40"
"angle" "240"
"spawnflags" "1"
"origin" "2434 1036 -192"
"classname" "trap_spikeshooter"
}
{
"targetname" "t41"
"target" "t40"
"wait" ".5"
"classname" "trigger_multiple"
"model" "*23"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*24"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*25"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*26"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*27"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*28"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*29"
}
{
"target" "t41"
"classname" "trigger_multiple"
"model" "*30"
}
{
"light" "125"
"origin" "2196 1200 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2284 1200 -204"
"light" "125"
}
{
"light" "125"
"origin" "2284 1112 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2388 1104 -204"
"light" "125"
}
{
"light" "125"
"origin" "2284 1000 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2140 1008 -204"
"light" "125"
}
{
"light" "125"
"origin" "2132 1096 -204"
"classname" "light"
}
{
"classname" "light"
"origin" "2132 1160 -204"
"light" "125"
}
{
"light" "200"
"origin" "528 1816 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "736 1808 -392"
"light" "200"
}
{
"light" "200"
"origin" "1040 1808 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "744 1424 -392"
"light" "200"
}
{
"light" "200"
"origin" "752 1288 -416"
"classname" "light"
}
{
"light" "200"
"origin" "760 1064 -376"
"classname" "light"
}
{
"classname" "func_train"
"spawnflags" "33"
"targetname" "t42"
"dmg" "1000"
"sounds" "1"
"target" "t124"
"speed" "250"
"model" "*31"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t43"
"speed" "50"
"sounds" "3"
"model" "*32"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t42"
"sounds" "1"
"model" "*33"
}
{
"classname" "trigger_once"
"target" "t43"
"targetname" "t42"
"delay" "2"
"model" "*34"
}
{
"classname" "light"
"origin" "1936 1784 -288"
"light" "125"
}
{
"classname" "monster_ogre"
"origin" "1976 1784 -328"
"angle" "180"
}
{
"classname" "func_door"
"angle" "90"
"wait" "-1"
"sounds" "1"
"model" "*35"
}
{
"classname" "func_door"
"angle" "270"
"targetname" "t44"
"wait" "-1"
"model" "*36"
}
{
"classname" "light"
"origin" "64 264 8"
"light" "125"
}
{
"light" "125"
"origin" "64 120 8"
"classname" "light"
}
{
"classname" "light"
"origin" "64 192 8"
"light" "100"
}
{
"classname" "trigger_once"
"target" "t44"
"model" "*37"
}
{
"classname" "light"
"origin" "512 184 -8"
"light" "175"
}
{
"targetname" "t119"
"classname" "func_door"
"angle" "90"
"wait" "-1"
"speed" "40"
"model" "*38"
}
{
"targetname" "t119"
"classname" "func_door"
"wait" "-1"
"angle" "270"
"speed" "40"
"sounds" "4"
"model" "*39"
}
{
"targetname" "t119"
"classname" "func_door"
"wait" "-1"
"angle" "-1"
"speed" "30"
"message" "Go for a swim first..."
"sounds" "3"
"model" "*40"
"origin" "-1 0 0" // svdijk -- added to prevent z-fighting
}
{
"classname" "func_button"
"angle" "0"
"wait" "-1"
"target" "t45"
"model" "*41"
}
{
"classname" "light"
"origin" "36 184 84"
"light" "75"
}
{
"classname" "light"
"origin" "752 184 -192"
"light" "150"
}
{
"classname" "light"
"origin" "544 536 -152"
"light" "125"
}
{
"classname" "func_door"
"angle" "-2"
"sounds" "1"
"wait" "-1"
"targetname" "t45"
"model" "*42"
}
{
"wait" "-1"
"sounds" "1"
"angle" "-2"
"classname" "func_door"
"targetname" "t45"
"model" "*43"
}
{
"light" "125"
"origin" "544 -152 -152"
"classname" "light"
}
{
"classname" "item_artifact_envirosuit"
"origin" "1024 492 -232"
}
{
"classname" "item_armor1"
"origin" "2128 1752 -352"
}
{
"classname" "light_flame_small_yellow"
"origin" "1024 368 -4"
"light" "250"
}
{
"classname" "light"
"origin" "1024 400 -64"
"light" "150"
}
{
"wait" "5"
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t51"
"model" "*44"
}
{
"wait" "5"
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t51"
"model" "*45"
}
{
"sounds" "3"
"classname" "func_button"
"angle" "270"
"wait" "3"
"target" "t51"
"model" "*46"
}
{
"classname" "light"
"origin" "1224 712 -216"
"light" "100"
}
{
"classname" "light"
"origin" "1232 768 -192"
"light" "100"
}
{
"light" "75"
"origin" "1168 760 -232"
"classname" "light"
}
{
"light" "100"
"origin" "1232 800 -208"
"classname" "light"
}
{
"sounds" "1"
"origin" "1860 472 -8"
"classname" "item_key2"
"spawnflags" "2048"
}
{
"classname" "light"
"origin" "1112 1568 -40"
"light" "200"
}
{
"light" "150"
"origin" "-96 1440 -160"
"classname" "light"
}
{
"classname" "light"
"origin" "384 1440 -160"
"light" "150"
}
{
"light" "200"
"origin" "248 1408 -96"
"classname" "light"
}
{
"light" "150"
"origin" "968 1480 -128"
"classname" "light"
}
{
"light" "150"
"origin" "1008 -592 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "1264 -592 -32"
"light" "150"
}
{
"light" "200"
"origin" "880 -840 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "1376 -856 -56"
"light" "200"
}
{
"light" "175"
"origin" "264 184 -8"
"classname" "light"
}
{
"light" "175"
"origin" "1464 -864 -208"
"classname" "light"
}
{
"light" "175"
"origin" "1816 160 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "1560 160 -56"
"light" "175"
}
{
"light" "175"
"origin" "1544 1632 104"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 1624 128"
"light" "175"
}
{
"classname" "item_health"
"origin" "1068 -980 -104"
}
{
"spawnflags" "1"
"classname" "item_shells"
"origin" "1344 -1160 -96"
}
{
"classname" "monster_ogre"
"origin" "1008 -128 40"
"angle" "315"
"targetname" "t59"
"spawnflags" "1"
}
{
"classname" "trigger_once"
"target" "t59"
"model" "*47"
}
{
"classname" "monster_ogre"
"origin" "896 96 56"
"angle" "270"
"target" "t60"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "896 208 40"
"target" "t60"
"targetname" "t61"
}
{
"origin" "896 -16 40"
"classname" "path_corner"
"targetname" "t60"
"target" "t61"
}
{
"classname" "path_corner"
"origin" "168 392 -56"
"target" "t62"
"targetname" "t63"
}
{
"origin" "168 -16 -56"
"classname" "path_corner"
"targetname" "t62"
"target" "t63"
}
{
"classname" "path_corner"
"origin" "88 344 -56"
"targetname" "t64"
"target" "t65"
"spawnflags" "256"
}
{
"origin" "88 72 -56"
"classname" "path_corner"
"target" "t64"
"targetname" "t65"
"spawnflags" "256"
}
{
"classname" "monster_hell_knight"
"origin" "88 224 -40"
"angle" "90"
"target" "t64"
"spawnflags" "257"
}
{
"classname" "monster_hell_knight"
"origin" "168 232 -40"
"angle" "270"
"target" "t62"
"spawnflags" "1"
}
{
"classname" "monster_zombie"
"origin" "544 -120 -208"
"angle" "90"
"targetname" "t45"
}
{
"classname" "monster_zombie"
"origin" "544 496 -208"
"angle" "270"
"targetname" "t45"
}
{
"classname" "monster_wizard"
"origin" "664 428 216"
"angle" "225"
"spawnflags" "1"
}
{
"angle" "135"
"origin" "664 -56 216"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"classname" "light"
"origin" "1736 88 -40"
"light" "100"
}
{
"classname" "monster_ogre"
"origin" "904 -120 56"
"angle" "0"
"targetname" "t66"
"spawnflags" "1281"
}
{
"classname" "trigger_once"
"target" "t66"
"spawnflags" "256"
"model" "*48"
}
{
"classname" "item_health"
"origin" "1168 -408 -80"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1168 -104 -16"
}
{
"classname" "item_spikes"
"origin" "928 216 32"
}
{
"classname" "item_rockets"
"origin" "632 -48 32"
}
{
"classname" "item_health"
"origin" "32 392 -64"
}
{
"light" "200"
"origin" "1688 288 148"
"classname" "light"
}
{
"classname" "light"
"origin" "1688 464 148"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1814 622 -64"
"light" "250"
}
{
"classname" "light"
"origin" "1768 344 -72"
"light" "200"
}
{
"classname" "trigger_monsterjump"
"angle" "0"
"model" "*49"
}
{
"targetname" "t100"
"classname" "monster_ogre"
"origin" "1504 272 24"
"angle" "0"
"spawnflags" "256"
}
{
"targetname" "t68"
"target" "t67"
"origin" "1352 576 -120"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t68"
"targetname" "t67"
"classname" "path_corner"
"origin" "1352 416 -120"
"spawnflags" "256"
}
{
"target" "t68"
"angle" "90"
"origin" "1360 480 -104"
"classname" "monster_demon1"
"spawnflags" "257"
}
{
"targetname" "t70"
"target" "t69"
"origin" "1472 496 -120"
"classname" "path_corner"
}
{
"target" "t70"
"targetname" "t69"
"classname" "path_corner"
"origin" "1688 496 -120"
}
{
"target" "t69"
"angle" "270"
"origin" "1648 544 -104"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t71"
"targetname" "t72"
"origin" "1984 688 -24"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t72"
"targetname" "t71"
"classname" "path_corner"
"origin" "1984 448 -24"
"spawnflags" "256"
}
{
"target" "t71"
"angle" "270"
"origin" "1992 536 -8"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"target" "t74"
"targetname" "t73"
"origin" "2120 680 -24"
"classname" "path_corner"
}
{
"targetname" "t74"
"target" "t73"
"classname" "path_corner"
"origin" "2240 680 -24"
}
{
"target" "t74"
"angle" "225"
"origin" "2256 736 -8"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"targetname" "t78"
"angle" "90"
"origin" "2232 1312 -8"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"target" "t76"
"angle" "90"
"origin" "2232 1008 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"targetname" "t76"
"target" "t75"
"origin" "2120 968 -216"
"classname" "path_corner"
}
{
"target" "t76"
"targetname" "t75"
"classname" "path_corner"
"origin" "2336 968 -216"
}
{
"classname" "light"
"origin" "2384 2400 -152"
"light" "200"
}
{
"targetname" "t77"
"wait" "-1"
"sounds" "1"
"speed" "300"
"angle" "-2"
"classname" "func_door"
"model" "*50"
}
{
"targetname" "t77"
"angle" "180"
"origin" "2512 2312 -200"
"classname" "monster_demon1"
"spawnflags" "256"
}
{
"targetname" "t77"
"classname" "monster_demon1"
"origin" "2512 2160 -200"
"angle" "180"
}
{
"classname" "item_health"
"origin" "2504 2200 -224"
}
{
"light" "150"
"origin" "2536 2312 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "2536 2160 -128"
"light" "150"
}
{
"target" "t77"
"classname" "trigger_once"
"model" "*51"
}
{
"spawnflags" "2"
"origin" "2368 2336 -224"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "2504 2240 -224"
"classname" "item_spikes"
}
{
"origin" "2408 2072 -224"
"classname" "item_shells"
}
{
"target" "t78"
"classname" "trigger_once"
"model" "*52"
}
{
"targetname" "t78"
"angle" "90"
"origin" "2240 1272 -200"
"classname" "monster_demon1"
}
{
"light" "150"
"origin" "1120 1384 -40"
"classname" "light"
}
{
"light" "200"
"origin" "1200 1248 -104"
"classname" "light"
}
{
"light" "250"
"origin" "1288 1032 -4"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "1256 1032 -64"
"classname" "light"
}
{
"classname" "light_flame_small_yellow"
"origin" "568 1032 -4"
"light" "250"
}
{
"classname" "light"
"origin" "600 1032 -64"
"light" "150"
}
{
"light" "250"
"origin" "888 1272 -4"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "888 1240 -64"
"classname" "light"
}
{
"light" "200"
"origin" "608 1232 -108"
"classname" "light"
}
{
"target" "t79"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*53"
}
{
"targetname" "t79"
"message" "This door is opened near by..."
"sounds" "3"
"speed" "35"
"angle" "-1"
"wait" "-1"
"classname" "func_door"
"model" "*54"
}
{
"light" "100"
"origin" "580 1208 -148"
"classname" "light"
}
{
"light" "200"
"origin" "1224 736 -8"
"classname" "light"
}
{
"target" "t80"
"classname" "trigger_once"
"model" "*55"
}
{
"targetname" "t80"
"angle" "315"
"origin" "640 1088 128"
"classname" "monster_wizard"
}
{
"targetname" "t80"
"classname" "monster_wizard"
"origin" "616 720 128"
"angle" "0"
}
{
"targetname" "t80"
"angle" "180"
"origin" "1280 680 128"
"classname" "monster_wizard"
"spawnflags" "256"
}
{
"target" "t82"
"origin" "1248 1080 24"
"classname" "monster_wizard"
"spawnflags" "1"
}
{
"targetname" "t82"
"target" "t81"
"origin" "1168 1064 8"
"classname" "path_corner"
}
{
"target" "t82"
"targetname" "t81"
"classname" "path_corner"
"origin" "720 1064 8"
}
{
"targetname" "t80"
"classname" "monster_wizard"
"origin" "584 1112 128"
"angle" "315"
"spawnflags" "256"
}
{
"origin" "1256 944 -184"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1116 584 -256"
"classname" "item_spikes"
}
{
"targetname" "t79"
"angle" "315"
"origin" "1000 1464 -168"
"classname" "monster_ogre"
}
{
"target" "t85"
"targetname" "t86"
"origin" "1456 1824 -192"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t86"
"targetname" "t85"
"classname" "path_corner"
"origin" "1456 1560 -192"
"spawnflags" "256"
}
{
"target" "t85"
"angle" "270"
"origin" "1456 1664 -176"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"targetname" "t91"
"angle" "270"
"origin" "1560 1944 -320"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"targetname" "t91"
"classname" "monster_zombie"
"origin" "1600 1912 -320"
"angle" "270"
}
{
"angle" "225"
"origin" "1960 1984 -320"
"classname" "monster_zombie"
}
{
"targetname" "t91"
"classname" "monster_zombie"
"origin" "1904 1928 -320"
"angle" "225"
}
{
"targetname" "t91"
"angle" "270"
"origin" "1624 1768 -320"
"classname" "monster_zombie"
}
{
"target" "t87"
"classname" "monster_zombie"
"origin" "1696 1912 -320"
"angle" "0"
}
{
"target" "t89"
"angle" "270"
"origin" "1704 1800 -320"
"classname" "monster_zombie"
}
{
"target" "t87"
"targetname" "t88"
"origin" "1648 1912 -336"
"classname" "path_corner"
}
{
"target" "t88"
"targetname" "t87"
"classname" "path_corner"
"origin" "1848 1904 -336"
}
{
"targetname" "t90"
"target" "t89"
"origin" "1648 1824 -336"
"classname" "path_corner"
}
{
"target" "t90"
"targetname" "t89"
"classname" "path_corner"
"origin" "1768 1752 -336"
}
{
"target" "t91"
"classname" "trigger_once"
"model" "*56"
}
{
"spawnflags" "1"
"origin" "1496 1808 -200"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1184 2176 -192"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1184 2128 -192"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "1264 1680 -192"
"classname" "item_health"
}
{
"target" "t92"
"targetname" "t93"
"origin" "2376 2304 -216"
"classname" "path_corner"
}
{
"target" "t93"
"targetname" "t92"
"classname" "path_corner"
"origin" "2376 1984 -216"
}
{
"target" "t95"
"targetname" "t94"
"origin" "2144 1608 -216"
"classname" "path_corner"
}
{
"target" "t94"
"targetname" "t95"
"classname" "path_corner"
"origin" "2376 1608 -216"
}
{
"target" "t92"
"angle" "270"
"origin" "2376 2176 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "135"
"origin" "2416 1760 -200"
"classname" "monster_hell_knight"
"spawnflags" "257"
}
{
"target" "t94"
"angle" "180"
"origin" "2320 1608 -200"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "90"
"origin" "2152 1840 -200"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"target" "t97"
"targetname" "t96"
"origin" "2096 2376 -216"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t96"
"targetname" "t97"
"classname" "path_corner"
"origin" "2232 2208 -216"
"spawnflags" "256"
}
{
"target" "t96"
"angle" "135"
"origin" "2200 2264 -200"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"origin" "2104 1544 -224"
"classname" "item_shells"
}
{
"origin" "2176 1240 -32"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "2256 1240 -32"
}
{
"origin" "1928 584 -32"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "2040 1072 -32"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "2040 1024 -32"
"spawnflags" "1"
}
{
"angle" "225"
"origin" "2352 1160 -200"
"classname" "monster_hell_knight"
"spawnflags" "256"
}
{
"angle" "180"
"origin" "1864 1192 -216"
"classname" "monster_zombie"
}
{
"classname" "monster_zombie"
"origin" "1776 1192 -216"
"angle" "180"
}
{
"target" "t99"
"targetname" "t98"
"origin" "1688 1192 -232"
"classname" "path_corner"
}
{
"target" "t98"
"targetname" "t99"
"classname" "path_corner"
"origin" "1688 1048 -232"
}
{
"target" "t98"
"angle" "90"
"origin" "1688 1112 -216"
"classname" "monster_zombie"
}
{
"origin" "536 416 32"
"classname" "item_shells"
}
{
"target" "t100"
"classname" "trigger_once"
"spawnflags" "256"
"model" "*57"
}
{
"origin" "1784 408 -128"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1784 448 -128"
}
{
"origin" "1736 728 -128"
"classname" "item_rockets"
}
{
"target" "t101"
"sounds" "1"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*58"
}
{
"light" "250"
"origin" "1418 234 52"
"classname" "light_torch_small_walltorch"
}
{
"targetname" "t101"
"classname" "trigger_secret"
"model" "*59"
}
{
"targetname" "t102"
"angle" "180"
"classname" "trigger_monsterjump"
"model" "*60"
}
{
"target" "t102"
"killtarget" "t102"
"classname" "trigger_once"
"model" "*61"
}
{
"origin" "1568 1968 -352"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1608 1968 -352"
}
{
"origin" "2112 1776 -352"
"classname" "item_shells"
"spawnflags" "2048"
}
{
"origin" "1920 2232 -352"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "2008 2232 -352"
}
{
"classname" "item_shells"
"origin" "2176 1440 -224"
}
{
"target" "t66"
"classname" "trigger_once"
"model" "*62"
}
{
"origin" "1744 0 -128"
"classname" "item_spikes"
"spawnflags" "1"
}
{
"target" "t103"
"targetname" "t104"
"origin" "-56 1432 -224"
"classname" "path_corner"
"spawnflags" "256"
}
{
"target" "t104"
"targetname" "t103"
"classname" "path_corner"
"origin" "312 1432 -224"
"spawnflags" "256"
}
{
"target" "t103"
"origin" "40 1440 -208"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"angle" "45"
"origin" "56 1616 -208"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"target" "t105"
"targetname" "t106"
"origin" "520 1816 -232"
"classname" "path_corner"
}
{
"target" "t106"
"targetname" "t105"
"classname" "path_corner"
"origin" "920 1816 -232"
}
{
"target" "t105"
"origin" "624 1800 -216"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"angle" "0"
"origin" "480 1824 64"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"targetname" "t107"
"classname" "monster_wizard"
"origin" "656 1816 64"
"angle" "0"
"spawnflags" "1"
}
{
"targetname" "t107"
"angle" "0"
"origin" "840 1816 64"
"classname" "monster_wizard"
"spawnflags" "257"
}
{
"target" "t107"
"classname" "trigger_once"
"model" "*63"
}
{
"origin" "1440 2200 -192"
"classname" "item_shells"
}
{
"classname" "item_shells"
"origin" "1440 2160 -192"
}
{
"spawnflags" "1"
"origin" "1184 1976 -192"
"classname" "item_spikes"
}
{
"target" "t109"
"targetname" "t108"
"origin" "1240 2000 -184"
"classname" "path_corner"
}
{
"target" "t108"
"targetname" "t109"
"classname" "path_corner"
"origin" "1240 1760 -184"
}
{
"target" "t108"
"angle" "90"
"origin" "1240 1904 -168"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t110"
"classname" "trigger_once"
"spawnflags" "256"
"model" "*64"
}
{
"targetname" "t110"
"angle" "45"
"origin" "1216 2088 -168"
"classname" "monster_ogre"
"spawnflags" "1281"
}
{
"classname" "item_health"
"origin" "1496 1768 -200"
}
{
"target" "t111"
"classname" "trigger_once"
"model" "*65"
}
{
"targetname" "t111"
"angle" "315"
"origin" "764 -60 -208"
"classname" "monster_zombie"
}
{
"targetname" "t111"
"angle" "45"
"origin" "764 436 -208"
"classname" "monster_zombie"
}
{
"targetname" "t111"
"angle" "225"
"origin" "284 -56 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"targetname" "t119"
"wait" "-1"
"speed" "40"
"angle" "90"
"classname" "func_door"
"model" "*66"
}
{
"origin" "1280 592 -128"
"classname" "item_shells"
}
{
"classname" "item_shells"
"origin" "576 416 32"
}
{
"classname" "item_spikes"
"origin" "904 504 -128"
"spawnflags" "1"
}
{
"origin" "904 464 -128"
"classname" "item_spikes"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1024 912 -152"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "720 848 -184"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "1224 1192 -176"
"targetname" "t112"
"target" "t113"
}
{
"origin" "1216 896 -176"
"classname" "path_corner"
"targetname" "t113"
"target" "t112"
}
{
"classname" "monster_ogre"
"origin" "1224 992 -160"
"angle" "90"
"target" "t112"
}
{
"classname" "item_shells"
"origin" "968 1600 -184"
}
{
"classname" "item_artifact_super_damage"
"origin" "1444 308 -104"
}
{
"classname" "light"
"origin" "992 -128 72"
"light" "100"
}
{
"classname" "item_shells"
"origin" "1672 1008 -240"
}
{
"classname" "item_health"
"origin" "2264 1320 -224"
}
{
"classname" "monster_wizard"
"origin" "2120 1664 -72"
"angle" "315"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "2016 392 -32"
}
{
"classname" "monster_hell_knight"
"origin" "360 1744 -208"
"angle" "90"
"targetname" "t114"
"spawnflags" "257"
}
{
"classname" "trigger_once"
"target" "t114"
"spawnflags" "256"
"model" "*67"
}
{
"classname" "item_health"
"origin" "352 1464 -232"
}
{
"spawnflags" "1"
"origin" "352 1392 -232"
"classname" "item_health"
}
{
"classname" "item_armorInv"
"origin" "744 1424 -448"
}
{
"classname" "item_health"
"origin" "-56 320 -232"
}
{
"origin" "-16 320 -232"
"classname" "item_health"
}
{
"targetname" "t117"
"classname" "trigger_teleport"
"target" "t115"
"spawnflags" "2"
"model" "*68"
}
{
"delay" ".5"
"targetname" "t117"
"classname" "trigger_teleport"
"target" "t116"
"spawnflags" "2"
"model" "*69"
}
{
"classname" "monster_wizard"
"origin" "2928 1816 -152"
"angle" "180"
"targetname" "t117"
}
{
"angle" "180"
"origin" "2928 1768 -152"
"classname" "monster_wizard"
"targetname" "t117"
}
{
"classname" "info_teleport_destination"
"origin" "1824 1920 -184"
"angle" "225"
"targetname" "t115"
}
{
"classname" "info_teleport_destination"
"origin" "1880 1544 -184"
"angle" "180"
"targetname" "t116"
}
{
"classname" "trigger_once"
"target" "t117"
"model" "*70"
}
{
"classname" "monster_zombie"
"origin" "764 388 -208"
"angle" "0"
"targetname" "t111"
}
{
"angle" "0"
"origin" "764 -12 -208"
"classname" "monster_zombie"
"targetname" "t111"
}
{
"classname" "monster_zombie"
"origin" "408 -56 -208"
"angle" "270"
"targetname" "t111"
}
{
"classname" "light"
"origin" "1200 672 -240"
"light" "125"
}
{
"classname" "item_spikes"
"origin" "72 392 -64"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "2368 920 -224"
}
{
"origin" "2032 976 -224"
"classname" "item_spikes"
}
{
"classname" "light"
"origin" "1416 2096 -112"
"light" "150"
}
{
"light" "150"
"origin" "1240 2096 -112"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "464 1824 -240"
}
{
"origin" "504 1824 -240"
"classname" "item_spikes"
}
{
"classname" "item_shells"
"origin" "-96 1472 -232"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "528 -172 -232"
}
{
"classname" "item_health"
"origin" "40 -64 -64"
}
{
"light" "225"
"classname" "light_torch_small_walltorch"
"origin" "122 -86 -8"
}
{
"origin" "134 462 -8"
"classname" "light_torch_small_walltorch"
"light" "225"
}
{
"light" "250"
"origin" "678 446 92"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "678 -70 92"
"light" "250"
}
{
"light" "150"
"origin" "120 -56 -16"
"classname" "light"
}
{
"classname" "light"
"origin" "136 424 -16"
"light" "150"
}
{
"light" "150"
"origin" "600 184 296"
"classname" "light"
}
{
"classname" "light"
"origin" "152 184 296"
"light" "150"
}
{
"light" "150"
"origin" "368 376 296"
"classname" "light"
}
{
"classname" "light"
"origin" "368 0 296"
"light" "150"
}
{
"light" "150"
"origin" "352 192 232"
"classname" "light"
}
{
"light" "200"
"origin" "64 408 168"
"classname" "light"
}
{
"classname" "light"
"origin" "56 -48 168"
"light" "200"
}
{
"light" "125"
"origin" "1520 1880 24"
"classname" "light"
}
{
"origin" "272 272 -232"
"classname" "item_rockets"
}
{
"targetname" "t45"
"classname" "func_door"
"angle" "-2"
"sounds" "1"
"wait" "-1"
"model" "*71"
}
{
"classname" "light"
"origin" "416 -152 -152"
"light" "125"
}
{
"targetname" "t45"
"angle" "90"
"origin" "416 -120 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"origin" "400 524 -232"
"classname" "item_health"
}
{
"light" "125"
"origin" "416 536 -152"
"classname" "light"
}
{
"targetname" "t45"
"wait" "-1"
"sounds" "1"
"angle" "-2"
"classname" "func_door"
"model" "*72"
}
{
"targetname" "t45"
"angle" "270"
"origin" "416 496 -208"
"classname" "monster_zombie"
"spawnflags" "256"
}
{
"target" "t120"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*73"
}
{
"target" "t120"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*74"
}
{
"targetname" "t120"
"target" "t119"
"classname" "trigger_counter"
"model" "*75"
}
{
"light" "125"
"origin" "1792 840 -112"
"classname" "light"
}
{
"classname" "light"
"origin" "1584 840 -112"
"light" "125"
}
{
"light" "125"
"origin" "1792 2280 -480"
"classname" "light"
}
{
"classname" "light"
"origin" "1792 2144 -480"
"light" "125"
}
{
"origin" "1776 2232 -508"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1776 2192 -508"
}
{
"light" "150"
"origin" "1016 1696 -336"
"classname" "light"
}
{
"light" "125"
"origin" "1080 1696 -280"
"classname" "light"
}
{
"light" "125"
"origin" "1152 1696 -200"
"classname" "light"
}
{
"light" "150"
"origin" "1096 1696 -352"
"classname" "light"
}
{
"classname" "trigger_secret"
"model" "*76"
}
{
"target" "t116"
"classname" "trigger_teleport"
"model" "*77"
}
{
"spawnflags" "768"
"angle" "315"
"origin" "1400 1856 -176"
"classname" "monster_ogre"
}
{
"target" "t121"
"targetname" "t122"
"spawnflags" "768"
"origin" "1824 2280 -344"
"classname" "path_corner"
}
{
"target" "t122"
"targetname" "t121"
"spawnflags" "768"
"classname" "path_corner"
"origin" "2080 2280 -344"
}
{
"target" "t121"
"spawnflags" "769"
"angle" "180"
"origin" "2128 2272 -328"
"classname" "monster_demon1"
}
{
"spawnflags" "2816"
"origin" "1824 2072 -352"
"classname" "item_shells"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "1792 2176 -144"
"classname" "monster_wizard"
}
{
"spawnflags" "769"
"angle" "180"
"origin" "2600 1640 -200"
"classname" "monster_hell_knight"
}
{
"spawnflags" "2816"
"origin" "2096 1136 -32"
"classname" "item_shells"
}
{
"classname" "monster_wizard"
"origin" "1872 1432 -72"
"angle" "90"
"spawnflags" "769"
}
{
"classname" "monster_hell_knight"
"origin" "2400 1032 -8"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "monster_demon1"
"origin" "1000 496 -104"
"angle" "0"
"spawnflags" "768"
}
{
"classname" "monster_demon1"
"origin" "1240 2088 -168"
"angle" "45"
"spawnflags" "769"
"targetname" "t110"
}
{
"classname" "monster_hell_knight"
"origin" "360 1936 -208"
"angle" "270"
"spawnflags" "769"
"targetname" "t114"
}
{
"classname" "item_shells"
"origin" "16 1768 -232"
"spawnflags" "2560"
}
{
"spawnflags" "2560"
"origin" "344 1576 -232"
"classname" "item_shells"
}
{
"classname" "trigger_changelevel"
"map" "e2m4"
"model" "*78"
}
{
"classname" "light"
"origin" "1136 -1144 264"
"light" "250"
}
{
"light" "250"
"origin" "1264 -552 44"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "1008 -552 44"
"light" "250"
}
{
"classname" "monster_demon1"
"origin" "888 -120 56"
"angle" "0"
"spawnflags" "769"
"targetname" "t66"
}
{
"classname" "monster_hell_knight"
"origin" "616 184 56"
"angle" "0"
"spawnflags" "768"
}
{
"classname" "item_spikes"
"origin" "880 216 32"
"spawnflags" "2816"
}
{
"classname" "monster_hell_knight"
"origin" "1944 728 -8"
"angle" "0"
"spawnflags" "769"
}
{
"classname" "light"
"origin" "-48 1184 -156"
"light" "200"
"style" "10"
}
{
"style" "10"
"light" "200"
"origin" "0 1024 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "48 800 -120"
"light" "200"
"style" "10"
}
{
"style" "10"
"light" "200"
"origin" "0 600 -120"
"classname" "light"
}
{
"classname" "monster_hell_knight"
"origin" "128 1088 -208"
"angle" "225"
"spawnflags" "1"
}
{
"angle" "315"
"origin" "-104 760 -208"
"classname" "monster_hell_knight"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "-56 592 -232"
}
{
"classname" "item_health"
"origin" "-56 920 -232"
}
{
"classname" "monster_demon1"
"origin" "0 544 -208"
"angle" "90"
"target" "t123"
"spawnflags" "769"
}
{
"mangle" "20 315 0"
"origin" "1568 2040 -88"
"classname" "info_intermission"
}
{
"classname" "item_shells"
"origin" "1528 1968 -352"
"spawnflags" "3584"
}
{
"origin" "-88 1376 -232"
"classname" "item_health"
"spawnflags" "3585"
}
{
"classname" "item_artifact_envirosuit"
"origin" "1216 1696 -168"
"spawnflags" "3584"
}
{
"classname" "monster_demon1"
"origin" "144 372 -208"
"angle" "180"
"spawnflags" "768"
"targetname" "t123"
}
{
"classname" "monster_demon1"
"origin" "0 528 -208"
"angle" "90"
"spawnflags" "1025"
}
{
"classname" "info_player_deathmatch"
"origin" "1128 -840 -80"
"angle" "90"
}
{
"classname" "info_player_deathmatch"
"origin" "656 184 -208"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "-24 1440 -208"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "1240 1816 -168"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "1032 1568 -168"
"angle" "0"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*79"
}
{
"classname" "weapon_rocketlauncher"
"origin" "184 1440 -232"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "1424 608 -104"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "2272 680 -8"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "2240 1472 -200"
"angle" "270"
}
{
"classname" "weapon_supernailgun"
"origin" "2236 1184 -32"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "2424 1824 -200"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "1792 2072 -328"
"angle" "270"
}
{
"classname" "weapon_supershotgun"
"origin" "1488 1584 -200"
"spawnflags" "1792"
}
{
"classname" "weapon_grenadelauncher"
"origin" "88 184 -64"
"spawnflags" "1792"
}
{
"classname" "info_player_deathmatch"
"origin" "1224 840 -168"
"angle" "90"
}
{
"classname" "weapon_nailgun"
"origin" "1024 872 -152"
"spawnflags" "1792"
}
{
"classname" "weapon_supershotgun"
"origin" "136 1760 -232"
"spawnflags" "1792"
}
{
"classname" "weapon_nailgun"
"origin" "1976 2288 -352"
"spawnflags" "1792"
}
{
"classname" "weapon_lightning"
"origin" "2128 1792 -352"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "1608 728 -128"
"spawnflags" "1792"
}
{
"spawnflags" "1792"
"classname" "item_cells"
"origin" "72 1032 -232"
}
{
"classname" "item_cells"
"origin" "1008 1328 -192"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "1304 -1160 -96"
"spawnflags" "1792"
}
{
"origin" "2272 1440 -224"
"classname" "item_shells"
"spawnflags" "2816"
}
{
"origin" "224 1736 -232"
"classname" "item_health"
}
{
"classname" "info_intermission"
"origin" "1328 -1168 192"
"mangle" "20 120 0"
}
{
"classname" "info_intermission"
"origin" "1248 680 8"
"mangle" "20 130 0"
}
{
"classname" "info_intermission"
"origin" "1280 1824 -104"
"mangle" "10 180 0"
}
{
"classname" "light"
"origin" "-304 888 -80"
"light" "150"
}
{
"light" "150"
"origin" "-304 712 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-224 872 -8"
"light" "125"
}
{
"classname" "light"
"origin" "-224 728 -8"
"light" "125"
}
{
"light" "150"
"origin" "-178 706 -156"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light"
"origin" "-320 838 -138"
"light" "100"
}
{
"light" "100"
"origin" "-320 774 -138"
"classname" "light"
}
{
"classname" "info_player_coop"
"origin" "1192 -1088 -72"
"angle" "90"
}
{
"angle" "90"
"origin" "1080 -1088 -72"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "1008 -1112 -72"
"angle" "90"
}
{
"angle" "90"
"origin" "1264 -1112 -72"
"classname" "info_player_coop"
}
{
"classname" "item_armor1"
"origin" "784 1816 -232"
}
{
"classname" "item_spikes"
"origin" "-56 1472 -232"
"spawnflags" "1"
}
{
"classname" "item_rockets"
"origin" "400 -172 -232"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*80"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*81"
}
{
"classname" "path_corner"
"origin" "1954 1770 -96"
"targetname" "t124"
"target" "t125"
}
{
"classname" "path_corner"
"origin" "1954 1770 -320"
"targetname" "t125"
"target" "t124"
}
{
"classname" "weapon_grenadelauncher"
"origin" "1688 720 -128"
"spawnflags" "2048"
}
{
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"targetname" "t126"
"lip" "-8"
"model" "*82"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"model" "*83"
}
{
"classname" "light"
"origin" "-224 832 -152"
"light" "125"
}
{
"classname" "trigger_counter"
"target" "t126"
"targetname" "t127"
"spawnflags" "1"
"count" "7"
"model" "*84"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*85"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*86"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*87"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*88"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*89"
}
{
"health" "1"
"classname" "trigger_once"
"target" "t127"
"model" "*90"
}
{
"classname" "trigger_once"
"health" "1"
"target" "t127"
"model" "*91"
}
{
"classname" "ambient_swamp1"
"origin" "1338 -854 -104"
}
{
"classname" "ambient_swamp2"
"origin" "938 -854 -104"
}
{
"classname" "ambient_drip"
"origin" "1138 -854 -176"
}
{
"classname" "ambient_drip"
"origin" "1650 -862 -192"
}
{
"classname" "ambient_drip"
"origin" "1674 -438 -192"
}
{
"classname" "ambient_drip"
"origin" "1682 2 -48"
}
{
"classname" "ambient_swamp1"
"origin" "1674 1986 -280"
}
{
"classname" "ambient_swamp2"
"origin" "1826 2378 -280"
}
{
"classname" "ambient_swamp1"
"origin" "2258 2058 -280"
}
{
"classname" "ambient_drip"
"origin" "746 1370 -376"
}
{
"classname" "ambient_drip"
"origin" "762 906 -240"
}
{
"origin" "1034 722 -240"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "554 1818 -352"
}
{
"origin" "1002 1810 -352"
"classname" "ambient_drip"
}
{
"speed" "35"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"sounds" "1"
"targetname" "t101"
"model" "*92"
}
{
"classname" "light"
"origin" "1440 296 -80"
"light" "125"
}
{
"origin" "1792 792 -240"
"classname" "item_spikes"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e2m3.ent.orig 0000644 0000000 0000000 00000113446 12403131422 020002 0 ustar root root {
"classname" "worldspawn"
"wad" "gfx/jr_med.wad"
"worldtype" "0"
"sounds" "9"
"message" "the Crypt of Decay"
}
{
"classname" "light"
"origin" "192 -648 128"
}
{
"classname" "info_player_start"
"origin" "688 -1600 -312"
"angle" "180"
}
{
"classname" "light_flame_large_yellow"
"origin" "650 -438 4"
}
{
"origin" "386 -438 4"
"classname" "light_flame_large_yellow"
}
{
"origin" "66 -886 4"
"classname" "light_flame_large_yellow"
}
{
"origin" "322 -886 4"
"classname" "light_flame_large_yellow"
}
{
"light" "250"
"origin" "192 -1408 288"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "192 -1088 288"
}
{
"light" "250"
"origin" "112 -1248 272"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "272 -1248 272"
}
{
"light" "200"
"origin" "192 -1056 32"
"classname" "light"
}
{
"light" "150"
"origin" "192 -1248 24"
"classname" "light"
}
{
"origin" "194 -1462 108"
"classname" "light_flame_large_yellow"
}
{
"origin" "194 -1030 164"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "192 -1440 32"
"classname" "light"
}
{
"sounds" "2"
"classname" "func_plat"
"spawnflags" "1"
"model" "*1"
}
{
"origin" "226 -1670 -212"
"classname" "light_flame_large_yellow"
}
{
"light" "150"
"origin" "88 -1552 -184"
"classname" "light"
}
{
"origin" "-22 -1374 -212"
"classname" "light_flame_large_yellow"
}
{
"light" "150"
"origin" "328 -1256 -184"
"classname" "light"
}
{
"light" "150"
"classname" "light"
"origin" "56 -1256 -184"
}
{
"classname" "light"
"origin" "248 -1480 -184"
"light" "150"
}
{
"light" "250"
"origin" "552 -1608 -72"
"classname" "light"
}
{
"light" "150"
"origin" "432 -1656 -224"
"classname" "light"
}
{
"light" "150"
"origin" "432 -1496 -224"
"classname" "light"
}
{
"light" "100"
"origin" "192 -1248 -40"
"classname" "light"
}
{
"origin" "10 -438 4"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-254 -438 4"
}
{
"light" "150"
"origin" "192 -704 -136"
"classname" "light"
}
{
"light" "250"
"origin" "192 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "416 -512 -136"
"light" "150"
}
{
"light" "150"
"origin" "-32 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "-208 -512 -136"
"light" "150"
}
{
"light" "150"
"origin" "592 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "192 -840 -136"
"light" "150"
}
{
"light" "150"
"origin" "-352 -672 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 -832 -168"
"light" "150"
}
{
"light" "150"
"origin" "-320 -512 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "696 -512 -168"
"light" "150"
}
{
"light" "150"
"origin" "736 -672 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "704 -832 -168"
"light" "150"
}
{
"light" "150"
"origin" "512 -864 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 -864 -168"
"light" "150"
}
{
"light" "200"
"origin" "-128 -320 8"
"classname" "light"
}
{
"classname" "light"
"origin" "512 -320 8"
"light" "200"
}
{
"origin" "384 -24 32"
"classname" "light"
}
{
"classname" "light"
"origin" "0 -24 32"
}
{
"light" "200"
"origin" "416 -192 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "-32 -192 -8"
"light" "200"
}
{
"light" "200"
"origin" "840 48 72"
"classname" "light"
}
{
"light" "150"
"origin" "576 -24 -56"
"classname" "light"
}
{
"light" "200"
"origin" "624 -24 72"
"classname" "light"
}
{
"origin" "1002 354 -60"
"classname" "light_flame_large_yellow"
}
{
"light" "100"
"origin" "1000 352 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "736 8 72"
"light" "200"
}
{
"light" "200"
"origin" "936 88 72"
"classname" "light"
}
{
"light" "150"
"origin" "688 -8 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "784 24 -104"
"light" "150"
}
{
"light" "150"
"origin" "888 72 -32"
"classname" "light"
}
{
"light" "200"
"origin" "872 208 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "872 400 -56"
"light" "200"
}
{
"light" "200"
"origin" "872 592 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "744 568 88"
"light" "150"
}
{
"light" "150"
"origin" "744 648 88"
"classname" "light"
}
{
"classname" "light"
"origin" "704 608 -80"
"light" "150"
}
{
"origin" "866 730 -60"
"classname" "light_flame_large_yellow"
}
{
"classname" "light"
"origin" "864 728 -128"
"light" "100"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t8"
"spawnflags" "2049"
"angle" "0"
"classname" "func_door"
"model" "*2"
}
{
"spawnflags" "2048"
"angle" "90"
"target" "t8"
"classname" "func_button"
"wait" "-1"
"model" "*3"
}
{
"origin" "520 608 -64"
"classname" "light"
}
{
"light" "400"
"origin" "192 608 -24"
"classname" "light"
}
{
"sounds" "1"
"wait" "-1"
"angle" "270"
"spawnflags" "2058"
"classname" "func_door_secret"
"targetname" "t9"
"model" "*4"
}
{
"light" "150"
"origin" "1064 640 -112"
"classname" "light"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1024 640 -152"
"classname" "monster_zombie"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1120 672 -152"
"classname" "monster_zombie"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1088 600 -152"
"classname" "monster_zombie"
}
{
"origin" "976 336 -176"
"classname" "item_health"
}
{
"light" "150"
"origin" "192 608 -104"
"classname" "light"
}
{
"origin" "192 288 -64"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "66 106 4"
"light" "200"
}
{
"light" "200"
"origin" "-30 106 4"
"classname" "light_flame_large_yellow"
}
{
"classname" "light"
"origin" "504 120 -248"
"light" "200"
}
{
"light" "200"
"origin" "704 224 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "704 472 -248"
"light" "200"
}
{
"light" "200"
"origin" "304 112 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "80 112 -248"
"light" "200"
}
{
"light" "200"
"origin" "720 608 -248"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "1"
"wait" "-1"
"targetname" "t3"
"classname" "func_door"
"angle" "90"
"model" "*5"
}
{
"spawnflags" "2048"
"wait" "-1"
"angle" "270"
"classname" "func_door"
"message" "This door opens nearby..."
"model" "*6"
}
{
"spawnflags" "2048"
"target" "t3"
"wait" "-1"
"classname" "func_button"
"angle" "180"
"model" "*7"
}
{
"light" "250"
"origin" "-448 184 0"
"classname" "light"
}
{
"light" "150"
"origin" "-552 280 -224"
"classname" "light"
}
{
"classname" "light"
"origin" "-392 280 -224"
"light" "150"
}
{
"light" "150"
"origin" "-416 -32 104"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 -32 104"
"light" "150"
}
{
"light" "150"
"origin" "-224 -32 104"
"classname" "light"
}
{
"light" "250"
"origin" "-352 -32 -32"
"classname" "light"
}
{
"light" "200"
"origin" "-1160 88 -248"
"classname" "light"
}
{
"light" "200"
"origin" "-1048 88 -32"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-1160 224 -32"
}
{
"origin" "-742 658 -44"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-926 658 -44"
}
{
"light" "200"
"origin" "-736 632 -96"
"classname" "light"
}
{
"classname" "light"
"origin" "-928 632 -96"
"light" "200"
}
{
"light" "150"
"origin" "-600 104 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-696 424 -248"
"light" "150"
}
{
"light" "150"
"origin" "-1152 408 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-944 432 -248"
"light" "150"
}
{
"light" "150"
"origin" "-856 64 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-160 152 -248"
"light" "150"
}
{
"light" "150"
"origin" "-160 448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 464 -248"
"light" "150"
}
{
"light" "150"
"origin" "-256 176 -248"
"classname" "light"
}
{
"origin" "-574 410 -172"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-470 410 -172"
}
{
"target" "t4"
"classname" "trigger_teleport"
"model" "*8"
}
{
"light" "200"
"style" "2"
"origin" "-760 576 -216"
"classname" "light"
}
{
"targetname" "t4"
"angle" "180"
"origin" "120 -32 -112"
"classname" "info_teleport_destination"
}
{
"light" "200"
"origin" "-264 384 112"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 288 112"
"light" "200"
}
{
"light" "200"
"origin" "-264 192 112"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 480 112"
"light" "200"
}
{
"light" "250"
"origin" "-264 304 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "-520 424 0"
"light" "250"
}
{
"light" "200"
"origin" "-1120 608 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-1024 584 72"
"light" "200"
}
{
"light" "200"
"origin" "-928 584 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-832 584 72"
"light" "200"
}
{
"light" "200"
"origin" "-544 584 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-640 584 72"
"light" "200"
}
{
"light" "150"
"origin" "-480 768 56"
"classname" "light"
}
{
"classname" "light"
"origin" "-384 768 56"
"light" "150"
}
{
"classname" "light"
"origin" "-712 120 -32"
"light" "200"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t5"
"spawnflags" "2049"
"angle" "180"
"classname" "func_door"
"model" "*9"
}
{
"spawnflags" "2048"
"angle" "270"
"target" "t5"
"wait" "-1"
"classname" "func_button"
"model" "*10"
}
{
"style" "32"
"targetname" "t5"
"light" "200"
"origin" "-352 552 -56"
"classname" "light"
}
{
"light" "150"
"origin" "-432 768 -56"
"classname" "light"
}
{
"light" "150"
"origin" "-520 680 -56"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "3"
"targetname" "t5"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*11"
}
{
"sounds" "3"
"targetname" "t5"
"spawnflags" "2049"
"wait" "-1"
"angle" "90"
"classname" "func_door"
"model" "*12"
}
{
"origin" "-72 848 -56"
"classname" "light"
}
{
"origin" "-120 600 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "192 904 -8"
}
{
"light" "200"
"origin" "192 888 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-104 600 -248"
"light" "200"
}
{
"light" "200"
"origin" "376 984 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "504 760 -120"
"light" "200"
}
{
"light" "200"
"origin" "-32 608 200"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "3"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*13"
}
{
"origin" "-16 1456 16"
"classname" "light"
}
{
"light" "200"
"origin" "384 1248 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "384 1440 -56"
"light" "200"
}
{
"light" "150"
"origin" "256 1440 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1248 -56"
"light" "200"
}
{
"light" "200"
"origin" "384 1344 -88"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1152 -88"
"light" "200"
}
{
"classname" "light"
"origin" "8 1456 -120"
"light" "200"
}
{
"spawnflags" "2048"
"sounds" "1"
"classname" "item_key2"
"origin" "-16 1456 -152"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"model" "*14"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"model" "*15"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"spawnflags" "2048"
"model" "*16"
}
{
"classname" "trigger_once"
"target" "t6"
"model" "*17"
}
{
"classname" "light"
"origin" "-192 1456 -136"
"light" "80"
}
{
"classname" "light"
"origin" "-16 1280 -136"
"light" "80"
}
{
"spawnflags" "768"
"classname" "monster_hell_knight"
"origin" "-16 1280 -168"
"angle" "90"
"targetname" "t6"
}
{
"spawnflags" "256"
"angle" "270"
"origin" "-16 1632 -168"
"classname" "monster_hell_knight"
"targetname" "t6"
}
{
"classname" "monster_hell_knight"
"origin" "-192 1456 -168"
"angle" "0"
"targetname" "t6"
}
{
"classname" "light"
"origin" "152 1440 -56"
"light" "150"
}
{
"classname" "item_shells"
"origin" "-104 1512 -192"
"spawnflags" "1"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "0"
"spawnflags" "2056"
"model" "*18"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "180"
"spawnflags" "2056"
"model" "*19"
}
{
"classname" "light"
"origin" "-1120 832 -48"
"light" "250"
}
{
"classname" "light"
"origin" "-1120 976 -24"
"light" "250"
}
{
"classname" "light"
"origin" "-1240 1296 216"
"light" "200"
}
{
"light" "200"
"origin" "-1240 1416 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-1240 1176 216"
"light" "200"
}
{
"classname" "light"
"origin" "-712 1416 216"
"light" "200"
}
{
"light" "200"
"origin" "-712 1296 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-712 1176 216"
"light" "200"
}
{
"light" "200"
"origin" "-856 1296 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-1096 1296 216"
"light" "200"
}
{
"light" "200"
"origin" "-976 1296 216"
"classname" "light"
}
{
"classname" "light_flame_small_white"
"origin" "-1318 1514 -8"
}
{
"origin" "-1318 1514 64"
"classname" "light_flame_small_white"
}
{
"classname" "light_flame_small_white"
"origin" "-1318 1514 144"
}
{
"origin" "-634 1078 -8"
"classname" "light_flame_small_white"
}
{
"classname" "light_flame_small_white"
"origin" "-634 1078 64"
}
{
"origin" "-634 1078 144"
"classname" "light_flame_small_white"
}
{
"classname" "func_plat"
"spawnflags" "1"
"model" "*20"
}
{
"classname" "light"
"origin" "-320 1536 184"
"light" "250"
}
{
"classname" "light"
"origin" "-376 1312 120"
"light" "250"
}
{
"classname" "light"
"origin" "-16 1536 184"
"light" "200"
}
{
"light" "200"
"origin" "-560 1312 56"
"classname" "light"
}
{
"classname" "light"
"origin" "24 1120 216"
"light" "150"
}
{
"classname" "light"
"origin" "192 608 176"
"light" "200"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "90"
"spawnflags" "2049"
"targetname" "t7"
"sounds" "1"
"model" "*21"
}
{
"light" "150"
"origin" "400 1104 224"
"classname" "light"
}
{
"light" "150"
"origin" "-200 1056 224"
"classname" "light"
}
{
"light" "200"
"origin" "192 960 224"
"classname" "light"
}
{
"light" "200"
"origin" "192 784 224"
"classname" "light"
}
{
"classname" "light"
"origin" "672 264 184"
"light" "200"
}
{
"light" "200"
"origin" "384 184 184"
"classname" "light"
}
{
"classname" "light"
"origin" "512 256 8"
"light" "200"
}
{
"classname" "light"
"origin" "8 184 200"
"light" "200"
}
{
"classname" "light"
"origin" "584 744 200"
"light" "200"
}
{
"classname" "light"
"origin" "0 432 200"
"light" "200"
}
{
"classname" "trigger_once"
"targetname" "t8"
"target" "t9"
"delay" "10"
"model" "*22"
}
{
"classname" "light"
"origin" "192 -72 216"
"light" "250"
}
{
"classname" "light"
"origin" "360 -168 360"
"light" "200"
}
{
"classname" "light"
"origin" "296 -168 360"
"light" "200"
}
{
"origin" "472 -168 368"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "408 -168 360"
}
{
"classname" "light"
"origin" "384 -168 248"
"light" "200"
}
{
"classname" "light"
"origin" "936 -304 328"
"light" "200"
}
{
"light" "200"
"origin" "1000 -232 360"
"classname" "light"
}
{
"classname" "light"
"origin" "864 -232 360"
"light" "200"
}
{
"light" "200"
"origin" "864 -368 360"
"classname" "light"
}
{
"classname" "light"
"origin" "1000 -368 360"
"light" "200"
}
{
"classname" "light"
"origin" "736 -248 280"
"light" "200"
}
{
"light" "200"
"origin" "552 -216 280"
"classname" "light"
}
{
"classname" "light"
"origin" "16 144 -32"
"light" "200"
}
{
"classname" "light"
"origin" "0 432 -136"
"light" "200"
}
{
"classname" "light"
"origin" "192 384 184"
"light" "200"
}
{
"light" "200"
"origin" "192 192 184"
"classname" "light"
}
{
"spawnflags" "2048"
"classname" "func_button"
"wait" "-1"
"target" "t7"
"model" "*23"
}
{
"style" "33"
"targetname" "t7"
"classname" "light"
"origin" "176 1152 200"
"target" "t10"
}
{
"classname" "info_null"
"origin" "292 1152 180"
"targetname" "t10"
}
{
"classname" "light"
"origin" "192 1224 200"
"light" "150"
}
{
"light" "150"
"origin" "192 1376 200"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1536 200"
"light" "200"
}
{
"light" "150"
"origin" "192 1080 200"
"classname" "light"
}
{
"classname" "weapon_nailgun"
"origin" "184 -1520 -272"
}
{
"classname" "func_button"
"target" "t11"
"angle" "-1"
"targetname" "t12"
"lip" "4"
"wait" "0.1"
"speed" "300"
"health" "1"
"model" "*24"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t11"
"wait" "10"
"model" "*25"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "8"
"targetname" "t11"
"model" "*26"
}
{
"classname" "light"
"origin" "1248 -288 312"
"light" "150"
}
{
"light" "200"
"origin" "1176 -400 352"
"classname" "light"
}
{
"classname" "item_health"
"origin" "1336 -536 256"
"spawnflags" "2"
}
{
"classname" "light"
"origin" "1320 -488 352"
"light" "200"
}
{
"classname" "trigger_multiple"
"target" "t11"
"wait" "10"
"model" "*27"
}
{
"classname" "item_armor1"
"origin" "192 -592 -64"
}
{
"classname" "item_shells"
"origin" "176 592 -160"
"spawnflags" "1"
}
{
"classname" "weapon_nailgun"
"origin" "-80 1456 -192"
"spawnflags" "1792"
}
{
"classname" "weapon_rocketlauncher"
"origin" "56 1144 128"
"spawnflags" "1792"
}
{
"classname" "weapon_grenadelauncher"
"origin" "-736 608 -280"
"spawnflags" "1792"
}
{
"classname" "item_spikes"
"origin" "1120 -384 256"
"spawnflags" "1"
}
{
"classname" "item_rockets"
"origin" "840 -432 192"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "-456 312 -80"
}
{
"classname" "monster_zombie"
"origin" "-1152 96 -88"
"spawnflags" "256"
"target" "t36"
}
{
"origin" "-1120 32 -88"
"classname" "monster_zombie"
"spawnflags" "768"
"target" "t36"
}
{
"classname" "monster_zombie"
"origin" "-1192 168 -88"
"target" "t36"
}
{
"classname" "monster_shambler"
"origin" "-1120 1104 -56"
"angle" "270"
}
{
"classname" "monster_hell_knight"
"origin" "-336 1312 8"
"angle" "180"
}
{
"classname" "monster_ogre"
"origin" "-698 1446 -56"
"angle" "270"
"spawnflags" "256"
}
{
"classname" "monster_hell_knight"
"origin" "-888 1128 8"
"angle" "90"
"spawnflags" "256"
}
{
"classname" "item_health"
"origin" "-336 784 -128"
}
{
"origin" "-408 608 -128"
"classname" "item_health"
}
{
"classname" "path_corner"
"origin" "-1096 584 -120"
"targetname" "t13"
"target" "t14"
}
{
"origin" "-496 584 -120"
"classname" "path_corner"
"targetname" "t14"
"target" "t13"
}
{
"classname" "monster_demon1"
"origin" "-712 576 -104"
"angle" "180"
"target" "t13"
}
{
"classname" "path_corner"
"origin" "-528 472 -96"
"targetname" "t15"
"target" "t16"
}
{
"origin" "-368 -32 -96"
"classname" "path_corner"
"target" "t15"
"targetname" "t16"
}
{
"classname" "monster_ogre"
"origin" "-466 262 -56"
"target" "t16"
"spawnflags" "256"
}
{
"target" "t22"
"targetname" "t21"
"origin" "56 -184 -120"
"classname" "path_corner"
}
{
"target" "t21"
"targetname" "t20"
"classname" "path_corner"
"origin" "-128 -224 -120"
}
{
"target" "t20"
"targetname" "t19"
"origin" "-128 -504 -56"
"classname" "path_corner"
}
{
"target" "t19"
"targetname" "t18"
"classname" "path_corner"
"origin" "512 -504 -56"
}
{
"target" "t18"
"targetname" "t17"
"origin" "512 -224 -120"
"classname" "path_corner"
}
{
"targetname" "t26"
"target" "t17"
"classname" "path_corner"
"origin" "328 -184 -120"
}
{
"target" "t23"
"targetname" "t22"
"classname" "path_corner"
"origin" "-128 -200 -120"
}
{
"target" "t24"
"targetname" "t23"
"classname" "path_corner"
"origin" "-128 -552 -56"
}
{
"target" "t25"
"targetname" "t24"
"origin" "512 -552 -56"
"classname" "path_corner"
}
{
"target" "t26"
"targetname" "t25"
"classname" "path_corner"
"origin" "512 -200 -120"
}
{
"spawnflags" "256"
"target" "t21"
"origin" "0 -184 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "1"
"origin" "376 -160 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "190 -706 -40"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "90"
"origin" "192 -1408 24"
"classname" "monster_hell_knight"
}
{
"origin" "40 -1424 0"
"classname" "item_shells"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "304 -1096 0"
"classname" "item_health"
}
{
"origin" "328 -1280 -272"
"classname" "item_health"
}
{
"origin" "40 -1256 -272"
"classname" "item_spikes"
}
{
"target" "t28"
"targetname" "t27"
"origin" "864 176 -168"
"classname" "path_corner"
}
{
"target" "t27"
"targetname" "t28"
"classname" "path_corner"
"origin" "864 616 -168"
}
{
"target" "t27"
"origin" "862 446 -152"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "180"
"origin" "526 -26 -104"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"angle" "0"
"origin" "-72 -24 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "256"
"origin" "-274 -34 -104"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-512 760 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "1793"
"origin" "336 1104 128"
"classname" "item_rockets"
}
{
"angle" "45"
"spawnflags" "256"
"origin" "104 256 -136"
"classname" "monster_zombie"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "192 488 -136"
"classname" "monster_hell_knight"
}
{
"wait" "1"
"speed" "250"
"lip" "16"
"spawnflags" "5"
"targetname" "t29"
"dmg" "20"
"angle" "180"
"classname" "func_door"
"model" "*28"
}
{
"wait" "1"
"targetname" "t29"
"speed" "250"
"dmg" "20"
"lip" "16"
"spawnflags" "5"
"classname" "func_door"
"sounds" "1"
"model" "*29"
}
{
"wait" "2"
"target" "t29"
"classname" "trigger_multiple"
"model" "*30"
}
{
"origin" "506 1762 -124"
"classname" "light_torch_small_walltorch"
"style" "1"
}
{
"classname" "light_torch_small_walltorch"
"origin" "274 2010 -124"
}
{
"light" "200"
"origin" "152 1824 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "288 1824 -40"
"light" "200"
}
{
"light" "200"
"origin" "288 1696 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "152 1704 -40"
"light" "200"
}
{
"light" "220"
"origin" "0 1704 -40"
"classname" "light"
}
{
"angle" "180"
"classname" "func_door_secret"
"targetname" "t35"
"spawnflags" "16"
"sounds" "1"
"model" "*31"
}
{
"spawnflags" "2"
"origin" "-16 1816 -192"
"classname" "item_health"
}
{
"origin" "432 1672 -320"
"classname" "light"
"light" "220"
}
{
"spawnflags" "1792"
"origin" "-16 1752 -192"
"classname" "item_rockets"
}
{
"angle" "270"
"origin" "-192 1580 168"
"classname" "trap_spikeshooter"
"targetname" "t32"
}
{
"spawnflags" "256"
"classname" "trap_spikeshooter"
"origin" "236 1536 168"
"angle" "180"
"targetname" "t32"
}
{
"classname" "trap_spikeshooter"
"origin" "0 1580 168"
"angle" "270"
"targetname" "t32"
}
{
"angle" "90"
"origin" "-96 1492 168"
"classname" "trap_spikeshooter"
"targetname" "t32"
}
{
"classname" "trap_spikeshooter"
"origin" "148 1376 168"
"angle" "0"
"targetname" "t33"
}
{
"angle" "180"
"origin" "236 1256 168"
"classname" "trap_spikeshooter"
"targetname" "t33"
}
{
"spawnflags" "256"
"classname" "trap_spikeshooter"
"origin" "192 1580 168"
"angle" "270"
"targetname" "t33"
}
{
"spawnflags" "257"
"angle" "90"
"origin" "192 -16 153"
"classname" "monster_hell_knight"
}
{
"spawnflags" "257"
"angle" "180"
"origin" "864 -248 217"
"classname" "monster_shambler"
}
{
"angle" "180"
"origin" "464 -184 185"
"classname" "monster_hell_knight"
}
{
"classname" "monster_hell_knight"
"origin" "192 -176 153"
"angle" "90"
"spawnflags" "1"
"target" "t31"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "190 1166 153"
"classname" "monster_ogre"
}
{
"spawnflags" "2048"
"origin" "48 1456 -192"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1"
"origin" "-96 1376 -192"
"classname" "item_rockets"
}
{
"angle" "270"
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "862 662 -152"
}
{
"light" "120"
"origin" "192 -352 -264"
"classname" "light"
}
{
"spawnflags" "768"
"origin" "326 -1490 -248"
"classname" "monster_ogre"
"angle" "180"
"target" "t42"
}
{
"origin" "192 552 128"
"classname" "item_health"
}
{
"spawnflags" "1024"
"classname" "item_health"
"origin" "176 672 128"
}
{
"spawnflags" "1025"
"origin" "184 1312 128"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-16 1480 128"
"spawnflags" "1025"
}
{
"origin" "672 -328 176"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "776 -192 176"
}
{
"origin" "784 312 -176"
"classname" "item_shells"
}
{
"spawnflags" "256"
"angle" "315"
"origin" "-26 1094 152"
"classname" "monster_ogre"
}
{
"classname" "monster_ogre"
"origin" "406 1094 152"
"angle" "225"
"spawnflags" "768"
}
{
"spawnflags" "1"
"origin" "-200 1128 128"
"classname" "item_rockets"
}
{
"origin" "-550 -478 212"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-550 -166 212"
}
{
"origin" "-214 -326 252"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "-120 -176 192"
"classname" "light"
}
{
"classname" "light"
"origin" "56 -176 192"
"light" "150"
}
{
"origin" "-816 1488 -80"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-752 1488 -80"
}
{
"spawnflags" "1536"
"origin" "-688 1488 -80"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "176 1264 -160"
"classname" "item_shells"
}
{
"classname" "func_door"
"angle" "270"
"targetname" "t31"
"wait" "-1"
"spawnflags" "2048"
"model" "*32"
}
{
"wait" "-1"
"sounds" "1"
"speed" "300"
"classname" "func_door"
"angle" "90"
"model" "*33"
}
{
"speed" "300"
"classname" "func_door"
"angle" "270"
"wait" "-1"
"model" "*34"
}
{
"classname" "item_health"
"origin" "400 1464 -160"
"spawnflags" "1024"
}
{
"classname" "item_health"
"origin" "-1136 528 -128"
}
{
"classname" "monster_ogre"
"origin" "-370 -218 88"
"targetname" "t31"
"spawnflags" "1"
}
{
"classname" "monster_hell_knight"
"origin" "-64 -176 152"
"angle" "0"
"spawnflags" "768"
"targetname" "t31"
}
{
"classname" "item_health"
"origin" "-488 -480 64"
}
{
"classname" "light"
"origin" "680 -1600 -160"
}
{
"classname" "item_spikes"
"origin" "984 -192 192"
"spawnflags" "1"
}
{
"classname" "monster_ogre"
"origin" "-490 -410 88"
"angle" "45"
}
{
"classname" "trigger_multiple"
"target" "t32"
"wait" "1"
"spawnflags" "1024"
"targetname" "t44"
"model" "*35"
}
{
"classname" "trigger_multiple"
"target" "t33"
"wait" "1"
"spawnflags" "1024"
"model" "*36"
}
{
"classname" "item_rockets"
"origin" "-96 272 -384"
}
{
"classname" "weapon_supernailgun"
"origin" "-1200 208 -112"
"spawnflags" "1792"
}
{
"classname" "func_door_secret"
"spawnflags" "2051"
"targetname" "t36"
"angle" "90"
"model" "*37"
}
{
"classname" "light"
"origin" "-1288 640 -80"
"light" "160"
}
{
"light" "160"
"origin" "-1288 128 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-1288 264 -80"
"light" "160"
}
{
"light" "160"
"origin" "-1288 392 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-1288 520 -80"
"light" "160"
}
{
"classname" "func_door_secret"
"targetname" "t36"
"angle" "270"
"spawnflags" "2049"
"model" "*38"
}
{
"classname" "item_armor2"
"origin" "1128 600 -176"
"spawnflags" "1024"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "11"
"targetname" "t34"
"model" "*39"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-246 -1310 -204"
"light" "250"
}
{
"classname" "trigger_once"
"target" "t34"
"model" "*40"
}
{
"classname" "item_spikes"
"origin" "-240 -1288 -312"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "-240 -1368 -312"
"classname" "item_spikes"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "-2"
"spawnflags" "3585"
"wait" "90"
"targetname" "t6"
"model" "*41"
}
{
"sounds" "3"
"classname" "func_door"
"targetname" "t6"
"spawnflags" "3585"
"angle" "-2"
"wait" "90"
"model" "*42"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "0"
"spawnflags" "1537"
"targetname" "t6"
"wait" "90"
"model" "*43"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-42 1642 -108"
"light" "200"
}
{
"classname" "item_health"
"origin" "-72 560 -384"
}
{
"origin" "-152 560 -384"
"classname" "item_health"
}
{
"targetname" "t31"
"spawnflags" "513"
"angle" "90"
"origin" "848 -376 216"
"classname" "monster_hell_knight"
}
{
"targetname" "t31"
"spawnflags" "768"
"origin" "-512 -248 88"
"classname" "monster_shambler"
}
{
"spawnflags" "768"
"angle" "180"
"origin" "382 1246 -136"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "190 1438 -136"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "640 -1664 -312"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "-400 -240 88"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "-216 1088 152"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "-512 792 -104"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "888 624 -152"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "-96 1456 -168"
"angle" "0"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*44"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*45"
}
{
"classname" "func_plat"
"height" "192"
"sounds" "2"
"model" "*46"
}
{
"classname" "item_health"
"origin" "-1184 72 -352"
}
{
"classname" "light"
"origin" "-952 1408 80"
"light" "200"
}
{
"classname" "light"
"origin" "-1120 1176 48"
"light" "250"
}
{
"classname" "light"
"origin" "-104 288 -344"
"light" "200"
}
{
"classname" "light"
"origin" "-512 376 -304"
"light" "200"
}
{
"classname" "trigger_multiple"
"target" "t35"
"model" "*47"
}
{
"classname" "light"
"origin" "192 -376 -16"
"light" "150"
}
{
"classname" "light"
"origin" "192 -328 176"
"light" "150"
}
{
"classname" "trigger_multiple"
"target" "t32"
"spawnflags" "768"
"wait" "0.5"
"model" "*48"
}
{
"classname" "trigger_multiple"
"spawnflags" "768"
"wait" "0.5"
"target" "t33"
"targetname" "t44"
"model" "*49"
}
{
"origin" "-1176 112 -112"
"classname" "item_rockets"
}
{
"origin" "-736 544 -280"
"classname" "item_armorInv"
}
{
"classname" "func_button"
"angle" "180"
"target" "t36"
"model" "*50"
}
{
"classname" "info_null"
"origin" "-1332 1116 -36"
"targetname" "t37"
}
{
"classname" "light"
"origin" "-1296 1120 -32"
"target" "t37"
"angle" "60"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*51"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*52"
}
{
"classname" "light"
"origin" "192 -152 -344"
"light" "160"
}
{
"classname" "light"
"origin" "192 32 -344"
"light" "160"
}
{
"classname" "light"
"origin" "32 168 -344"
"light" "140"
}
{
"light" "160"
"origin" "-16 408 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "192 368 -344"
"light" "140"
}
{
"light" "140"
"origin" "448 368 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "528 592 -344"
"light" "200"
}
{
"light" "200"
"origin" "408 808 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "192 832 -344"
"light" "200"
}
{
"light" "200"
"origin" "-40 728 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "-168 632 -344"
"light" "200"
}
{
"light" "200"
"origin" "-160 976 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "592 456 -344"
"light" "200"
}
{
"classname" "light"
"origin" "192 352 -232"
"light" "200"
}
{
"light" "200"
"origin" "32 264 -232"
"classname" "light"
}
{
"classname" "light"
"origin" "-184 432 -336"
"light" "160"
}
{
"light" "160"
"origin" "-192 144 -336"
"classname" "light"
}
{
"classname" "light"
"origin" "-776 280 -312"
"light" "200"
}
{
"light" "200"
"origin" "-864 432 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-1096 432 -312"
"light" "200"
}
{
"light" "200"
"origin" "-1168 272 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-944 64 -312"
"light" "200"
}
{
"light" "200"
"origin" "-664 136 -312"
"classname" "light"
}
{
"light" "200"
"origin" "-1112 592 -96"
"classname" "light"
}
{
"classname" "light"
"origin" "-1040 1256 -32"
"light" "150"
}
{
"light" "200"
"origin" "-880 1128 80"
"classname" "light"
}
{
"classname" "light"
"origin" "-712 1400 -16"
"light" "200"
}
{
"classname" "light"
"origin" "104 -600 -224"
"light" "200"
}
{
"light" "200"
"origin" "280 -600 -224"
"classname" "light"
}
{
"classname" "trigger_changelevel"
"map" "e2m4"
"model" "*53"
}
{
"light" "160"
"origin" "-312 808 -72"
"classname" "light"
}
{
"light" "200"
"origin" "192 1776 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-392 568 -56"
"light" "160"
}
{
"classname" "light"
"origin" "-1224 1504 8"
"light" "170"
}
{
"light" "170"
"origin" "-1304 1392 8"
"classname" "light"
}
{
"classname" "light"
"origin" "-640 1168 -8"
"light" "170"
}
{
"light" "160"
"origin" "352 -1248 56"
"classname" "light"
}
{
"classname" "light"
"origin" "40 -1248 56"
"light" "160"
}
{
"light" "160"
"origin" "192 -1216 -176"
"classname" "light"
}
{
"classname" "light"
"origin" "24 -1376 -232"
"light" "160"
}
{
"light" "160"
"origin" "224 -1624 -232"
"classname" "light"
}
{
"classname" "light"
"origin" "368 -1392 -232"
"light" "160"
}
{
"classname" "light"
"origin" "8 -464 -40"
"light" "140"
}
{
"light" "140"
"origin" "384 -464 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "-544 800 -56"
"light" "140"
}
{
"classname" "trigger_secret"
"model" "*54"
}
{
"classname" "trigger_secret"
"model" "*55"
}
{
"light" "200"
"origin" "760 1856 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "760 1664 -40"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "538 1762 -124"
"style" "1"
"light" "200"
}
{
"style" "1"
"classname" "light_torch_small_walltorch"
"origin" "850 1930 -124"
"light" "200"
}
{
"origin" "850 1618 -124"
"classname" "light_torch_small_walltorch"
"style" "1"
"light" "200"
}
{
"classname" "light"
"origin" "912 1856 -40"
"light" "200"
}
{
"light" "200"
"origin" "912 1664 -40"
"classname" "light"
}
{
"light" "200"
"origin" "1064 1776 -172"
"classname" "light"
}
{
"light" "200"
"origin" "1080 1856 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "1080 1664 -40"
"light" "200"
}
{
"classname" "light"
"origin" "1176 1776 -172"
"light" "200"
}
{
"light" "170"
"origin" "672 1768 -296"
"classname" "light"
}
{
"target" "t38"
"classname" "trigger_teleport"
"model" "*56"
}
{
"targetname" "t38"
"origin" "1144 1776 -88"
"classname" "info_teleport_destination"
}
{
"map" "e2m7"
"classname" "trigger_changelevel"
"model" "*57"
}
{
"light" "160"
"origin" "840 1768 -200"
"classname" "light"
}
{
"light" "140"
"origin" "408 608 -344"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "-16 240 -160"
"spawnflags" "2048"
}
{
"classname" "weapon_supernailgun"
"origin" "-1256 1448 -80"
}
{
"origin" "432 1160 152"
"classname" "item_artifact_super_damage"
}
{
"message" "The portal lies beyond..."
"targetname" "t40"
"wait" "-1"
"speed" "20"
"sounds" "4"
"angle" "-2"
"classname" "func_door"
"model" "*58"
}
{
"origin" "432 1672 -368"
"classname" "item_armor2"
}
{
"target" "t39"
"sounds" "1"
"wait" "-1"
"classname" "func_button"
"model" "*59"
}
{
"message" "The underwater barrier is lowered..."
"target" "t40"
"targetname" "t39"
"spawnflags" "1"
"classname" "trigger_once"
"model" "*60"
}
{
"classname" "trigger_secret"
"model" "*61"
}
{
"light" "200"
"origin" "-128 -704 -224"
"classname" "light"
}
{
"classname" "light"
"origin" "512 -704 -224"
"light" "200"
}
{
"light" "200"
"origin" "192 -832 -224"
"classname" "light"
}
{
"mangle" "20 240 0"
"origin" "400 1048 240"
"classname" "info_intermission"
}
{
"mangle" "20 145 0"
"origin" "-160 144 64"
"classname" "info_intermission"
}
{
"mangle" "-20 45 0"
"origin" "-320 -824 -144"
"classname" "info_intermission"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*62"
}
{
"classname" "item_artifact_super_damage"
"origin" "928 1768 -240"
"spawnflags" "1792"
}
{
"classname" "light"
"origin" "8 1800 -120"
"light" "220"
}
{
"classname" "weapon_lightning"
"origin" "1216 1784 -264"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "880 1648 -264"
"spawnflags" "1793"
}
{
"spawnflags" "1793"
"origin" "880 1864 -264"
"classname" "item_cells"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*63"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*64"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*65"
}
{
"classname" "info_player_coop"
"origin" "664 -1520 -312"
"angle" "180"
}
{
"angle" "180"
"origin" "592 -1600 -312"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "680 -1712 -312"
"angle" "180"
}
{
"classname" "air_bubbles"
"origin" "720 1384 -320"
}
{
"classname" "light"
"origin" "680 1376 -312"
}
{
"classname" "func_door_secret"
"angle" "180"
"spawnflags" "2"
"targetname" "t41"
"model" "*66"
}
{
"classname" "trigger_multiple"
"target" "t41"
"model" "*67"
}
{
"origin" "688 1176 -312"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "480 1408 -312"
}
{
"origin" "448 1552 -312"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "840 1080 -312"
}
{
"origin" "840 1080 -160"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "840 1080 0"
}
{
"classname" "light"
"origin" "840 1080 232"
"light" "200"
}
{
"classname" "item_artifact_envirosuit"
"origin" "576 1440 -344"
}
{
"classname" "item_artifact_invulnerability"
"origin" "544 1248 -344"
}
{
"light" "200"
"origin" "840 936 232"
"classname" "light"
}
{
"classname" "light"
"origin" "840 760 232"
"light" "150"
}
{
"light" "120"
"origin" "808 600 232"
"classname" "light"
}
{
"classname" "item_health"
"origin" "824 960 152"
}
{
"origin" "848 880 152"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "808 768 152"
}
{
"classname" "trigger_multiple"
"message" "Welcome to the Well of Wishes!"
"wait" "5"
"sounds" "1"
"model" "*68"
}
{
"classname" "trigger_multiple"
"sounds" "1"
"wait" "3"
"message" "The Dopefish Lives!"
"model" "*69"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*70"
}
{
"classname" "trigger_secret"
"model" "*71"
}
{
"spawnflags" "1"
"origin" "-1312 1392 -80"
"classname" "item_spikes"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*72"
}
{
"classname" "light"
"origin" "-544 600 -248"
"light" "200"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "194 -214 196"
"spawnflags" "2048"
}
{
"light" "200"
"origin" "352 984 -328"
"classname" "light"
}
{
"classname" "light"
"origin" "96 976 -328"
"light" "200"
}
{
"classname" "light"
"origin" "640 776 -336"
"light" "200"
}
{
"classname" "func_plat"
"spawnflags" "1"
"model" "*73"
}
{
"classname" "monster_fish"
"origin" "656 352 -336"
"spawnflags" "256"
}
{
"spawnflags" "256"
"origin" "432 424 -336"
"classname" "monster_fish"
}
{
"classname" "monster_fish"
"origin" "296 968 -336"
"spawnflags" "256"
}
{
"origin" "-48 800 -336"
"classname" "monster_fish"
}
{
"classname" "monster_fish"
"origin" "-896 248 -312"
}
{
"origin" "-744 328 -312"
"classname" "monster_fish"
}
{
"classname" "path_corner"
"origin" "272 -1504 -264"
"targetname" "t42"
"target" "t43"
}
{
"origin" "56 -1352 -264"
"classname" "path_corner"
"target" "t42"
"targetname" "t43"
}
{
"classname" "item_health"
"origin" "312 -1336 -272"
}
{
"origin" "544 -1488 -336"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "312 1464 -160"
}
{
"origin" "56 1488 -192"
"classname" "item_health"
}
{
"classname" "trigger_once"
"killtarget" "t44"
"spawnflags" "3072"
"model" "*74"
}
{
"classname" "item_rockets"
"origin" "216 648 120"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "136 648 120"
"spawnflags" "1"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m1.ent.orig 0000644 0000000 0000000 00000063253 12403131422 017777 0 ustar root root {
"worldtype" "2"
"sounds" "6"
"classname" "worldspawn"
"wad" "gfx/base.wad"
"message" "the Slipgate Complex"
}
{
"classname" "info_player_start"
"origin" "480 -352 88"
"angle" "90"
}
{
"classname" "light"
"origin" "480 96 168"
"light" "250"
}
{
"classname" "light"
"origin" "480 288 168"
"light" "250"
}
{
"classname" "light"
"origin" "272 96 80"
}
{
"origin" "272 288 80"
"classname" "light"
}
{
"classname" "light"
"origin" "272 192 80"
}
{
"origin" "688 192 80"
"classname" "light_fluorospark"
"style" "10"
}
{
"style" "10"
"classname" "light"
"origin" "688 288 80"
}
{
"origin" "688 96 80"
"classname" "light"
"style" "10"
}
{
"classname" "light"
"origin" "480 -280 168"
"light" "200"
}
{
"origin" "480 -144 168"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "480 -376 120"
"light" "200"
}
{
"light" "160"
"origin" "480 -40 168"
"classname" "light"
}
{
"speed" "400"
"sounds" "2"
"angle" "270"
"classname" "func_door"
"model" "*1"
}
{
"speed" "400"
"angle" "90"
"classname" "func_door"
"model" "*2"
}
{
"light" "250"
"origin" "592 544 88"
"classname" "light_fluoro"
}
{
"origin" "456 600 104"
"classname" "light"
}
{
"light" "180"
"origin" "688 648 136"
"classname" "light"
}
{
"classname" "light"
"origin" "688 520 136"
"light" "180"
}
{
"origin" "688 480 80"
"classname" "item_armor1"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "616 72 40"
"classname" "monster_army"
}
{
"light" "250"
"origin" "0 576 120"
"classname" "light"
}
{
"light" "180"
"origin" "160 576 72"
"classname" "light"
}
{
"light" "200"
"origin" "560 -32 72"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "400 -32 72"
}
{
"light" "200"
"origin" "0 712 72"
"classname" "light"
}
{
"classname" "light"
"origin" "0 728 -136"
"light" "200"
}
{
"light" "200"
"origin" "0 592 -136"
"classname" "light"
}
{
"wait" "5"
"angle" "-2"
"sounds" "2"
"targetname" "t1"
"classname" "func_door"
"dmg" "10"
"model" "*3"
}
{
"sounds" "1"
"target" "t1"
"angle" "180"
"classname" "func_button"
"model" "*4"
}
{
"light" "200"
"origin" "412 780 136"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "328 904 72"
}
{
"light" "200"
"origin" "168 800 72"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-72 864 72"
}
{
"origin" "264 888 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "-8 992 -136"
"light" "200"
}
{
"light" "250"
"classname" "light"
"origin" "272 1064 -136"
}
{
"light" "250"
"origin" "-8 1232 -136"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "256 1272 -136"
}
{
"light" "250"
"origin" "312 1464 -136"
"classname" "light"
}
{
"light" "200"
"origin" "128 968 72"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "-48 1168 72"
}
{
"light" "250"
"origin" "312 1168 72"
"classname" "light"
}
{
"light" "220"
"classname" "light"
"origin" "128 1504 -120"
}
{
"light" "250"
"classname" "light"
"origin" "-56 1464 -136"
}
{
"sounds" "2"
"classname" "func_door"
"angle" "180"
"speed" "400"
"model" "*5"
}
{
"classname" "func_door"
"angle" "0"
"speed" "400"
"model" "*6"
}
{
"classname" "light_fluoro"
"origin" "176 1744 -152"
}
{
"origin" "80 1744 -152"
"classname" "light_fluoro"
}
{
"light" "250"
"origin" "-232 1600 -136"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "488 1600 -136"
}
{
"origin" "-56 1448 72"
"classname" "light"
"light" "250"
}
{
"light" "250"
"classname" "light"
"origin" "312 1448 72"
}
{
"light" "260"
"classname" "light_fluoro"
"origin" "416 2064 -112"
}
{
"light" "260"
"origin" "416 1968 -112"
"classname" "light_fluoro"
}
{
"light" "250"
"origin" "128 1880 -112"
"classname" "light"
}
{
"origin" "616 1944 -88"
"classname" "light"
}
{
"style" "10"
"classname" "light_fluorospark"
"origin" "344 2216 -88"
}
{
"light" "180"
"origin" "352 2016 -112"
"classname" "light"
}
{
"classname" "light"
"origin" "128 2056 -112"
"light" "250"
}
{
"light" "250"
"origin" "-112 1984 -112"
"classname" "light"
}
{
"light" "350"
"origin" "-472 2064 -88"
"classname" "light_fluoro"
}
{
"classname" "light"
"origin" "-192 2208 8"
"light" "250"
}
{
"light" "250"
"origin" "-424 2208 8"
"classname" "light"
}
{
"light" "250"
"origin" "-248 2088 -96"
"classname" "light"
}
{
"origin" "-200 2384 -72"
"classname" "light"
}
{
"classname" "light"
"origin" "-424 2384 -72"
}
{
"light" "200"
"origin" "-448 2408 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "-176 2408 -128"
"light" "200"
}
{
"sounds" "1"
"classname" "func_plat"
"model" "*7"
}
{
"light" "350"
"origin" "-352 2656 184"
"classname" "light"
}
{
"light" "350"
"classname" "light"
"origin" "-352 2464 184"
}
{
"origin" "-576 2800 -40"
"classname" "light"
}
{
"light" "500"
"origin" "160 2920 232"
"classname" "light"
}
{
"classname" "light"
"origin" "160 2720 232"
"light" "500"
}
{
"origin" "-288 2992 8"
"classname" "light"
}
{
"classname" "light"
"origin" "-168 2776 -40"
}
{
"classname" "light"
"origin" "160 2824 104"
"light" "200"
}
{
"light" "150"
"origin" "-64 2760 136"
"classname" "light"
}
{
"light" "200"
"origin" "16 2832 -152"
"classname" "light"
}
{
"classname" "light"
"origin" "304 2832 -152"
"light" "200"
}
{
"origin" "504 2816 16"
"classname" "light"
}
{
"sounds" "3"
"wait" "-1"
"speed" "600"
"targetname" "t2"
"spawnflags" "1"
"angle" "270"
"classname" "func_door"
"model" "*8"
}
{
"classname" "light"
"origin" "160 2840 -152"
"light" "200"
}
{
"light" "80"
"origin" "16 2904 -88"
"classname" "light"
}
{
"classname" "light"
"origin" "304 2904 -88"
"light" "80"
}
{
"classname" "light"
"origin" "160 2904 -88"
"light" "80"
}
{
"wait" "-1"
"sounds" "1"
"target" "t2"
"speed" "50"
"angle" "270"
"classname" "func_button"
"model" "*9"
}
{
"light" "100"
"origin" "0 1800 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "248 1800 -32"
"light" "100"
}
{
"style" "32"
"targetname" "t3"
"origin" "8 2352 200"
"classname" "light"
}
{
"style" "32"
"targetname" "t3"
"classname" "light"
"origin" "32 2392 200"
}
{
"style" "32"
"targetname" "t3"
"origin" "56 2352 200"
"classname" "light"
}
{
"style" "32"
"targetname" "t3"
"classname" "light"
"origin" "32 2312 200"
}
{
"style" "32"
"targetname" "t3"
"light" "200"
"origin" "32 2352 88"
"classname" "light"
}
{
"spawnflags" "2048"
"origin" "112 2352 16"
"classname" "weapon_nailgun"
}
{
"sounds" "3"
"targetname" "t3"
"spawnflags" "3"
"angle" "270"
"classname" "func_door_secret"
"model" "*10"
}
{
"style" "32"
"sounds" "3"
"target" "t3"
"classname" "trigger_once"
"model" "*11"
}
{
"origin" "304 2368 96"
"classname" "light"
}
{
"angle" "180"
"origin" "248 2392 40"
"classname" "monster_army"
}
{
"origin" "272 2352 64"
"classname" "item_spikes"
}
{
"style" "32"
"sounds" "3"
"target" "t3"
"classname" "trigger_once"
"model" "*12"
}
{
"origin" "832 2608 16"
"classname" "light"
"light" "220"
}
{
"light" "220"
"classname" "light"
"origin" "832 2480 0"
}
{
"light" "240"
"origin" "800 2816 24"
"classname" "light"
}
{
"style" "33"
"targetname" "t11"
"spawnflags" "1"
"classname" "light"
"origin" "752 2000 -88"
"light" "400"
}
{
"style" "34"
"spawnflags" "1"
"targetname" "t12"
"origin" "1280 2000 -152"
"classname" "light"
"light" "400"
}
{
"style" "35"
"spawnflags" "1"
"targetname" "t13"
"classname" "light"
"origin" "1280 2496 -216"
"light" "400"
}
{
"style" "36"
"spawnflags" "1"
"targetname" "t14"
"origin" "784 2496 -280"
"classname" "light"
}
{
"classname" "light"
"origin" "1368 2584 -488"
"light" "200"
}
{
"origin" "1368 1944 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "696 2584 -488"
"light" "150"
}
{
"origin" "1016 2584 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "1016 1944 -488"
"light" "200"
}
{
"origin" "1368 2272 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "696 2272 -488"
"light" "200"
}
{
"classname" "light"
"origin" "960 2296 -488"
"light" "200"
}
{
"light" "200"
"origin" "1032 2352 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "888 2352 -488"
"light" "200"
}
{
"light" "200"
"origin" "960 2408 -488"
"classname" "light"
}
{
"light" "100"
"classname" "light"
"origin" "984 2448 -304"
}
{
"classname" "light"
"origin" "832 2360 112"
"light" "400"
}
{
"classname" "light"
"origin" "1144 2448 -488"
}
{
"origin" "1232 2360 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1320 2448 -488"
"light" "200"
}
{
"light" "200"
"origin" "1232 2536 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1232 2136 -488"
}
{
"origin" "1144 2048 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1232 1960 -488"
"light" "200"
}
{
"light" "200"
"origin" "1320 2048 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "832 2336 -200"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"sounds" "3"
"model" "*13"
}
{
"classname" "func_door_secret"
"angle" "180"
"sounds" "3"
"model" "*14"
}
{
"classname" "light"
"origin" "552 2480 -56"
"light" "200"
}
{
"light" "200"
"origin" "544 2296 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "664 2480 -56"
"light" "200"
}
{
"classname" "func_door"
"targetname" "t4"
"angle" "-2"
"spawnflags" "1"
"sounds" "2"
"model" "*15"
}
{
"classname" "trigger_multiple"
"target" "t4"
"health" "1"
"model" "*16"
}
{
"spawnflags" "2048"
"classname" "func_door"
"angle" "90"
"targetname" "t5"
"wait" "-1"
"sounds" "2"
"model" "*17"
}
{
"spawnflags" "2048"
"classname" "trigger_once"
"target" "t5"
"model" "*18"
}
{
"classname" "item_artifact_super_damage"
"origin" "544 2480 -88"
}
{
"classname" "light"
"origin" "832 2104 -208"
}
{
"classname" "light"
"origin" "832 2048 -368"
"light" "150"
}
{
"classname" "light"
"origin" "1120 2464 112"
}
{
"origin" "1120 2080 112"
"classname" "light"
}
{
"classname" "light"
"origin" "752 2080 112"
"light" "200"
}
{
"classname" "light"
"origin" "1048 2280 -72"
}
{
"classname" "func_button"
"angle" "270"
"target" "t1"
"model" "*19"
}
{
"classname" "light"
"origin" "1136 1848 -504"
"light" "220"
}
{
"origin" "1136 1672 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1008 1672 -504"
"light" "220"
}
{
"origin" "1008 1848 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1288 1848 -504"
"light" "220"
}
{
"origin" "1400 1584 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1224 1584 -504"
"light" "220"
}
{
"origin" "1400 1736 -504"
"classname" "light"
"light" "220"
}
{
"origin" "880 1672 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "744 1672 -504"
"light" "220"
}
{
"classname" "light"
"origin" "1312 1648 -392"
"light" "220"
}
{
"light" "170"
"origin" "1312 1520 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "1200 1760 -392"
"light" "220"
}
{
"light" "170"
"origin" "1072 1760 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "944 1760 -392"
"light" "170"
}
{
"origin" "832 1992 -208"
"classname" "light"
"light" "220"
}
{
"origin" "744 1832 -504"
"classname" "light"
}
{
"light" "170"
"origin" "832 1760 -392"
"classname" "light"
}
{
"light" "220"
"origin" "680 1936 -504"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1392 -352"
"light" "170"
}
{
"light" "170"
"origin" "1312 1264 -288"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1136 -232"
}
{
"origin" "1224 1456 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1400 1456 -504"
"light" "220"
}
{
"origin" "1400 1328 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1224 1328 -504"
"light" "220"
}
{
"origin" "1224 1200 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1400 1200 -504"
"light" "220"
}
{
"origin" "1312 960 -208"
"classname" "light"
}
{
"classname" "trigger_teleport"
"target" "t6"
"model" "*20"
}
{
"classname" "light"
"origin" "1312 912 -472"
}
{
"classname" "light"
"origin" "1312 1080 -368"
}
{
"classname" "light"
"origin" "1128 1064 -504"
"light" "170"
}
{
"origin" "1128 856 -504"
"classname" "light"
"light" "170"
}
{
"classname" "light"
"origin" "1496 856 -504"
"light" "170"
}
{
"origin" "1496 1064 -504"
"classname" "light"
"light" "170"
}
{
"classname" "light"
"origin" "1312 776 -504"
"light" "170"
}
{
"spawnflags" "2"
"angle" "90"
"classname" "func_door_secret"
"model" "*21"
}
{
"origin" "1072 1024 -168"
"classname" "light"
}
{
"spawnflags" "1"
"height" "400"
"angle" "-1"
"sounds" "1"
"classname" "func_plat"
"model" "*22"
}
{
"targetname" "t8"
"spawnflags" "2"
"angle" "90"
"classname" "func_door_secret"
"model" "*23"
}
{
"target" "t8"
"classname" "trigger_multiple"
"model" "*24"
}
{
"light" "220"
"origin" "792 888 -248"
"classname" "light"
}
{
"light" "180"
"classname" "light"
"origin" "944 608 -248"
}
{
"light" "150"
"origin" "792 512 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "792 512 -56"
"light" "150"
}
{
"classname" "light"
"origin" "624 928 -240"
"light" "220"
}
{
"light" "220"
"origin" "504 1200 -248"
"classname" "light"
}
{
"origin" "936 800 -248"
"classname" "light"
"light" "180"
}
{
"light" "180"
"classname" "light"
"origin" "960 984 -208"
}
{
"classname" "light"
"origin" "792 512 128"
"light" "150"
}
{
"spawnflags" "2"
"origin" "944 1008 -272"
"classname" "item_health"
}
{
"spawnflags" "1792"
"origin" "144 2352 16"
"classname" "weapon_rocketlauncher"
}
{
"spawnflags" "1792"
"origin" "1216 1040 -432"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1793"
"origin" "1392 1024 -432"
"classname" "item_rockets"
}
{
"targetname" "t6"
"origin" "-32 1800 -56"
"classname" "info_teleport_destination"
}
{
"spawnflags" "1792"
"origin" "832 2448 -368"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1792"
"origin" "128 1216 -208"
"classname" "weapon_supershotgun"
}
{
"origin" "296 2136 -192"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "1424 904 -432"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1376 808 -432"
}
{
"origin" "1176 936 -432"
"classname" "item_health"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*25"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*26"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*27"
}
{
"target" "t10"
"targetname" "t9"
"count" "3"
"classname" "trigger_counter"
"model" "*28"
}
{
"message" "You must press the three buttons..."
"spawnflags" "2048"
"sounds" "2"
"wait" "-1"
"targetname" "t10"
"angle" "180"
"classname" "func_door"
"model" "*29"
}
{
"light" "150"
"origin" "832 1928 -384"
"classname" "light"
}
{
"style" "33"
"sounds" "3"
"target" "t11"
"classname" "trigger_once"
"model" "*30"
}
{
"style" "34"
"sounds" "3"
"target" "t12"
"classname" "trigger_once"
"model" "*31"
}
{
"style" "35"
"sounds" "3"
"target" "t13"
"classname" "trigger_once"
"model" "*32"
}
{
"style" "36"
"sounds" "3"
"target" "t14"
"classname" "trigger_once"
"model" "*33"
}
{
"sounds" "1"
"wait" "-1"
"targetname" "t11"
"spawnflags" "1"
"angle" "-2"
"classname" "func_door"
"model" "*34"
}
{
"targetname" "t12"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"wait" "-1"
"sounds" "1"
"model" "*35"
}
{
"targetname" "t13"
"sounds" "1"
"wait" "-1"
"spawnflags" "1"
"angle" "-2"
"classname" "func_door"
"model" "*36"
}
{
"targetname" "t14"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"wait" "-1"
"sounds" "1"
"model" "*37"
}
{
"angle" "90"
"origin" "1312 880 -248"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1"
"origin" "1376 1024 -272"
"classname" "item_spikes"
}
{
"origin" "1184 992 -272"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1376 856 -272"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1256 1704 -432"
"classname" "item_health"
}
{
"angle" "90"
"origin" "480 48 24"
"classname" "info_player_deathmatch"
}
{
"angle" "180"
"origin" "528 1888 -168"
"classname" "info_player_deathmatch"
}
{
"angle" "0"
"origin" "-272 2928 -56"
"classname" "info_player_deathmatch"
}
{
"angle" "0"
"origin" "832 2048 -152"
"classname" "info_player_deathmatch"
}
{
"speed" "300"
"message" "This door opens elsewhere..."
"spawnflags" "2048"
"targetname" "t15"
"angle" "270"
"classname" "func_door"
"wait" "-1"
"model" "*38"
}
{
"spawnflags" "2048"
"target" "t15"
"classname" "trigger_once"
"model" "*39"
}
{
"spawnflags" "1792"
"origin" "480 576 0"
"classname" "weapon_nailgun"
}
{
"spawnflags" "1793"
"origin" "464 728 64"
"classname" "item_spikes"
}
{
"origin" "328 848 -224"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "344 920 -224"
}
{
"spawnflags" "1"
"origin" "-16 2064 -208"
"classname" "item_health"
}
{
"spawnflags" "1792"
"origin" "-480 2240 -160"
"classname" "item_rockets"
}
{
"spawnflags" "1793"
"origin" "-96 2456 16"
"classname" "item_shells"
}
{
"classname" "item_rockets"
"origin" "-104 2216 16"
"spawnflags" "1793"
}
{
"classname" "item_artifact_invulnerability"
"origin" "256 1808 -40"
"spawnflags" "1792"
}
{
"classname" "monster_army"
"origin" "0 576 24"
"angle" "0"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "8 1520 -200"
"angle" "270"
}
{
"classname" "monster_dog"
"origin" "88 1520 -200"
"angle" "270"
}
{
"classname" "monster_army"
"origin" "224 1552 -200"
"angle" "270"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-8 936 -200"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "648 736 104"
"spawnflags" "768"
"angle" "180"
}
{
"classname" "item_artifact_envirosuit"
"origin" "712 2040 -408"
"angle" "90"
}
{
"classname" "light"
"origin" "712 2040 -360"
"light" "100"
}
{
"classname" "item_rockets"
"origin" "1328 2536 -528"
"spawnflags" "1793"
}
{
"classname" "item_health"
"origin" "916 2416 -136"
"spawnflags" "2"
}
{
"spawnflags" "1"
"classname" "monster_army"
"origin" "1312 936 -248"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "1336 1784 -408"
"angle" "180"
"spawnflags" "257"
}
{
"spawnflags" "257"
"angle" "90"
"origin" "1392 928 -248"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "1384 1008 -248"
"angle" "90"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "90"
"origin" "1240 1008 -248"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "1256 1760 -408"
"angle" "180"
"spawnflags" "257"
}
{
"classname" "monster_army"
"origin" "824 1784 -408"
"spawnflags" "257"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "1128 1760 -408"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "path_corner"
"origin" "880 2048 -168"
"target" "t16"
"targetname" "t17"
}
{
"origin" "1232 2048 -232"
"classname" "path_corner"
"targetname" "t16"
"target" "t17"
}
{
"classname" "monster_army"
"origin" "1232 2088 -216"
"target" "t16"
}
{
"classname" "monster_army"
"origin" "1232 2448 -280"
"angle" "270"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "832 2464 -344"
"angle" "0"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "832 2072 -408"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "840 1960 -408"
"angle" "90"
"spawnflags" "768"
}
{
"classname" "trigger_multiple"
"target" "t18"
"health" "1"
"model" "*40"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"targetname" "t18"
"model" "*41"
}
{
"classname" "weapon_supershotgun"
"origin" "-360 2912 -80"
}
{
"classname" "trigger_multiple"
"target" "t18"
"model" "*42"
}
{
"classname" "light"
"origin" "-352 2912 -24"
"light" "120"
}
{
"classname" "light"
"origin" "160 3024 0"
"light" "120"
}
{
"classname" "item_shells"
"origin" "528 720 80"
}
{
"classname" "monster_army"
"origin" "416 1912 -168"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_dog"
"origin" "432 2120 -168"
"angle" "180"
"spawnflags" "256"
}
{
"classname" "path_corner"
"origin" "248 1992 -200"
"targetname" "t19"
"target" "t20"
}
{
"origin" "-200 1992 -200"
"classname" "path_corner"
"targetname" "t20"
"target" "t21"
}
{
"classname" "path_corner"
"origin" "-136 1912 -200"
"targetname" "t21"
"target" "t22"
}
{
"origin" "248 1912 -200"
"classname" "path_corner"
"target" "t19"
"targetname" "t22"
}
{
"classname" "monster_army"
"origin" "80 2024 -184"
"target" "t20"
}
{
"classname" "monster_army"
"origin" "-16 1888 -184"
"spawnflags" "256"
"target" "t22"
}
{
"classname" "monster_dog"
"origin" "-248 2144 -136"
"spawnflags" "768"
"angle" "315"
}
{
"classname" "path_corner"
"origin" "-560 2352 40"
"targetname" "t23"
"target" "t24"
}
{
"origin" "-104 2352 40"
"classname" "path_corner"
"target" "t23"
"targetname" "t24"
}
{
"classname" "monster_army"
"origin" "-432 2352 56"
"spawnflags" "768"
"target" "t23"
}
{
"angle" "0"
"classname" "monster_dog"
"origin" "-544 2584 56"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "-344 2656 -104"
"angle" "270"
}
{
"classname" "monster_dog"
"origin" "-72 2896 -56"
"spawnflags" "256"
"angle" "225"
}
{
"classname" "monster_army"
"origin" "432 2920 -56"
"target" "t25"
}
{
"classname" "monster_army"
"origin" "424 2832 -56"
"spawnflags" "256"
"angle" "180"
}
{
"classname" "path_corner"
"origin" "368 2936 -72"
"targetname" "t25"
"target" "t26"
}
{
"origin" "368 2696 -72"
"classname" "path_corner"
"targetname" "t26"
"target" "t27"
}
{
"classname" "path_corner"
"origin" "480 2696 -72"
"targetname" "t27"
"target" "t28"
}
{
"origin" "480 2936 -72"
"classname" "path_corner"
"target" "t25"
"targetname" "t28"
}
{
"classname" "monster_army"
"origin" "424 2672 -56"
"target" "t27"
}
{
"classname" "monster_army"
"origin" "424 2880 -56"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_army"
"origin" "424 2760 -56"
"spawnflags" "768"
"angle" "180"
}
{
"classname" "path_corner"
"origin" "832 2712 -88"
"targetname" "t29"
"target" "t30"
}
{
"origin" "832 2416 -104"
"classname" "path_corner"
"target" "t29"
"targetname" "t30"
}
{
"classname" "monster_army"
"origin" "848 2584 -72"
"spawnflags" "257"
"target" "t29"
}
{
"classname" "monster_army"
"origin" "824 2008 -152"
"angle" "90"
"spawnflags" "768"
}
{
"classname" "item_health"
"origin" "-376 1704 -224"
"spawnflags" "1"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "248 2352 40"
"classname" "monster_army"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-72 2464 40"
"classname" "monster_army"
}
{
"spawnflags" "768"
"angle" "225"
"origin" "904 1024 -248"
"classname" "monster_army"
}
{
"light" "100"
"style" "10"
"classname" "light"
"origin" "688 0 80"
}
{
"message" "Shoot this secret door..."
"spawnflags" "1"
"angle" "0"
"classname" "func_door_secret"
"model" "*43"
}
{
"origin" "672 -40 48"
"classname" "item_shells"
}
{
"classname" "trigger_secret"
"model" "*44"
}
{
"classname" "trigger_secret"
"model" "*45"
}
{
"classname" "trigger_secret"
"model" "*46"
}
{
"classname" "trigger_secret"
"model" "*47"
}
{
"classname" "trigger_secret"
"model" "*48"
}
{
"classname" "trigger_secret"
"model" "*49"
}
{
"light" "100"
"origin" "0 632 -88"
"classname" "light"
}
{
"classname" "item_health"
"origin" "600 2200 -128"
"spawnflags" "1"
}
{
"light" "220"
"classname" "light"
"origin" "832 1880 -504"
}
{
"origin" "72 2056 -208"
"classname" "misc_explobox"
}
{
"light" "200"
"origin" "-128 584 72"
"classname" "light"
}
{
"light" "200"
"origin" "-128 568 -136"
"classname" "light"
}
{
"light" "100"
"origin" "-56 632 -168"
"classname" "light"
}
{
"light" "200"
"origin" "-56 864 -136"
"classname" "light"
}
{
"light" "200"
"origin" "40 1672 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "216 1672 -40"
"light" "200"
}
{
"classname" "light"
"origin" "128 1080 -152"
"light" "200"
}
{
"light" "200"
"origin" "128 1096 72"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "-352 1656 72"
}
{
"origin" "608 1640 72"
"classname" "light"
"light" "250"
}
{
"origin" "-48 1144 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "-48 1256 -320"
}
{
"origin" "320 1256 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "312 1128 -320"
}
{
"origin" "136 1128 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "136 1272 -320"
}
{
"spawnflags" "3072"
"wait" "5"
"sounds" "2"
"message" "You can jump across..."
"classname" "trigger_multiple"
"targetname" "t32"
"model" "*50"
}
{
"spawnflags" "3072"
"wait" "5"
"message" "You can jump up here..."
"sounds" "2"
"classname" "trigger_multiple"
"targetname" "t31"
"model" "*51"
}
{
"light" "150"
"origin" "1008 2128 -408"
"classname" "light"
}
{
"light" "250"
"origin" "1312 544 -184"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "1208 456 -184"
}
{
"origin" "1416 456 -184"
"classname" "light"
"light" "200"
}
{
"light" "170"
"origin" "1312 728 -56"
"classname" "light"
}
{
"map" "e1m2"
"classname" "trigger_changelevel"
"model" "*52"
}
{
"classname" "item_health"
"origin" "1224 2464 -304"
"spawnflags" "1"
}
{
"classname" "light"
"origin" "688 1680 -160"
"light" "160"
}
{
"light" "160"
"origin" "-392 1688 -160"
"classname" "light"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "288 1536 -200"
"classname" "monster_army"
}
{
"spawnflags" "768"
"origin" "968 2432 -112"
"classname" "monster_army"
}
{
"wait" "5"
"message" "Walk into the slipgate to exit."
"classname" "trigger_multiple"
"sounds" "2"
"angle" "270"
"model" "*53"
}
{
"classname" "trigger_once"
"killtarget" "t31"
"target" "t31"
"spawnflags" "3072"
"model" "*54"
}
{
"classname" "trigger_once"
"spawnflags" "3072"
"target" "t32"
"killtarget" "t32"
"model" "*55"
}
{
"classname" "item_armor2"
"origin" "1312 1048 -432"
}
{
"classname" "ambient_comp_hum"
"origin" "250 194 72"
}
{
"origin" "714 194 72"
"classname" "ambient_comp_hum"
}
{
"classname" "ambient_comp_hum"
"origin" "626 2058 -104"
}
{
"origin" "466 2226 -104"
"classname" "ambient_comp_hum"
}
{
"classname" "info_intermission"
"origin" "-112 704 56"
"mangle" "20 45 0"
}
{
"classname" "info_intermission"
"origin" "-208 2736 192"
"mangle" "20 225 0"
}
{
"classname" "info_intermission"
"origin" "240 2664 104"
"mangle" "20 120 0"
}
{
"classname" "info_intermission"
"origin" "1376 1936 64"
"mangle" "20 135 0"
}
{
"angle" "90"
"origin" "528 -296 72"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "432 -296 72"
"angle" "90"
}
{
"angle" "90"
"origin" "480 -240 72"
"classname" "info_player_coop"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*56"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*57"
}
{
"classname" "ambient_drone"
"origin" "1314 450 -200"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m4.ent.orig 0000644 0000000 0000000 00000125145 12425501423 020007 0 ustar root root {
"message" "the Grisly Grotto"
"worldtype" "0"
"classname" "worldspawn"
"wad" "gfx/wizard.wad"
"sounds" "5"
}
{
"classname" "light"
"origin" "464 480 1656"
"light" "300"
}
{
"light" "400"
"origin" "712 296 1512"
"classname" "light"
}
{
"sounds" "3"
"angle" "180"
"classname" "func_door"
"model" "*1"
}
{
"angle" "0"
"classname" "func_door"
"model" "*2"
}
{
"classname" "light_flame_small_yellow"
"origin" "560 -112 1374"
}
{
"origin" "848 -112 1374"
"classname" "light_flame_small_yellow"
}
{
"origin" "760 656 1536"
"classname" "light"
}
{
"light" "400"
"origin" "834 498 1040"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "944 728 1456"
}
{
"classname" "light_flame_small_yellow"
"origin" "1016 80 998"
}
{
"origin" "392 80 998"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "680 1224 516"
"light" "200"
}
{
"light" "200"
"origin" "704 992 516"
"classname" "light"
}
{
"light" "200"
"origin" "696 1608 628"
"classname" "light"
}
{
"origin" "704 1368 588"
"classname" "light"
}
{
"origin" "816 1616 444"
"classname" "light"
}
{
"classname" "light"
"origin" "712 1728 444"
}
{
"origin" "592 1608 444"
"classname" "light"
}
{
"classname" "light"
"origin" "624 1096 444"
}
{
"light" "300"
"origin" "432 1328 816"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1112 816"
"light" "300"
}
{
"classname" "light"
"origin" "704 -80 960"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "818 18 948"
"light" "200"
}
{
"origin" "586 18 948"
"classname" "light_torch_small_walltorch"
"light" "200"
}
{
"light" "200"
"origin" "688 496 880"
"classname" "light"
}
{
"origin" "489 483 1356"
"classname" "light_flame_large_yellow"
}
{
"light" "200"
"origin" "704 -120 1360"
"classname" "light"
}
{
"classname" "light"
"origin" "1216 936 1560"
"light" "200"
}
{
"origin" "1294 826 1576"
"classname" "light_flame_large_yellow"
}
{
"sounds" "1"
"targetname" "t1"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*3"
}
{
"angle" "0"
"wait" "-1"
"classname" "func_door"
"model" "*4"
}
{
"target" "t1"
"classname" "trigger_once"
"model" "*5"
}
{
"map" "e1m5"
"classname" "trigger_changelevel"
"model" "*6"
}
{
"wait" "-1"
"angle" "0"
"classname" "func_door"
"speed" "50"
"model" "*7"
}
{
"classname" "info_player_start"
"origin" "-256 2272 1240"
"angle" "270"
}
{
"targetname" "t23"
"classname" "func_door"
"angle" "180"
"wait" "-1"
"speed" "50"
"sounds" "3"
"model" "*8"
}
{
"classname" "light"
"origin" "696 704 820"
}
{
"classname" "light"
"origin" "704 776 672"
"light" "200"
}
{
"classname" "light"
"origin" "360 904 520"
"light" "200"
}
{
"origin" "704 856 400"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "944 880 416"
"light" "150"
}
{
"origin" "1056 1176 424"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "1096 1408 360"
}
{
"classname" "light"
"origin" "416 1696 360"
}
{
"origin" "328 1368 360"
"classname" "light"
"light" "200"
}
{
"light" "200 "
"classname" "light"
"origin" "696 752 896"
}
{
"light" "250"
"origin" "798 1850 1024"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "642 1850 1024"
"light" "250"
}
{
"light" "200 "
"origin" "700 1364 952"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "1094 1494 1064"
}
{
"origin" "324 1104 1064"
"classname" "light_flame_large_yellow"
}
{
"light" "200 "
"origin" "704 1660 952"
"classname" "light"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "180"
"wait" "-1"
"targetname" "t2"
"model" "*9"
}
{
"sounds" "3"
"classname" "func_door"
"wait" "-1"
"angle" "0"
"targetname" "t4"
"model" "*10"
}
{
"classname" "trigger_once"
"targetname" "t4"
"target" "t7"
"model" "*11"
}
{
"classname" "trigger_once"
"targetname" "t2"
"target" "t7"
"model" "*12"
}
{
"dmg" "90"
"speed" "200"
"classname" "func_train"
"target" "t5"
"targetname" "t8"
"model" "*13"
}
{
"classname" "path_corner"
"origin" "-359 1528 1316"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "-359 1528 880"
"targetname" "t6"
"target" "t5"
"wait" "-1"
}
{
"classname" "trigger_counter"
"targetname" "t7"
"target" "t8"
"count" "2"
"model" "*14"
}
{
"targetname" "t11"
"origin" "-96 1640 1256"
"classname" "info_null"
}
{
"targetname" "t9"
"origin" "-416 1640 1256"
"classname" "info_null"
}
{
"light" "400"
"target" "t9"
"origin" "-396 1640 1256"
"classname" "light"
}
{
"light" "400"
"target" "t11"
"origin" "-116 1640 1256"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 1564 1532"
}
{
"classname" "light_flame_small_yellow"
"origin" "-88 1640 1514"
}
{
"origin" "-424 1640 1514"
"classname" "light_flame_small_yellow"
}
{
"origin" "-248 1464 1154"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "-256 1808 1046"
}
{
"light" "200"
"origin" "-164 1732 1268"
"classname" "light"
}
{
"classname" "light"
"origin" "-348 1732 1268"
"light" "200"
}
{
"light" "150"
"origin" "-248 1500 1056"
"classname" "light"
}
{
"light" "150"
"origin" "-256 1772 956"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 1636 920"
"light" "150"
}
{
"light" "150"
"origin" "-124 1640 920"
"classname" "light"
}
{
"classname" "light"
"origin" "-172 1524 920"
"light" "150"
}
{
"light" "150"
"origin" "-284 1516 920"
"classname" "light"
}
{
"classname" "light"
"origin" "-360 1580 920"
"light" "150"
}
{
"light" "75"
"origin" "-360 1700 920"
"classname" "light"
}
{
"classname" "light"
"origin" "72 1632 928"
"light" "125"
}
{
"light" "150"
"origin" "80 1488 928"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "158 1308 1064"
}
{
"classname" "light"
"origin" "-192 1688 1380"
"light" "100"
}
{
"light" "100"
"origin" "-192 1592 1380"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 1592 1380"
"light" "100"
}
{
"light" "100"
"origin" "-320 1688 1380"
"classname" "light"
}
{
"classname" "light"
"origin" "-384 1640 1452"
"light" "125"
}
{
"classname" "light"
"origin" "-112 1640 1452"
"light" "125"
}
{
"light" "200"
"origin" "-248 1504 1336"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 1640 1336"
"light" "200"
}
{
"light" "200"
"origin" "-384 1640 1336"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1608 816"
"light" "300"
}
{
"light" "200"
"classname" "light"
"origin" "888 1328 424"
}
{
"classname" "light"
"origin" "160 1352 960"
"light" "150"
}
{
"light" "150"
"origin" "368 1104 1000"
"classname" "light"
}
{
"classname" "light"
"origin" "1048 1504 1000"
"light" "150"
}
{
"classname" "light"
"origin" "992 992 1048"
"light" "150"
}
{
"classname" "light"
"origin" "48 1384 1008"
"light" "100"
}
{
"light" "150"
"origin" "1080 1144 1048"
"classname" "light"
}
{
"classname" "light"
"origin" "968 824 976"
"light" "150"
}
{
"classname" "light"
"origin" "896 1328 1000"
"light" "150"
}
{
"classname" "light"
"origin" "368 1616 1000"
"light" "175"
}
{
"classname" "light"
"origin" "256 1496 824"
"light" "150"
}
{
"light" "150"
"origin" "256 1352 824"
"classname" "light"
}
{
"classname" "light"
"origin" "856 1368 536"
"light" "200"
}
{
"light" "150"
"origin" "552 1360 536"
"classname" "light"
}
{
"classname" "light"
"origin" "872 1552 1056"
"light" "150"
}
{
"classname" "light"
"origin" "1032 1056 904"
"light" "150"
}
{
"light" "150"
"origin" "1080 1184 904"
"classname" "light"
}
{
"classname" "light"
"origin" "864 848 904"
"light" "150"
}
{
"classname" "light"
"origin" "312 1496 1016"
"light" "175"
}
{
"light" "200"
"origin" "704 1368 808"
"classname" "light"
}
{
"light" "150"
"origin" "464 816 904"
"classname" "light"
}
{
"light" "200"
"origin" "944 888 800"
"classname" "light"
}
{
"light" "150"
"origin" "888 1112 728"
"classname" "light"
}
{
"light" "175"
"origin" "1008 1504 728"
"classname" "light"
}
{
"light" "200"
"origin" "720 1848 1200"
"classname" "light"
}
{
"light" "200"
"origin" "704 888 672"
"classname" "light"
}
{
"light" "175"
"origin" "512 1456 1040"
"classname" "light"
}
{
"light" "150"
"origin" "440 840 380"
"classname" "light"
}
{
"light" "150"
"origin" "720 1848 1028"
"classname" "light"
}
{
"light" "150"
"origin" "720 1936 1024"
"classname" "light"
}
{
"origin" "544 2128 984"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "712 1912 576"
"classname" "light"
}
{
"light" "300"
"origin" "720 2544 856"
"classname" "light"
}
{
"light" "200"
"origin" "888 2048 592"
"classname" "light"
}
{
"origin" "704 2496 1128"
"classname" "light"
}
{
"origin" "512 2048 976"
"classname" "light"
"light" "150"
}
{
"origin" "952 2328 528"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "700 2760 808"
"light" "200"
}
{
"classname" "light"
"origin" "700 2800 616"
"light" "200"
}
{
"classname" "light"
"origin" "584 2780 584"
"light" "175"
}
{
"light" "175"
"origin" "808 2780 584"
"classname" "light"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t29"
"classname" "func_door"
"angle" "270"
"model" "*15"
}
{
"message" "This door is opened elsewhere..."
"wait" "-1"
"classname" "func_door"
"angle" "90"
"model" "*16"
}
{
"classname" "light"
"origin" "424 2304 1000"
"light" "200"
}
{
"light" "300"
"origin" "696 2880 1062"
"classname" "light_flame_small_yellow"
}
{
"light" "200"
"classname" "light"
"origin" "864 2128 984"
}
{
"classname" "light_flame_large_yellow"
"origin" "702 2154 1228"
"light" "0"
}
{
"classname" "light"
"origin" "832 2008 1136"
"light" "200"
}
{
"classname" "light"
"origin" "584 2008 1136"
"light" "200"
}
{
"light" "200"
"origin" "272 2016 1136"
"classname" "light"
}
{
"classname" "light"
"origin" "272 2320 1136"
"light" "150"
}
{
"light" "150"
"origin" "1104 2408 984"
"classname" "light"
}
{
"sounds" "2"
"classname" "func_plat"
"wait" "4"
"model" "*17"
}
{
"classname" "light"
"origin" "700 2844 996"
"light" "200"
}
{
"classname" "light"
"origin" "704 2216 1252"
}
{
"origin" "936 2304 1252"
"classname" "light"
}
{
"classname" "light"
"origin" "936 2536 1252"
}
{
"light" "300"
"classname" "light"
"origin" "488 2536 1252"
}
{
"origin" "488 2304 1252"
"classname" "light"
"light" "300"
}
{
"light" "0"
"origin" "998 2306 1228"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "998 2534 1228"
"light" "0"
}
{
"light" "0"
"origin" "426 2534 1228"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "426 2306 1228"
"light" "0"
}
{
"classname" "light"
"origin" "704 2152 984"
"light" "200"
}
{
"classname" "light_flame_small_yellow"
"origin" "1160 2400 1038"
"light" "250"
}
{
"origin" "840 2536 630"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"classname" "light_flame_small_yellow"
"origin" "584 2544 630"
"light" "250"
}
{
"light" "250"
"origin" "408 2304 694"
"classname" "light_flame_small_yellow"
}
{
"light" "200"
"classname" "light"
"origin" "960 2632 528"
}
{
"classname" "light"
"origin" "960 2480 528"
"light" "150"
}
{
"classname" "light"
"origin" "456 2304 624"
"light" "175"
}
{
"classname" "light"
"origin" "704 2416 576"
"light" "250"
}
{
"light" "150"
"origin" "728 2184 528"
"classname" "light"
}
{
"classname" "light"
"origin" "512 2176 528"
"light" "150"
}
{
"classname" "light"
"origin" "832 2336 656"
"light" "175"
}
{
"light" "175"
"origin" "592 2336 656"
"classname" "light"
}
{
"classname" "light"
"origin" "808 2584 576"
"light" "150"
}
{
"light" "150"
"origin" "616 2576 576"
"classname" "light"
}
{
"classname" "light_flame_small_yellow"
"origin" "488 2712 694"
"light" "250"
}
{
"classname" "light"
"origin" "488 2624 608"
"light" "175"
}
{
"classname" "light"
"origin" "480 2464 608"
"light" "175"
}
{
"light" "250"
"origin" "184 2184 1038"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "512 2096 1038"
"light" "250"
}
{
"classname" "light"
"origin" "224 2184 976"
"light" "150"
}
{
"classname" "light"
"origin" "848 2024 992"
"light" "200"
}
{
"classname" "light"
"origin" "256 1992 1000"
"light" "150"
}
{
"classname" "light"
"origin" "272 2376 1000"
"light" "200"
}
{
"classname" "light"
"origin" "1112 2208 1032"
"light" "150"
}
{
"light" "0"
"origin" "698 2860 1228"
"classname" "light_flame_large_yellow"
}
{
"origin" "700 2808 1252"
"classname" "light"
}
{
"light" "250"
"origin" "472 2632 1062"
"classname" "light"
}
{
"classname" "light"
"origin" "952 2632 1062"
"light" "250"
}
{
"light" "150"
"origin" "952 2424 894"
"classname" "light"
}
{
"classname" "light"
"origin" "480 2424 894"
"light" "150"
}
{
"light" "150"
"origin" "896 2296 966"
"classname" "light"
}
{
"classname" "light"
"origin" "704 2304 966"
"light" "150"
}
{
"light" "150"
"origin" "552 2304 966"
"classname" "light"
}
{
"light" "250"
"origin" "704 2184 406"
"classname" "light"
}
{
"light" "150"
"origin" "712 2000 406"
"classname" "light"
}
{
"light" "200"
"origin" "504 2224 400"
"classname" "light"
}
{
"light" "200"
"origin" "960 2576 400"
"classname" "light"
}
{
"light" "150"
"origin" "960 2400 400"
"classname" "light"
}
{
"light" "150"
"origin" "808 1112 592"
"classname" "light"
}
{
"classname" "light"
"origin" "600 1112 592"
"light" "150"
}
{
"light" "175"
"origin" "1016 128 936"
"classname" "light"
}
{
"classname" "light"
"origin" "392 128 936"
"light" "175"
}
{
"light" "150"
"origin" "848 -64 1304"
"classname" "light"
}
{
"classname" "light"
"origin" "560 -64 1304"
"light" "150"
}
{
"light" "175"
"origin" "1248 832 1496"
"classname" "light"
}
{
"light" "150"
"origin" "1096 872 1496"
"classname" "light"
}
{
"light" "150"
"origin" "896 2208 976"
"classname" "light"
}
{
"classname" "light"
"origin" "1096 200 1512"
"light" "350"
}
{
"light" "350"
"origin" "264 192 1512"
"classname" "light"
}
{
"light" "175"
"origin" "488 448 1264"
"classname" "light"
}
{
"origin" "1048 728 1456"
"classname" "light"
"light" "200"
}
{
"light" "125"
"origin" "1328 928 1448"
"classname" "light"
}
{
"light" "225"
"origin" "696 672 1320"
"classname" "light"
}
{
"origin" "816 -56 1640"
"classname" "light"
}
{
"classname" "light"
"origin" "584 -56 1640"
}
{
"light" "175"
"origin" "880 96 1376"
"classname" "light"
}
{
"classname" "light"
"origin" "528 96 1376"
"light" "175"
}
{
"light" "200"
"origin" "960 344 1072"
"classname" "light"
}
{
"classname" "light"
"origin" "1120 264 1072"
"light" "200"
}
{
"light" "175"
"origin" "1208 96 1016"
"classname" "light"
}
{
"light" "175"
"origin" "1024 360 968"
"classname" "light"
}
{
"classname" "light"
"origin" "328 336 968"
"light" "150"
}
{
"classname" "light"
"origin" "416 424 1072"
"light" "200"
}
{
"light" "200"
"origin" "296 256 1072"
"classname" "light"
}
{
"light" "150"
"origin" "704 48 1040"
"classname" "light"
}
{
"light" "175"
"origin" "384 464 976"
"classname" "light"
}
{
"classname" "light"
"origin" "224 264 976"
"light" "150"
}
{
"light" "150"
"origin" "952 2192 416"
"classname" "light"
}
{
"classname" "light"
"origin" "1040 -464 1016"
"light" "150"
}
{
"sounds" "2"
"spawnflags" "1"
"classname" "func_plat"
"model" "*18"
}
{
"light" "250"
"origin" "1072 -272 1262"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "1024 -272 1200"
"light" "150"
}
{
"light" "200"
"origin" "624 -240 1328"
"classname" "light"
}
{
"light" "175"
"origin" "1080 -624 1168"
"classname" "light"
}
{
"origin" "456 -576 1230"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "504 -576 1168"
"light" "175"
}
{
"origin" "624 -448 924"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "624 -704 924"
}
{
"light" "125"
"origin" "664 -448 880"
"classname" "light"
}
{
"classname" "light"
"origin" "624 -488 880"
"light" "125"
}
{
"light" "125"
"origin" "584 -448 880"
"classname" "light"
}
{
"classname" "light"
"origin" "624 -408 880"
"light" "125"
}
{
"light" "125"
"origin" "624 -664 880"
"classname" "light"
}
{
"classname" "light"
"origin" "664 -704 880"
"light" "125"
}
{
"light" "125"
"origin" "624 -744 880"
"classname" "light"
}
{
"classname" "light"
"origin" "584 -704 880"
"light" "125"
}
{
"light" "250"
"origin" "296 -96 968"
"classname" "light"
}
{
"light" "250"
"origin" "1112 -96 968"
"classname" "light"
}
{
"light" "175"
"origin" "1056 -224 968"
"classname" "light"
}
{
"light" "500"
"origin" "-264 2120 1504"
"classname" "light"
}
{
"spawnflags" "2064"
"angle" "0"
"classname" "func_door"
"wait" "-1"
"model" "*19"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "180"
"spawnflags" "2064"
"wait" "-1"
"model" "*20"
}
{
"light" "200"
"origin" "704 32 952"
"classname" "light"
}
{
"target" "t101"
"spawnflags" "256"
"targetname" "t23"
"angle" "90"
"origin" "-248 1560 1224"
"classname" "monster_wizard"
}
{
"target" "t23"
"classname" "trigger_once"
"model" "*21"
}
{
"origin" "-280 1560 1348"
"classname" "item_armor2"
}
{
"origin" "-488 2112 1220"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-488 2064 1220"
}
{
"spawnflags" "1536"
"origin" "-272 1784 1156"
"classname" "item_shells"
}
{
"spawnflags" "256"
"target" "t25"
"targetname" "t24"
"origin" "888 1640 1028"
"classname" "path_corner"
}
{
"spawnflags" "256"
"target" "t24"
"targetname" "t25"
"classname" "path_corner"
"origin" "624 1264 1028"
}
{
"spawnflags" "256"
"target" "t24"
"origin" "928 1672 1028"
"classname" "monster_wizard"
}
{
"spawnflags" "2304"
"target" "t26"
"classname" "trigger_once"
"model" "*22"
}
{
"target" "t27"
"targetname" "t28"
"origin" "568 2040 928"
"classname" "path_corner"
}
{
"target" "t28"
"targetname" "t27"
"classname" "path_corner"
"origin" "368 2044 928"
}
{
"target" "t27"
"origin" "472 2040 944"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"sounds" "2"
"target" "t29"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*23"
}
{
"sounds" "3"
"angle" "180"
"classname" "func_door"
"model" "*24"
}
{
"angle" "0"
"classname" "func_door"
"model" "*25"
}
{
"light" "175"
"origin" "1112 2520 964"
"classname" "light"
}
{
"origin" "104 1308 892"
"classname" "item_health"
}
{
"spawnflags" "2048"
"origin" "704 1344 936"
"classname" "item_key1"
"sounds" "1"
}
{
"target" "t34"
"angle" "180"
"origin" "920 2040 544"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t35"
"targetname" "t34"
"origin" "864 2044 528"
"classname" "path_corner"
}
{
"target" "t37"
"targetname" "t35"
"classname" "path_corner"
"origin" "704 2048 528"
}
{
"target" "t34"
"targetname" "t36"
"origin" "704 2048 528"
"classname" "path_corner"
}
{
"target" "t36"
"targetname" "t37"
"classname" "path_corner"
"origin" "704 1808 528"
}
{
"targetname" "t38"
"angle" "270"
"origin" "456 2476 544"
"classname" "monster_ogre"
}
{
"target" "t38"
"classname" "trigger_once"
"model" "*26"
}
{
"targetname" "t29"
"angle" "0"
"origin" "336 2272 952"
"classname" "monster_knight"
"spawnflags" "768"
}
{
"targetname" "t39"
"spawnflags" "1"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"sounds" "1"
"model" "*27"
}
{
"targetname" "t39"
"angle" "270"
"origin" "712 2540 448"
"classname" "monster_ogre"
}
{
"target" "t39"
"classname" "trigger_once"
"model" "*28"
}
{
"classname" "light"
"origin" "712 2544 440"
"light" "200"
}
{
"classname" "item_health"
"origin" "1064 2184 920"
"spawnflags" "1024"
}
{
"spawnflags" "1"
"origin" "1128 2184 920"
"classname" "item_health"
}
{
"classname" "item_spikes"
"origin" "816 2840 920"
}
{
"origin" "816 2800 920"
"classname" "item_spikes"
}
{
"spawnflags" "256"
"classname" "monster_wizard"
"origin" "1656 1496 968"
"angle" "180"
"target" "t41"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t40"
"targetname" "t39"
"model" "*29"
}
{
"classname" "info_teleport_destination"
"origin" "984 1496 1000"
"angle" "180"
"targetname" "t40"
}
{
"spawnflags" "256"
"classname" "path_corner"
"origin" "912 1496 1000"
"targetname" "t41"
"target" "t42"
}
{
"spawnflags" "256"
"origin" "528 1368 1000"
"classname" "path_corner"
"targetname" "t42"
"target" "t41"
}
{
"classname" "item_health"
"origin" "408 2640 520"
}
{
"classname" "item_shells"
"origin" "456 2672 520"
"spawnflags" "1"
}
{
"angle" "0"
"origin" "80 864 968"
"classname" "monster_wizard"
"target" "t44"
}
{
"targetname" "t119"
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t45"
"model" "*30"
}
{
"classname" "info_teleport_destination"
"origin" "432 856 952"
"angle" "45"
"targetname" "t45"
}
{
"classname" "path_corner"
"origin" "496 872 952"
"target" "t43"
"targetname" "t44"
}
{
"origin" "872 1056 952"
"classname" "path_corner"
"targetname" "t43"
"target" "t44"
}
{
"classname" "trigger_once"
"spawnflags" "1792"
"target" "t39"
"model" "*31"
}
{
"spawnflags" "1024"
"classname" "monster_knight"
"origin" "1168 56 904"
"angle" "135"
"target" "t49"
"targetname" "t67"
}
{
"classname" "monster_ogre"
"origin" "1800 224 920"
"angle" "180"
"target" "t116"
"spawnflags" "256"
}
{
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t49"
"lip" "-24"
"model" "*32"
}
{
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"spawnflags" "1"
"targetname" "t39"
"lip" "-24"
"model" "*33"
}
{
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t29"
"lip" "-24"
"model" "*34"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t46"
"model" "*35"
}
{
"classname" "info_teleport_destination"
"origin" "1104 232 880"
"angle" "180"
"targetname" "t46"
}
{
"classname" "path_corner"
"origin" "1064 256 880"
"target" "t47"
"targetname" "t48"
"spawnflags" "256"
}
{
"origin" "312 232 880"
"classname" "path_corner"
"targetname" "t47"
"target" "t48"
"spawnflags" "256"
}
{
"classname" "info_teleport_destination"
"origin" "704 -40 1256"
"angle" "90"
"targetname" "t50"
}
{
"classname" "trigger_once"
"target" "t52"
"model" "*36"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t50"
"targetname" "t52"
"model" "*37"
}
{
"angle" "90"
"origin" "570 -898 1300"
"classname" "monster_wizard"
"targetname" "t52"
}
{
"classname" "item_shells"
"origin" "216 120 880"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "192 232 880"
}
{
"origin" "192 192 880"
"classname" "item_health"
"spawnflags" "1024"
}
{
"classname" "item_shells"
"origin" "-216 1464 888"
}
{
"classname" "item_health"
"origin" "816 1160 512"
"spawnflags" "1024"
}
{
"spawnflags" "1"
"origin" "816 1120 512"
"classname" "item_health"
}
{
"classname" "monster_wizard"
"origin" "944 840 956"
"angle" "135"
"target" "t53"
"targetname" "t64"
}
{
"classname" "trigger_once"
"target" "t64"
"model" "*38"
}
{
"classname" "monster_knight"
"origin" "704 392 1280"
"angle" "270"
"target" "t65"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "704 208 1264"
"targetname" "t65"
"target" "t66"
}
{
"origin" "704 496 1264"
"classname" "path_corner"
"targetname" "t66"
"target" "t65"
}
{
"classname" "trigger_once"
"target" "t67"
"model" "*39"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t72"
"model" "*40"
}
{
"sounds" "1"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"targetname" "t72"
"model" "*41"
}
{
"classname" "trigger_once"
"target" "t72"
"model" "*42"
}
{
"classname" "info_null"
"origin" "852 -580 820"
"targetname" "t73"
}
{
"classname" "light"
"origin" "856 -584 936"
"light" "400"
"target" "t73"
}
{
"classname" "light"
"origin" "920 -448 744"
"light" "150"
}
{
"light" "150"
"origin" "760 -448 744"
"classname" "light"
}
{
"classname" "light"
"origin" "552 -424 744"
"light" "150"
}
{
"light" "150"
"origin" "560 -728 744"
"classname" "light"
}
{
"classname" "light"
"origin" "776 -712 744"
"light" "150"
}
{
"light" "150"
"origin" "936 -712 744"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "652 -576 952"
"targetname" "t75"
"target" "t74"
}
{
"origin" "908 -576 952"
"classname" "path_corner"
"targetname" "t74"
"target" "t75"
}
{
"classname" "monster_ogre"
"origin" "816 -260 952"
"angle" "270"
"targetname" "t72"
}
{
"classname" "monster_ogre"
"origin" "724 -260 952"
"angle" "270"
"targetname" "t72"
"spawnflags" "256"
}
{
"classname" "item_health"
"origin" "632 -548 820"
"spawnflags" "3072"
}
{
"origin" "672 -548 820"
"classname" "item_health"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t76"
"model" "*43"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t76"
"model" "*44"
}
{
"light" "150"
"origin" "1040 -712 1016"
"classname" "light"
}
{
"origin" "1112 -576 942"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "1064 -576 896"
"light" "150"
}
{
"classname" "light"
"origin" "888 -80 968"
"light" "175"
}
{
"light" "175"
"origin" "512 -80 968"
"classname" "light"
}
{
"classname" "item_armor2"
"origin" "1184 -96 920"
}
{
"classname" "monster_ogre"
"origin" "392 8 912"
"angle" "315"
"targetname" "t77"
"spawnflags" "256"
}
{
"classname" "trigger_once"
"target" "t77"
"model" "*45"
}
{
"classname" "item_health"
"origin" "336 -224 888"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "968 16 888"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "560 2808 516"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "1056 -384 824"
"targetname" "t78"
"target" "t79"
"spawnflags" "256"
}
{
"origin" "1056 -736 824"
"classname" "path_corner"
"targetname" "t79"
"target" "t78"
"spawnflags" "256"
}
{
"classname" "monster_ogre"
"origin" "1064 -656 840"
"angle" "90"
"target" "t78"
"spawnflags" "257"
}
{
"angle" "90"
"origin" "848 -880 952"
"classname" "monster_ogre"
"targetname" "t72"
}
{
"classname" "item_shells"
"origin" "1160 16 1248"
}
{
"classname" "item_health"
"origin" "280 64 1248"
}
{
"classname" "item_rockets"
"origin" "648 -256 928"
"spawnflags" "1025"
}
{
"classname" "item_spikes"
"origin" "648 -304 1248"
}
{
"origin" "696 -304 1248"
"classname" "item_spikes"
}
{
"classname" "light_flame_small_yellow"
"origin" "768 -352 1230"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*46"
}
{
"target" "t83"
"classname" "trigger_multiple"
"wait" ".8"
"model" "*47"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*48"
}
{
"target" "t83"
"classname" "trigger_multiple"
"wait" ".8"
"model" "*49"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*50"
}
{
"targetname" "t83"
"classname" "trap_spikeshooter"
"origin" "1108 -576 1140"
"spawnflags" "1"
"angle" "180"
}
{
"targetname" "t83"
"angle" "90"
"spawnflags" "1"
"origin" "768 -796 1140"
"classname" "trap_spikeshooter"
}
{
"origin" "1112 -576 1230"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "768 -800 1230"
}
{
"classname" "light"
"origin" "712 -756 1168"
"light" "175"
}
{
"light" "175"
"origin" "768 -424 1168"
"classname" "light"
}
{
"light" "175"
"origin" "888 -744 956"
"classname" "light"
}
{
"classname" "light"
"origin" "888 -408 956"
"light" "175"
}
{
"origin" "384 -224 888"
"classname" "item_shells"
}
{
"origin" "584 1784 920"
"classname" "item_health"
}
{
"origin" "832 2064 920"
"classname" "item_shells"
}
{
"target" "t72"
"classname" "trigger_once"
"model" "*51"
}
{
"target" "t85"
"targetname" "t84"
"origin" "1560 216 896"
"classname" "path_corner"
}
{
"target" "t48"
"targetname" "t85"
"classname" "path_corner"
"origin" "1456 216 896"
}
{
"origin" "704 1368 516"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1"
"origin" "184 1928 920"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "656 1816 528"
"spawnflags" "768"
}
{
"classname" "item_shells"
"origin" "1072 -800 820"
"spawnflags" "1024"
}
{
"classname" "monster_ogre"
"origin" "840 -40 1276"
"angle" "180"
"targetname" "t86"
"spawnflags" "768"
}
{
"classname" "trigger_once"
"target" "t86"
"model" "*52"
}
{
"classname" "light"
"origin" "472 -576 876"
"light" "150"
}
{
"classname" "item_shells"
"origin" "656 680 1256"
"spawnflags" "1536"
}
{
"angle" "270"
"origin" "880 2224 536"
"classname" "monster_knight"
"spawnflags" "256"
}
{
"angle" "180"
"origin" "1112 2424 944"
"classname" "monster_ogre"
"spawnflags" "1281"
}
{
"targetname" "t88"
"target" "t87"
"origin" "360 384 880"
"classname" "path_corner"
"spawnflags" "1280"
}
{
"target" "t88"
"targetname" "t87"
"classname" "path_corner"
"origin" "504 160 880"
"spawnflags" "1280"
}
{
"target" "t87"
"angle" "315"
"origin" "384 320 896"
"classname" "monster_knight"
"spawnflags" "1280"
}
{
"spawnflags" "257"
"targetname" "t86"
"angle" "0"
"origin" "376 120 1272"
"classname" "monster_ogre"
}
{
"origin" "776 1368 916"
"classname" "item_shells"
"spawnflags" "1024"
}
{
"classname" "item_spikes"
"origin" "184 1968 920"
"spawnflags" "1"
}
{
"classname" "monster_wizard"
"origin" "312 936 944"
"angle" "45"
"spawnflags" "769"
}
{
"classname" "monster_knight"
"origin" "704 -80 908"
"angle" "90"
}
{
"angle" "0"
"origin" "568 -56 1276"
"classname" "monster_ogre"
"targetname" "t86"
"spawnflags" "768"
}
{
"spawnflags" "1536"
"targetname" "t90"
"target" "t89"
"origin" "720 1696 924"
"classname" "path_corner"
}
{
"spawnflags" "1536"
"target" "t90"
"targetname" "t89"
"classname" "path_corner"
"origin" "720 1416 924"
}
{
"spawnflags" "1537"
"target" "t90"
"origin" "704 1784 948"
"classname" "monster_ogre"
}
{
"classname" "func_door_secret"
"angle" "0"
"spawnflags" "1"
"targetname" "t91"
"model" "*53"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*54"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*55"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "-2"
"target" "t92"
"model" "*56"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*57"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "-2"
"target" "t92"
"model" "*58"
}
{
"classname" "trigger_counter"
"count" "5"
"target" "t91"
"targetname" "t92"
"model" "*59"
}
{
"classname" "light"
"origin" "680 -920 1144"
"light" "150"
}
{
"classname" "item_spikes"
"origin" "752 -876 928"
"spawnflags" "1"
}
{
"spawnflags" "3"
"angle" "0"
"classname" "func_door_secret"
"targetname" "t91"
"model" "*60"
}
{
"light" "150"
"origin" "680 -256 1144"
"classname" "light"
}
{
"classname" "trigger_once"
"spawnflags" "1792"
"target" "t72"
"model" "*61"
}
{
"classname" "trigger_secret"
"sounds" "1"
"targetname" "t8"
"model" "*62"
}
{
"angle" "270"
"origin" "704 624 1280"
"classname" "monster_knight"
"spawnflags" "1"
}
{
"angle" "225"
"origin" "1016 -440 1128"
"classname" "monster_knight"
}
{
"angle" "180"
"origin" "1024 -728 1128"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "1008 -568 1128"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"classname" "monster_knight"
"origin" "304 2312 952"
"angle" "0"
"targetname" "t29"
}
{
"spawnflags" "1025"
"classname" "monster_knight"
"origin" "272 136 896"
"angle" "45"
}
{
"classname" "monster_wizard"
"origin" "784 -576 960"
"angle" "0"
"target" "t74"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "732 -936 928"
}
{
"origin" "772 -936 928"
"classname" "item_health"
}
{
"spawnflags" "256"
"classname" "monster_knight"
"origin" "704 -248 1272"
"angle" "0"
}
{
"classname" "path_corner"
"origin" "1328 928 1396"
"targetname" "t93"
"target" "t94"
"spawnflags" "512"
}
{
"origin" "1176 928 1396"
"classname" "path_corner"
"target" "t93"
"targetname" "t94"
"spawnflags" "512"
}
{
"classname" "monster_knight"
"origin" "1192 884 1412"
"angle" "0"
"target" "t93"
"spawnflags" "513"
}
{
"classname" "monster_knight"
"origin" "704 2376 944"
"angle" "90"
}
{
"classname" "monster_knight"
"origin" "888 2312 944"
"angle" "180"
"targetname" "t95"
}
{
"angle" "0"
"origin" "512 2304 944"
"classname" "monster_knight"
"targetname" "t95"
"spawnflags" "768"
}
{
"classname" "trigger_once"
"target" "t95"
"model" "*63"
}
{
"spawnflags" "256"
"angle" "315"
"origin" "728 2312 536"
"classname" "monster_knight"
}
{
"light" "200"
"origin" "1296 1528 936"
"classname" "light"
}
{
"light" "250"
"origin" "1432 1360 982"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "1400 1360 920"
"classname" "light"
}
{
"light" "200"
"origin" "1248 1344 680"
"classname" "light"
}
{
"lip" "-384"
"wait" "-1"
"angle" "90"
"classname" "func_door"
"targetname" "t98"
"model" "*64"
}
{
"light" "150"
"origin" "1152 1328 584"
"classname" "light"
}
{
"origin" "1376 1480 864"
"classname" "item_health"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*65"
}
{
"classname" "func_button"
"sounds" "1"
"angle" "0"
"wait" "-1"
"target" "t97"
"model" "*66"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "0"
"sounds" "1"
"target" "t97"
"model" "*67"
}
{
"classname" "trigger_counter"
"targetname" "t97"
"target" "t98"
"model" "*68"
}
{
"classname" "light"
"origin" "880 -888 968"
"light" "150"
}
{
"light" "150"
"origin" "880 -264 968"
"classname" "light"
}
{
"angle" "180"
"origin" "1112 2344 944"
"classname" "monster_ogre"
"spawnflags" "769"
}
{
"angle" "270"
"origin" "1120 880 1412"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"map" "e1m8"
"classname" "trigger_changelevel"
"model" "*69"
}
{
"light" "175"
"origin" "824 -756 1168"
"classname" "light"
}
{
"classname" "light"
"origin" "1080 -528 1168"
"light" "175"
}
{
"classname" "monster_wizard"
"origin" "672 -392 1024"
"angle" "315"
"spawnflags" "257"
}
{
"classname" "monster_knight"
"origin" "1008 -656 1128"
"angle" "180"
"spawnflags" "768"
}
{
"origin" "520 1064 440"
"classname" "air_bubbles"
}
{
"classname" "item_spikes"
"origin" "16 1432 892"
}
{
"classname" "trigger_once"
"message" "A secret cave has opened..."
"targetname" "t98"
"model" "*70"
}
{
"target" "t4"
"health" "1"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*71"
}
{
"target" "t2"
"health" "1"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*72"
}
{
"target" "t49"
"spawnflags" "769"
"angle" "135"
"origin" "1208 128 904"
"classname" "monster_demon1"
}
{
"spawnflags" "769"
"angle" "45"
"origin" "288 160 896"
"classname" "monster_demon1"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "692 -884 952"
"angle" "90"
}
{
"classname" "monster_ogre"
"origin" "-312 1648 1372"
"angle" "90"
"targetname" "t23"
"spawnflags" "768"
}
{
"angle" "90"
"origin" "-192 1648 1372"
"classname" "monster_ogre"
"targetname" "t23"
"spawnflags" "768"
}
{
"classname" "monster_ogre"
"origin" "704 1288 540"
"angle" "270"
"spawnflags" "768"
}
{
"targetname" "t101"
"target" "t106"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*73"
}
{
"spawnflags" "768"
"targetname" "t101"
"angle" "270"
"origin" "-256 2424 1288"
"classname" "monster_wizard"
}
{
"targetname" "t101"
"origin" "-248 2440 1280"
"classname" "trigger_relay"
}
{
"targetname" "t29"
"spawnflags" "256"
"angle" "0"
"origin" "144 2648 1024"
"classname" "monster_wizard"
}
{
"targetname" "t29"
"spawnflags" "768"
"classname" "monster_wizard"
"origin" "144 2592 1024"
"angle" "0"
}
{
"targetname" "t29"
"spawnflags" "768"
"angle" "0"
"origin" "144 2536 1024"
"classname" "monster_wizard"
}
{
"targetname" "t29"
"target" "t102"
"spawnflags" "258"
"classname" "trigger_teleport"
"model" "*74"
}
{
"targetname" "t29"
"target" "t103"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*75"
}
{
"targetname" "t29"
"target" "t104"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*76"
}
{
"angle" "270"
"targetname" "t102"
"spawnflags" "256"
"origin" "704 2656 1008"
"classname" "info_teleport_destination"
}
{
"angle" "270"
"targetname" "t103"
"spawnflags" "768"
"classname" "info_teleport_destination"
"origin" "920 2520 1008"
}
{
"angle" "0"
"targetname" "t104"
"spawnflags" "768"
"origin" "592 2192 1008"
"classname" "info_teleport_destination"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "0"
"wait" "-1"
"speed" "150"
"targetname" "t105"
"model" "*77"
}
{
"classname" "monster_demon1"
"origin" "1056 -880 1128"
"angle" "90"
"spawnflags" "768"
"targetname" "t105"
}
{
"classname" "trigger_once"
"spawnflags" "768"
"target" "t105"
"model" "*78"
}
{
"classname" "light"
"origin" "1056 -920 1184"
"light" "125"
}
{
"classname" "trigger_relay"
"origin" "1104 -864 1120"
"target" "t105"
}
{
"classname" "monster_ogre"
"origin" "1120 768 1416"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "air_bubbles"
"origin" "884 1616 440"
}
{
"targetname" "t106"
"spawnflags" "768"
"angle" "270"
"origin" "-264 2232 1296"
"classname" "info_teleport_destination"
}
{
"classname" "path_corner"
"origin" "568 1984 928"
"targetname" "t107"
"target" "t108"
"spawnflags" "256"
}
{
"origin" "424 1960 928"
"classname" "path_corner"
"target" "t107"
"spawnflags" "256"
"targetname" "t111"
}
{
"classname" "path_corner"
"origin" "704 2024 928"
"targetname" "t108"
"target" "t109"
"spawnflags" "256"
}
{
"origin" "712 1712 928"
"classname" "path_corner"
"targetname" "t109"
"target" "t110"
"spawnflags" "256"
}
{
"classname" "path_corner"
"origin" "712 1416 928"
"targetname" "t110"
"target" "t109"
"spawnflags" "256"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"lip" "-24"
"targetname" "t26"
"spawnflags" "2304"
"model" "*79"
}
{
"classname" "monster_ogre"
"origin" "240 2048 944"
"angle" "0"
"spawnflags" "257"
"target" "t111"
}
{
"target" "t23"
"spawnflags" "1792"
"classname" "trigger_once"
"model" "*80"
}
{
"classname" "monster_knight"
"origin" "576 2768 536"
"angle" "0"
"spawnflags" "256"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "824 2776 536"
"classname" "monster_knight"
}
{
"classname" "monster_wizard"
"origin" "704 -1032 1024"
"angle" "90"
"spawnflags" "256"
"targetname" "t52"
}
{
"angle" "90"
"origin" "760 -1032 1024"
"classname" "monster_wizard"
"spawnflags" "768"
"targetname" "t114"
}
{
"classname" "monster_wizard"
"origin" "816 -1032 1024"
"angle" "90"
"spawnflags" "768"
"targetname" "t114"
}
{
"targetname" "t52"
"classname" "trigger_teleport"
"spawnflags" "258"
"target" "t112"
"model" "*81"
}
{
"classname" "trigger_teleport"
"spawnflags" "770"
"target" "t113"
"targetname" "t114"
"model" "*82"
}
{
"targetname" "t114"
"classname" "trigger_teleport"
"spawnflags" "770"
"target" "t115"
"model" "*83"
}
{
"classname" "info_teleport_destination"
"origin" "896 224 1352"
"angle" "135"
"spawnflags" "256"
"targetname" "t112"
}
{
"classname" "info_teleport_destination"
"origin" "488 1648 1016"
"angle" "315"
"spawnflags" "768"
"targetname" "t113"
}
{
"classname" "trigger_once"
"spawnflags" "768"
"target" "t114"
"model" "*84"
}
{
"classname" "info_teleport_destination"
"origin" "800 904 928"
"angle" "90"
"spawnflags" "768"
"targetname" "t115"
}
{
"angle" "270"
"origin" "-256 2232 1242"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "-256 2096 1218"
"classname" "weapon_supershotgun"
}
{
"angle" "270"
"origin" "704 424 1266"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 2488 946"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 1968 546"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "704 104 898"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 1568 938"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "704 1344 912"
"classname" "weapon_rocketlauncher"
}
{
"angle" "0"
"origin" "712 -576 840"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "944 -576 816"
"classname" "weapon_nailgun"
}
{
"angle" "180"
"origin" "1064 -576 1128"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "696 584 1256"
"classname" "weapon_grenadelauncher"
}
{
"classname" "light"
"origin" "316 804 780"
"light" "150"
}
{
"classname" "light"
"origin" "316 804 644"
"light" "75"
}
{
"classname" "item_rockets"
"origin" "298 710 706"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "988 -928 1104"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "-56 2112 1220"
"spawnflags" "3584"
}
{
"classname" "item_health"
"origin" "-56 2072 1220"
"spawnflags" "2305"
}
{
"spawnflags" "1"
"origin" "584 2416 512"
"classname" "item_spikes"
}
{
"origin" "688 1392 516"
"classname" "item_spikes"
}
{
"classname" "item_artifact_invulnerability"
"origin" "712 2312 948"
"spawnflags" "1792"
}
{
"origin" "32 1392 916"
"classname" "item_artifact_envirosuit"
}
{
"mangle" "26 310 0"
"origin" "384 488 1552"
"classname" "info_intermission"
}
{
"light" "100"
"origin" "800 1160 464"
"classname" "light"
}
{
"classname" "light"
"origin" "608 1160 464"
"light" "100"
}
{
"light" "100"
"origin" "604 1472 464"
"classname" "light"
}
{
"target" "t40"
"classname" "trigger_teleport"
"model" "*85"
}
{
"mangle" "-20 75 0"
"origin" "456 2144 568"
"classname" "info_intermission"
}
{
"mangle" "10 80 0"
"origin" "464 1032 1000"
"classname" "info_intermission"
}
{
"mangle" "20 135 0"
"origin" "1080 -752 1008"
"classname" "info_intermission"
}
{
"classname" "trigger_secret"
"model" "*86"
}
{
"classname" "path_corner"
"origin" "1632 216 896"
"targetname" "t116"
"target" "t84"
}
{
"classname" "item_spikes"
"origin" "1200 48 872"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "928 2664 320"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "1240 768 1384"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-88 2160 1224"
"spawnflags" "2049"
}
{
"classname" "info_player_coop"
"origin" "-208 2272 1240"
"angle" "270"
}
{
"angle" "270"
"origin" "-304 2272 1240"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-352 2272 1240"
"angle" "270"
}
{
"light" "200"
"origin" "1288 1648 956"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "-264 1464 888"
}
{
"spawnflags" "1792"
"origin" "1296 1488 888"
"classname" "item_artifact_invisibility"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*87"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*88"
}
{
"target" "t118"
"targetname" "t117"
"origin" "-176 1640 888"
"classname" "path_corner"
}
{
"targetname" "t118"
"target" "t117"
"classname" "path_corner"
"origin" "-320 1640 888"
}
{
"target" "t117"
"origin" "-256 1632 904"
"classname" "monster_knight"
"spawnflags" "1"
}
{
"origin" "1376 1424 864"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1"
"targetname" "t120"
"target" "t119"
"classname" "trigger_counter"
"model" "*89"
}
{
"target" "t120"
"targetname" "t53"
"classname" "trigger_once"
"model" "*90"
}
{
"target" "t120"
"targetname" "t39"
"classname" "trigger_once"
"model" "*91"
}
{
"classname" "light"
"origin" "480 2568 568"
"light" "125"
}
{
"origin" "162 1482 976"
"classname" "ambient_drip"
}
{
"origin" "786 1010 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "778 1210 584"
}
{
"origin" "594 1202 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "602 1010 584"
}
{
"origin" "786 1514 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "794 1698 584"
}
{
"origin" "618 1690 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "618 1522 584"
}
{
"origin" "698 1362 584"
"classname" "ambient_drip"
}
{
"origin" "714 1970 592"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "898 2170 592"
}
{
"origin" "938 2346 592"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "682 2298 592"
}
{
"origin" "458 2306 592"
"classname" "ambient_drip"
}
{
"origin" "458 1690 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "322 1506 880"
}
{
"origin" "338 1226 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "466 1090 880"
}
{
"origin" "394 882 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "674 810 880"
}
{
"origin" "914 818 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "922 1034 880"
}
{
"origin" "1082 1266 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "994 1442 880"
}
{
"origin" "898 1714 880"
"classname" "ambient_drip"
}
{
"origin" "706 1362 1080"
"classname" "ambient_drip"
}
{
"origin" "1194 1522 1032"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1314 1354 1032"
}
{
"origin" "442 354 920"
"classname" "ambient_swamp1"
}
{
"origin" "978 314 920"
"classname" "ambient_swamp2"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e2m2.ent 0000644 0000000 0000000 00000065053 12425501423 017050 0 ustar root root {
"message" "the Ogre Citadel"
"sounds" "8"
"wad" "gfx/wizard.wad"
"classname" "worldspawn"
"worldtype" "0"
}
{
"origin" "160 -160 120"
"classname" "light"
}
{
"angle" "90"
"origin" "-256 -1952 280"
"classname" "info_player_start"
}
{
"classname" "light"
"origin" "160 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "160 -648 184"
}
{
"classname" "light"
"origin" "-56 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "376 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "288 -416 -72"
"light" "200"
}
{
"classname" "light"
"origin" "32 -416 -72"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "10 -270 148"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "314 -270 148"
"light" "250"
}
{
"classname" "light"
"origin" "-264 -440 248"
"light" "200"
}
{
"classname" "light"
"origin" "584 -440 248"
"light" "200"
}
{
"classname" "light"
"origin" "544 -648 248"
}
{
"light" "150"
"origin" "648 -456 -184"
"classname" "light"
}
{
"origin" "376 -800 184"
"classname" "light"
}
{
"classname" "light"
"origin" "-152 -752 184"
"light" "250"
}
{
"classname" "light"
"origin" "-232 -592 184"
"light" "250"
}
{
"classname" "light"
"origin" "160 112 184"
}
{
"classname" "light"
"origin" "160 352 120"
}
{
"classname" "light"
"origin" "160 216 -48"
"light" "120"
}
{
"classname" "light"
"origin" "160 16 -48"
"light" "120"
}
{
"classname" "light"
"origin" "160 544 144"
"light" "225"
}
{
"classname" "light"
"origin" "480 576 88"
}
{
"classname" "light"
"origin" "480 448 88"
}
{
"classname" "light"
"origin" "480 576 168"
"light" "250"
}
{
"classname" "light"
"origin" "480 448 168"
"light" "250"
}
{
"classname" "light"
"origin" "160 896 312"
"light" "350"
}
{
"classname" "light"
"origin" "288 896 312"
"light" "100"
}
{
"classname" "light"
"origin" "32 896 312"
"light" "100"
}
{
"classname" "light"
"origin" "160 1008 312"
"light" "100"
}
{
"classname" "light"
"origin" "160 784 312"
"light" "100"
}
{
"classname" "light"
"origin" "392 120 184"
"light" "350"
}
{
"classname" "light"
"origin" "568 208 184"
"light" "350"
}
{
"classname" "light"
"origin" "720 480 184"
}
{
"classname" "light"
"origin" "640 632 184"
}
{
"classname" "light"
"origin" "472 1152 56"
}
{
"classname" "light"
"origin" "512 896 152"
}
{
"origin" "800 800 184"
"classname" "light"
}
{
"light" "200"
"origin" "632 1264 -40"
"classname" "light"
}
{
"origin" "800 1032 184"
"classname" "light"
}
{
"origin" "760 1472 64"
"classname" "light"
}
{
"light" "200"
"origin" "544 1416 56"
"classname" "light"
}
{
"origin" "672 1256 184"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "1024 1272 184"
"classname" "light"
}
{
"light" "200"
"origin" "992 1440 184"
"classname" "light"
}
{
"origin" "1240 488 184"
"classname" "light"
}
{
"origin" "1280 136 176"
"classname" "light"
}
{
"origin" "160 1304 136"
"classname" "light"
}
{
"origin" "160 1648 256"
"classname" "light"
"light" "200"
}
{
"origin" "240 1600 256"
"classname" "light"
"light" "200"
}
{
"origin" "16 1616 168"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "-120 1304 40"
"classname" "light"
}
{
"origin" "-352 1144 16"
"classname" "light"
"light" "250"
}
{
"origin" "-56 1096 64"
"classname" "light"
}
{
"light" "200"
"origin" "-56 1152 280"
"classname" "light"
}
{
"light" "350"
"origin" "-440 1144 200"
"classname" "light"
}
{
"light" "200"
"origin" "-352 1336 -72"
"classname" "light"
}
{
"origin" "-488 368 56"
"classname" "light"
"light" "250"
}
{
"light" "350"
"origin" "-488 896 136"
"classname" "light"
}
{
"origin" "-216 896 184"
"classname" "light"
"light" "250"
}
{
"origin" "-128 536 168"
"classname" "light"
"light" "200"
}
{
"light" "150"
"origin" "-104 480 32"
"classname" "light"
}
{
"light" "150"
"origin" "-208 936 56"
"classname" "light"
}
{
"light" "150"
"origin" "-208 736 32"
"classname" "light"
}
{
"origin" "-344 64 184"
"classname" "light"
}
{
"light" "350"
"origin" "-648 384 184"
"classname" "light"
}
{
"light" "350"
"origin" "-488 688 184"
"classname" "light"
}
{
"light" "150"
"origin" "-680 496 -36"
"classname" "light"
}
{
"light" "350"
"origin" "-600 1104 96"
"classname" "light"
}
{
"origin" "-824 896 168"
"classname" "light"
}
{
"origin" "-896 600 160"
"classname" "light"
}
{
"target" "t1"
"classname" "trigger_teleport"
"model" "*1"
}
{
"spawnflags" "1792"
"targetname" "t1"
"origin" "-448 264 -56"
"classname" "info_teleport_destination"
"angle" "45"
}
{
"light" "250"
"origin" "-168 1320 160"
"classname" "light"
}
{
"origin" "-24 896 184"
"classname" "light"
}
{
"origin" "-104 896 184"
"classname" "light"
"light" "250"
}
{
"spawnflags" "2"
"origin" "-680 880 48"
"classname" "item_health"
}
{
"angle" "90"
"origin" "-896 512 24"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "-184 560 128"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "160 1640 160"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "1272 112 80"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "176 -784 24"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1"
"origin" "208 -160 0"
"classname" "item_rockets"
}
{
"origin" "64 464 0"
"classname" "item_health"
}
{
"origin" "120 464 0"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-8 840 64"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-8 952 64"
"classname" "item_health"
}
{
"spawnflags" "9"
"origin" "568 880 0"
"classname" "item_weapon"
}
{
"origin" "456 1104 -88"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "664 1272 -88"
"classname" "item_shells"
}
{
"angle" "225"
"origin" "888 1312 120"
"classname" "info_player_deathmatch"
}
{
"origin" "1328 168 56"
"classname" "item_health"
}
{
"origin" "1328 128 56"
"classname" "item_health"
}
{
"origin" "1328 208 56"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "816 1472 0"
"classname" "item_shells"
}
{
"light" "200"
"origin" "-64 -120 -56"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -160 -56"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -208 -272"
"classname" "light"
}
{
"classname" "func_plat"
"model" "*2"
}
{
"spawnflags" "2"
"origin" "-192 -176 -80"
"classname" "item_health"
}
{
"light" "350"
"origin" "-816 128 184"
"classname" "light"
}
{
"light" "350"
"origin" "-664 -80 184"
"classname" "light"
}
{
"light" "250"
"origin" "-656 112 32"
"classname" "light"
}
{
"origin" "-352 208 56"
"classname" "light"
"light" "250"
}
{
"origin" "-184 504 24"
"classname" "light"
"light" "250"
}
{
"classname" "item_armor1"
"origin" "400 -888 0"
}
{
"spawnflags" "1792"
"classname" "item_armorInv"
"origin" "-104 448 104"
}
{
"classname" "item_armor2"
"origin" "-680 496 32"
}
{
"classname" "weapon_grenadelauncher"
"origin" "168 1608 136"
"spawnflags" "1792"
}
{
"classname" "weapon_rocketlauncher"
"origin" "1232 176 56"
"spawnflags" "1792"
}
{
"classname" "weapon_supernailgun"
"origin" "-960 944 40"
"spawnflags" "1792"
}
{
"classname" "weapon_supershotgun"
"origin" "752 1464 0"
"spawnflags" "1792"
}
{
"classname" "weapon_nailgun"
"origin" "160 120 24"
"spawnflags" "1792"
}
{
"classname" "item_rockets"
"origin" "-224 792 104"
"spawnflags" "1792"
}
{
"classname" "item_rockets"
"origin" "-640 120 -56"
"spawnflags" "1792"
}
{
"light" "200"
"origin" "-70 -1126 212"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "186 -1134 148"
}
{
"light" "200"
"origin" "138 -966 100"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-150 -1318 260"
}
{
"light" "150"
"origin" "184 -880 72"
"classname" "light"
}
{
"style" "6"
"light" "200"
"origin" "-46 -1742 340"
"classname" "light_torch_small_walltorch"
}
{
"style" "1"
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-486 -1726 340"
}
{
"origin" "-272 -1544 384"
"classname" "light"
"light" "200"
}
{
"style" "6"
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-414 -2006 340"
}
{
"style" "1"
"light" "200"
"origin" "-134 -1958 340"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "-472 -1840 328"
"classname" "light"
}
{
"classname" "light"
"origin" "-72 -1592 328"
"light" "150"
}
{
"light" "150"
"origin" "-320 -1424 264"
"classname" "light"
}
{
"light" "150"
"origin" "-256 -1952 280"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-272 -1720 312"
}
{
"origin" "-232 -1280 168"
"classname" "path_corner"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "-64 -1176 120"
"targetname" "t6"
"target" "t7"
}
{
"origin" "152 -1104 56"
"classname" "path_corner"
"targetname" "t7"
"target" "t8"
}
{
"classname" "path_corner"
"origin" "192 -952 8"
"targetname" "t8"
"target" "t9"
}
{
"origin" "184 -808 8"
"classname" "path_corner"
"target" "t3"
"targetname" "t9"
}
{
"classname" "path_corner"
"origin" "512 -776 8"
"targetname" "t3"
"target" "t10"
}
{
"origin" "-200 -648 8"
"classname" "path_corner"
"targetname" "t4"
"target" "t11"
}
{
"classname" "monster_knight"
"origin" "-360 -1616 232"
"target" "t5"
"angle" "90"
}
{
"origin" "512 -648 8"
"classname" "path_corner"
"targetname" "t10"
"target" "t4"
}
{
"classname" "path_corner"
"origin" "-200 -776 8"
"targetname" "t11"
"target" "t3"
}
{
"classname" "monster_knight"
"origin" "24 -632 24"
"spawnflags" "256"
"target" "t4"
}
{
"classname" "monster_knight"
"origin" "336 -752 24"
"spawnflags" "256"
"target" "t3"
}
{
"classname" "monster_knight"
"origin" "56 -712 24"
"angle" "270"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "160 -712 24"
"classname" "monster_knight"
}
{
"classname" "monster_knight"
"origin" "264 -712 24"
"angle" "270"
"spawnflags" "768"
}
{
"classname" "item_health"
"origin" "-432 -1640 208"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-352 -592 0"
}
{
"classname" "func_door"
"angle" "90"
"spawnflags" "1"
"targetname" "t13"
"wait" "-1"
"sounds" "3"
"dmg" "100"
"model" "*3"
}
{
"health" "1"
"angle" "90"
"classname" "func_button"
"target" "t12"
"wait" "-1"
"sounds" "1"
"model" "*4"
}
{
"classname" "func_button"
"angle" "90"
"health" "1"
"target" "t12"
"wait" "-1"
"sounds" "1"
"model" "*5"
}
{
"classname" "trigger_counter"
"targetname" "t12"
"count" "2"
"target" "t13"
"model" "*6"
}
{
"classname" "monster_demon1"
"origin" "160 -128 24"
"angle" "270"
"targetname" "t12"
}
{
"classname" "light"
"origin" "-8 -288 64"
"light" "200"
}
{
"light" "200"
"origin" "328 -288 64"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -368 -248"
"light" "200"
}
{
"light" "200"
"origin" "616 -448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "408 -456 -248"
"light" "200"
}
{
"light" "200"
"origin" "-40 -424 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-280 -448 32"
"light" "200"
}
{
"light" "200"
"origin" "632 -424 32"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -480 8"
"light" "150"
}
{
"classname" "func_door"
"angle" "180"
"targetname" "t12"
"sounds" "3"
"speed" "200"
"wait" "-1"
"lip" "-2"
"model" "*7"
}
{
"classname" "func_door"
"angle" "0"
"speed" "200"
"wait" "-1"
"lip" "-2"
"model" "*8"
}
{
"classname" "light"
"origin" "160 -304 112"
"light" "170"
}
{
"classname" "light"
"origin" "160 640 104"
"light" "200"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t14"
"sounds" "1"
"model" "*9"
}
{
"classname" "trigger_multiple"
"target" "t14"
"wait" "10"
"model" "*10"
}
{
"targetname" "t28"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"sounds" "1"
"speed" "200"
"spawnflags" "2048"
"model" "*11"
}
{
"angle" "270"
"classname" "func_button"
"target" "t15"
"wait" "-1"
"lip" "2"
"sounds" "1"
"spawnflags" "2048"
"model" "*12"
}
{
"classname" "light"
"origin" "-296 432 0"
"light" "200"
}
{
"light" "200"
"origin" "-312 416 152"
"classname" "light"
}
{
"classname" "light"
"origin" "-184 320 146"
"light" "200"
}
{
"classname" "item_key2"
"origin" "-552 192 -40"
"sounds" "1"
"spawnflags" "2048"
}
{
"classname" "item_spikes"
"origin" "-680 88 -48"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "33"
"speed" "10"
"sounds" "3"
"wait" "-1"
"targetname" "t16"
"dmg" "100"
"model" "*13"
"lip" "7" // svdijk -- added to prevent z-fighting
}
{
"sounds" "3"
"classname" "func_door"
"angle" "90"
"spawnflags" "2056"
"wait" "-1"
"model" "*14"
}
{
"spawnflags" "2056"
"angle" "270"
"classname" "func_door"
"wait" "-1"
"model" "*15"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t16"
"lip" "12"
"model" "*16"
}
{
"classname" "light"
"origin" "888 1080 -104"
"light" "160"
}
{
"light" "160"
"origin" "888 888 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "880 696 -104"
"light" "160"
}
{
"light" "160"
"origin" "696 888 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1080 -104"
"light" "160"
}
{
"light" "200"
"origin" "696 672 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "568 512 -104"
"light" "200"
}
{
"light" "160"
"origin" "840 504 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "832 328 -104"
"light" "160"
}
{
"classname" "light"
"origin" "936 512 96"
"light" "200"
}
{
"classname" "light"
"origin" "-248 1080 56"
"light" "150"
}
{
"classname" "light"
"origin" "888 1264 176"
"light" "170"
}
{
"classname" "func_door"
"angle" "-2"
"targetname" "t17"
"sounds" "1"
"model" "*17"
}
{
"classname" "trigger_multiple"
"target" "t17"
"wait" "5"
"model" "*18"
}
{
"classname" "light"
"origin" "160 120 -24"
"light" "160"
}
{
"spawnflags" "256"
"classname" "trigger_multiple"
"target" "t18"
"targetname" "t23"
"model" "*19"
}
{
"wait" "0.5"
"classname" "trap_spikeshooter"
"origin" "88 368 40"
"angle" "0"
"targetname" "t18"
}
{
"classname" "func_wall"
"spawnflags" "2048"
"model" "*20"
}
{
"classname" "monster_demon1"
"origin" "-160 608 128"
"targetname" "t19"
}
{
"classname" "trigger_once"
"target" "t19"
"model" "*21"
}
{
"classname" "light"
"origin" "-528 512 -104"
"light" "200"
}
{
"light" "200"
"origin" "-344 592 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-336 760 -104"
"light" "200"
}
{
"light" "200"
"origin" "-432 856 -104"
"classname" "light"
}
{
"classname" "monster_ogre"
"origin" "-416 440 -40"
"spawnflags" "1536"
"target" "t20"
}
{
"classname" "monster_shambler"
"origin" "-272 296 -40"
"spawnflags" "256"
"target" "t20"
}
{
"classname" "path_corner"
"origin" "-328 272 -56"
"targetname" "t20"
"target" "t21"
}
{
"origin" "-400 480 -56"
"classname" "path_corner"
"target" "t20"
"targetname" "t21"
}
{
"classname" "item_health"
"origin" "-600 144 -64"
}
{
"classname" "weapon_supershotgun"
"origin" "440 512 0"
"spawnflags" "2048"
}
{
"classname" "light"
"origin" "-120 176 184"
"light" "250"
}
{
"origin" "-96 0 184"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "312 116 -48"
"light" "200"
}
{
"classname" "path_corner"
"origin" "8 112 32"
"target" "t25"
"targetname" "t24"
}
{
"origin" "312 112 32"
"classname" "path_corner"
"targetname" "t25"
"target" "t24"
}
{
"classname" "monster_ogre"
"origin" "112 112 48"
"target" "t24"
"spawnflags" "256"
}
{
"classname" "item_shells"
"origin" "88 -160 0"
"spawnflags" "1"
}
{
"light" "250"
"classname" "light"
"origin" "-352 144 56"
}
{
"classname" "monster_demon1"
"origin" "-80 -440 -296"
"spawnflags" "256"
"target" "t26"
}
{
"classname" "path_corner"
"origin" "-216 -456 -312"
"targetname" "t26"
"target" "t27"
}
{
"origin" "536 -448 -312"
"classname" "path_corner"
"target" "t26"
"targetname" "t27"
}
{
"light" "200"
"origin" "320 232 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "312 0 -104"
"light" "200"
}
{
"light" "160"
"origin" "-8 0 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-8 232 -104"
"light" "200"
}
{
"light" "200"
"origin" "-16 112 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-248 -8 -104"
"light" "200"
}
{
"light" "200"
"origin" "-472 120 -104"
"classname" "light"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "-1"
"targetname" "t15"
"sounds" "1"
"spawnflags" "2048"
"model" "*22"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "2081"
"targetname" "t28"
"wait" "10"
"speed" "200"
"sounds" "1"
"model" "*23"
}
{
"classname" "trigger_once"
"target" "t28"
"model" "*24"
}
{
"classname" "trigger_once"
"target" "t12"
"model" "*25"
}
{
"classname" "monster_ogre"
"origin" "160 1432 128"
"angle" "270"
}
{
"classname" "monster_ogre"
"origin" "-216 784 128"
"angle" "90"
}
{
"classname" "info_teleport_destination"
"origin" "-360 888 24"
"spawnflags" "2048"
"targetname" "t1"
}
{
"classname" "monster_zombie"
"origin" "-288 -232 -296"
"angle" "270"
}
{
"classname" "monster_zombie"
"origin" "168 -8 -104"
"angle" "90"
}
{
"classname" "monster_ogre"
"origin" "648 1232 -64"
"angle" "180"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"targetname" "t29"
"model" "*26"
}
{
"classname" "monster_ogre"
"origin" "520 752 24"
"angle" "90"
"spawnflags" "256"
"targetname" "t29"
}
{
"classname" "trigger_once"
"target" "t29"
"model" "*27"
}
{
"classname" "weapon_nailgun"
"origin" "152 1608 136"
"spawnflags" "2048"
}
{
"classname" "path_corner"
"origin" "544 896 8"
"targetname" "t30"
"target" "t31"
}
{
"origin" "56 896 72"
"classname" "path_corner"
"target" "t30"
"targetname" "t31"
}
{
"classname" "path_corner"
"origin" "168 552 8"
"targetname" "t32"
"target" "t33"
}
{
"origin" "168 1392 8"
"classname" "path_corner"
"target" "t32"
"targetname" "t33"
}
{
"classname" "monster_knight"
"origin" "240 584 24"
"target" "t32"
}
{
"classname" "monster_knight"
"origin" "504 960 24"
"target" "t30"
"spawnflags" "256"
}
{
"classname" "monster_knight"
"origin" "-16 896 88"
"angle" "0"
}
{
"classname" "monster_knight"
"origin" "256 1224 24"
"angle" "225"
"spawnflags" "256"
}
{
"target" "t49"
"origin" "-24 1064 16"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"angle" "45"
"origin" "-184 1080 128"
"classname" "monster_ogre"
}
{
"angle" "45"
"origin" "-256 1216 128"
"classname" "monster_knight"
}
{
"targetname" "t16"
"angle" "270"
"origin" "784 520 56"
"classname" "monster_demon1"
}
{
"classname" "path_corner"
"origin" "-352 888 16"
"targetname" "t34"
"target" "t35"
}
{
"origin" "-120 888 8"
"classname" "path_corner"
"target" "t34"
"targetname" "t35"
}
{
"classname" "monster_ogre"
"origin" "-184 912 24"
"target" "t34"
"spawnflags" "256"
}
{
"classname" "monster_ogre"
"origin" "-720 896 64"
}
{
"classname" "monster_knight"
"origin" "-344 760 24"
"angle" "135"
"spawnflags" "256"
}
{
"classname" "monster_knight"
"origin" "-392 584 24"
"angle" "90"
"spawnflags" "256"
}
{
"angle" "90"
"classname" "monster_knight"
"origin" "-528 528 24"
"spawnflags" "768"
}
{
"targetname" "t37"
"target" "t36"
"origin" "-896 968 48"
"classname" "path_corner"
}
{
"target" "t37"
"targetname" "t36"
"classname" "path_corner"
"origin" "-896 568 48"
}
{
"spawnflags" "256"
"target" "t36"
"origin" "-840 600 24"
"classname" "monster_ogre"
}
{
"style" "32"
"targetname" "t15"
"light" "200"
"origin" "-56 304 152"
"classname" "light"
}
{
"dmg" "100"
"speed" "200"
"targetname" "t15"
"target" "t38"
"classname" "func_train"
"model" "*28"
}
{
"target" "t39"
"targetname" "t40"
"origin" "-216 280 104"
"classname" "path_corner"
}
{
"target" "t40"
"targetname" "t38"
"classname" "path_corner"
"origin" "-15 280 104" // svdijk -- changed to prevent z-fighting (was "-16 280 104")
}
{
"target" "t38"
"wait" "-1"
"targetname" "t39"
"origin" "-15 280 104" // svdijk -- changed to prevent z-fighting (was "-16 280 104")
"classname" "path_corner"
}
{
"angle" "180"
"origin" "680 1472 24"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "864 1448 24"
"classname" "monster_knight"
}
{
"target" "t42"
"targetname" "t41"
"origin" "1024 1264 104"
"classname" "path_corner"
}
{
"targetname" "t42"
"target" "t41"
"classname" "path_corner"
"origin" "704 1264 104"
}
{
"target" "t41"
"origin" "1056 1320 120"
"classname" "monster_knight"
}
{
"spawnflags" "257"
"origin" "552 1280 128"
"classname" "monster_knight"
}
{
"spawnflags" "1"
"origin" "432 1280 128"
"classname" "monster_knight"
}
{
"spawnflags" "2048"
"angle" "0"
"wait" "-1"
"sounds" "0"
"health" "1"
"target" "t28"
"classname" "func_button"
"model" "*29"
}
{
"origin" "-72 296 104"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-64 504 104"
}
{
"origin" "-312 192 -64"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-80 384 -64"
"classname" "item_spikes"
}
{
"origin" "-224 976 104"
"classname" "item_shells"
}
{
"target" "t666"
"classname" "trigger_multiple"
"wait" "10"
"model" "*30"
}
{
"target" "t45"
"targetname" "t44"
"origin" "984 568 8"
"classname" "path_corner"
}
{
"target" "t46"
"targetname" "t45"
"classname" "path_corner"
"origin" "976 464 8"
}
{
"target" "t47"
"targetname" "t46"
"origin" "1224 448 40"
"classname" "path_corner"
}
{
"target" "t44"
"targetname" "t43"
"classname" "path_corner"
"origin" "1272 520 40"
}
{
"target" "t48"
"targetname" "t47"
"classname" "path_corner"
"origin" "1224 144 64"
}
{
"targetname" "t48"
"target" "t43"
"origin" "1344 120 64"
"classname" "path_corner"
}
{
"target" "t45"
"origin" "968 520 24"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"target" "t43"
"origin" "1312 328 80"
"classname" "monster_knight"
}
{
"spawnflags" "768"
"target" "t47"
"origin" "1240 296 80"
"classname" "monster_ogre"
}
{
"origin" "-360 1064 -8"
"classname" "weapon_grenadelauncher"
}
{
"target" "t50"
"targetname" "t49"
"origin" "-16 1168 0"
"classname" "path_corner"
}
{
"targetname" "t50"
"target" "t49"
"classname" "path_corner"
"origin" "-232 1168 0"
}
{
"origin" "1448 -128 -56"
"classname" "light"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "270"
"model" "*31"
}
{
"wait" "-1"
"targetname" "t52"
"sounds" "3"
"classname" "func_door"
"angle" "90"
"model" "*32"
}
{
"classname" "light"
"origin" "1984 -184 288"
"light" "350"
}
{
"classname" "light"
"origin" "1760 -312 -184"
"light" "200"
}
{
"origin" "1832 -64 -184"
"classname" "light"
"light" "200"
}
{
"light" "160"
"origin" "1808 -296 -24"
"classname" "light"
}
{
"classname" "light"
"origin" "1224 -8 -184"
"light" "160"
}
{
"light" "160"
"origin" "1240 -208 -184"
"classname" "light"
}
{
"classname" "light"
"origin" "1680 -104 -184"
"light" "160"
}
{
"light" "160"
"origin" "1584 -304 -184"
"classname" "light"
}
{
"origin" "1592 -72 288"
"classname" "light"
}
{
"classname" "light"
"origin" "1328 -232 288"
}
{
"classname" "light"
"origin" "1280 -16 327"
"light" "250"
}
{
"classname" "light"
"origin" "1792 -152 88"
"light" "160"
}
{
"light" "160"
"origin" "1632 -296 88"
"classname" "light"
}
{
"origin" "1696 -280 288"
"classname" "light"
}
{
"classname" "light"
"origin" "1240 -224 -8"
"light" "200"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*33"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*34"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*35"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*36"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*37"
}
{
"classname" "monster_ogre"
"origin" "1992 -192 200"
"angle" "180"
"spawnflags" "256"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"targetname" "t51"
"model" "*38"
}
{
"classname" "trigger_multiple"
"target" "t51"
"model" "*39"
}
{
"classname" "func_plat"
"model" "*40"
}
{
"classname" "light"
"origin" "1480 56 -168"
"light" "160"
}
{
"origin" "1432 280 -64"
"classname" "light"
"light" "160"
}
{
"light" "160"
"classname" "light"
"origin" "1424 280 96"
}
{
"light" "160"
"origin" "1472 232 -168"
"classname" "light"
}
{
"classname" "monster_zombie"
"origin" "1592 -24 160"
"angle" "180"
}
{
"classname" "monster_zombie"
"origin" "1432 -304 112"
"angle" "135"
"spawnflags" "256"
}
{
"classname" "monster_zombie"
"origin" "1304 -288 112"
"angle" "90"
"spawnflags" "256"
}
{
"classname" "monster_zombie"
"origin" "1576 -216 136"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_zombie"
"origin" "1928 -80 200"
"spawnflags" "768"
"angle" "180"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "1928 -280 200"
"classname" "monster_zombie"
}
{
"classname" "trigger_changelevel"
"map" "e2m3"
"model" "*41"
}
{
"classname" "light"
"origin" "80 1544 40"
"light" "160"
}
{
"light" "160"
"origin" "-112 1544 40"
"classname" "light"
}
{
"classname" "item_shells"
"origin" "1056 552 8"
}
{
"classname" "light"
"origin" "-112 1672 40"
"light" "160"
}
{
"light" "160"
"origin" "88 1680 40"
"classname" "light"
}
{
"classname" "item_health"
"origin" "-168 1688 -8"
"spawnflags" "1"
}
{
"classname" "monster_knight"
"origin" "-112 1616 16"
"angle" "45"
"spawnflags" "768"
}
{
"classname" "monster_demon1"
"origin" "1760 -208 -216"
"angle" "180"
}
{
"classname" "trigger_secret"
"model" "*42"
}
{
"classname" "trigger_secret"
"model" "*43"
}
{
"classname" "trigger_secret"
"model" "*44"
}
{
"classname" "trigger_multiple"
"target" "t29"
"model" "*45"
}
{
"classname" "item_shells"
"origin" "-144 -1728 288"
"spawnflags" "768"
}
{
"classname" "item_rockets"
"origin" "2000 -304 176"
"spawnflags" "1793"
}
{
"classname" "item_rockets"
"origin" "2000 -112 176"
"spawnflags" "1793"
}
{
"origin" "-62 -702 72"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "386 -702 72"
}
{
"origin" "-246 -470 -264"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp1"
"origin" "554 -454 -264"
}
{
"origin" "162 -430 -264"
"classname" "ambient_swamp1"
}
{
"spawnflags" "1"
"origin" "-72 576 104"
"classname" "item_shells"
}
{
"spawnflags" "2048"
"wait" "10"
"target" "t16"
"classname" "trigger_multiple"
"model" "*46"
}
{
"targetname" "t16"
"sounds" "4"
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"model" "*47"
}
{
"origin" "-184 1480 168"
"classname" "light"
"light" "160"
}
{
"classname" "light"
"origin" "-224 1592 168"
"light" "100"
}
{
"target" "t52"
"classname" "trigger_once"
"model" "*48"
}
{
"mangle" "20 30 0"
"origin" "1224 -288 336"
"classname" "info_intermission"
}
{
"mangle" "20 180 0"
"origin" "-352 760 240"
"classname" "info_intermission"
}
{
"mangle" "20 135 0"
"origin" "480 -440 208"
"classname" "info_intermission"
}
{
"angle" "90"
"origin" "-176 -1904 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-128 -1848 264"
"angle" "90"
}
{
"angle" "90"
"origin" "-192 -1808 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-320 -1824 264"
"angle" "90"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*49"
}
{
"spawnflags" "1792"
"origin" "200 -664 0"
"classname" "weapon_lightning"
}
{
"origin" "-184 1512 144"
"classname" "item_artifact_super_damage"
}
{
"classname" "item_cells"
"origin" "240 -664 0"
"spawnflags" "1793"
}
{
"classname" "item_cells"
"origin" "392 640 0"
"spawnflags" "1793"
}
{
"classname" "item_cells"
"origin" "-168 456 104"
"spawnflags" "1793"
}
{
"classname" "func_door"
"angle" "-1"
"spawnflags" "1"
"wait" "6"
"speed" "1000"
"sounds" "3"
"targetname" "t15"
"model" "*50"
}
{
"classname" "weapon_grenadelauncher"
"origin" "1312 280 56"
"spawnflags" "3584"
}
{
"sounds" "2"
"wait" "5"
"message" "Shoot the buttons..."
"spawnflags" "3584"
"classname" "trigger_multiple"
"targetname" "t53"
"model" "*51"
}
{
"classname" "trigger_relay"
"origin" "-72 -320 48"
"targetname" "t13"
"killtarget" "t53"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m2.ent 0000644 0000000 0000000 00000120507 12403131422 017035 0 ustar root root {
"message" "Castle of the Damned"
"wad" "gfx/wizard.wad"
"classname" "worldspawn"
"worldtype" "0"
"sounds" "8"
}
{
"angle" "270"
"origin" "1496 1664 296"
"classname" "info_player_start"
}
{
"origin" "1432 672 336"
"classname" "light"
"light" "250"
}
{
"light" "200"
"origin" "1496 888 272"
"classname" "light"
}
{
"classname" "light_torch_small_walltorch"
"origin" "932 640 340"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1104 812 340"
}
{
"classname" "light"
"origin" "1104 640 544"
"light" "300"
}
{
"light" "175"
"origin" "1216 536 353"
"classname" "light"
}
{
"light" "250"
"origin" "1816 328 448"
"classname" "light"
}
{
"light" "200"
"origin" "1632 472 208"
"classname" "light"
}
{
"light" "200"
"origin" "1792 -392 240"
"classname" "light"
}
{
"light" "200"
"origin" "1452 -124 508"
"classname" "light"
}
{
"light" "150"
"origin" "1196 -124 508"
"classname" "light"
}
{
"light" "150"
"origin" "1044 -124 508"
"classname" "light"
}
{
"light" "200"
"origin" "756 -124 508"
"classname" "light"
}
{
"light" "250"
"origin" "744 336 145"
"classname" "light"
}
{
"light" "200"
"origin" "1176 -912 672"
"classname" "light"
}
{
"origin" "1328 -544 552"
"classname" "light"
}
{
"classname" "light"
"origin" "1528 -912 640"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "880 -648 672"
}
{
"origin" "240 -264 392"
"classname" "light"
"light" "250"
}
{
"classname" "light"
"origin" "-352 -504 464"
"light" "200"
}
{
"origin" "-448 -608 804"
"classname" "light"
"light" "450"
}
{
"light" "250"
"origin" "776 -912 472"
"classname" "light"
}
{
"light" "300"
"origin" "1630 -806 428"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "1528 -912 464"
"classname" "light"
}
{
"classname" "light"
"origin" "1180 -484 560"
}
{
"classname" "light"
"origin" "1184 -612 560"
}
{
"classname" "light"
"origin" "1016 -368 472"
"light" "100"
}
{
"classname" "light"
"origin" "1016 -464 472"
"light" "100"
}
{
"classname" "light"
"origin" "1020 -560 472"
"light" "100"
}
{
"classname" "light"
"origin" "1208 -776 472"
"light" "100"
}
{
"classname" "light"
"origin" "1288 -776 472"
"light" "100"
}
{
"classname" "light"
"origin" "1360 -776 472"
"light" "100"
}
{
"light" "200"
"origin" "1792 120 376"
"classname" "light"
}
{
"origin" "1538 182 356"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"origin" "1640 80 360"
"classname" "light"
}
{
"light" "200"
"origin" "1928 80 360"
"classname" "light"
}
{
"light" "250"
"origin" "1792 296 208"
"classname" "light"
}
{
"light" "150"
"origin" "1800 40 160"
"classname" "light"
}
{
"light" "200"
"origin" "1776 -392 160"
"classname" "light"
}
{
"light" "200"
"origin" "1304 -392 152"
"classname" "light"
}
{
"light" "250"
"origin" "1632 112 136"
"classname" "light"
}
{
"light" "250"
"origin" "1432 312 136"
"classname" "light"
}
{
"light" "200"
"origin" "1136 -656 160"
"classname" "light"
}
{
"light" "200"
"origin" "1136 -416 160"
"classname" "light"
}
{
"light" "250"
"origin" "1448 -552 160"
"classname" "light"
}
{
"light" "200"
"origin" "1920 440 136"
"classname" "light"
}
{
"light" "200"
"origin" "968 88 177"
"classname" "light"
}
{
"light" "300"
"origin" "1088 312 129"
"classname" "light"
}
{
"light" "150"
"origin" "1376 168 129"
"classname" "light"
}
{
"light" "250"
"origin" "112 -384 392"
"classname" "light"
}
{
"origin" "300 -1004 508"
"classname" "light"
}
{
"origin" "296 -812 505"
"classname" "light"
}
{
"origin" "300 -1204 505"
"classname" "light"
}
{
"light" "150"
"origin" "470 -1006 468"
"classname" "light_torch_small_walltorch"
}
{
"light" "250"
"origin" "984 -1216 496"
"classname" "light"
}
{
"light" "250"
"origin" "888 -1128 552"
"classname" "light"
}
{
"light" "200"
"origin" "800 -1216 592"
"classname" "light"
}
{
"light" "200"
"origin" "664 -1216 592"
"classname" "light"
}
{
"light" "200"
"origin" "584 -1136 592"
"classname" "light"
}
{
"light" "200"
"origin" "584 -968 592"
"classname" "light"
}
{
"light" "250"
"origin" "584 -744 592"
"classname" "light"
}
{
"light" "200"
"origin" "528 -1144 464"
"classname" "light"
}
{
"light" "200"
"origin" "528 -856 464"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "1496 1544 440"
}
{
"origin" "1384 1392 440"
"classname" "light"
"light" "250"
}
{
"origin" "1496 1104 520"
"classname" "light"
}
{
"origin" "1608 1400 440"
"classname" "light"
"light" "250"
}
{
"light" "250"
"origin" "1240 1712 360"
"classname" "light"
}
{
"light" "250"
"origin" "1744 1696 360"
"classname" "light"
}
{
"classname" "light"
"origin" "1384 1136 440"
"light" "250"
}
{
"classname" "light"
"origin" "1608 1144 440"
"light" "250"
}
{
"classname" "path_corner"
"origin" "1168 736 296"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "992 744 296"
"targetname" "t6"
"target" "t7"
}
{
"classname" "path_corner"
"origin" "1000 544 296"
"targetname" "t7"
"target" "t34"
}
{
"classname" "item_health"
"origin" "960 704 288"
}
{
"classname" "item_shells"
"origin" "952 512 288"
}
{
"classname" "path_corner"
"origin" "1344 -128 304"
"targetname" "t9"
"target" "t8"
}
{
"classname" "path_corner"
"origin" "898 -128 304"
"targetname" "t8"
"target" "t9"
}
{
"spawnflags" "1"
"classname" "monster_ogre"
"origin" "1018 -126 320"
"angle" "0"
"target" "t8"
}
{
"classname" "item_health"
"origin" "1344 -224 296"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1400 -224 296"
"spawnflags" "1"
}
{
"origin" "1528 192 296"
"classname" "item_shells"
}
{
"classname" "path_corner"
"origin" "1496 1040 184"
"targetname" "t22"
"target" "t23"
}
{
"classname" "path_corner"
"origin" "1496 840 248"
"targetname" "t23"
"target" "t33"
}
{
"spawnflags" "1"
"classname" "item_shells"
"origin" "1056 -648 288"
}
{
"classname" "item_health"
"origin" "1184 -736 288"
}
{
"spawnflags" "257"
"classname" "monster_army"
"origin" "1646 -698 360"
"angle" "180"
"targetname" "t89"
}
{
"classname" "path_corner"
"origin" "1400 640 272"
"targetname" "t30"
"target" "t79"
}
{
"classname" "path_corner"
"origin" "1496 752 232"
"targetname" "t33"
"target" "t77"
}
{
"classname" "path_corner"
"origin" "1192 560 296"
"targetname" "t34"
"target" "t80"
}
{
"classname" "item_shells"
"origin" "1616 1280 176"
}
{
"classname" "item_health"
"origin" "1056 -840 416"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "1104 -840 416"
"spawnflags" "1"
}
{
"spawnflags" "1"
"classname" "monster_army"
"origin" "262 -458 320"
"angle" "0"
"target" "t96"
}
{
"spawnflags" "1024"
"classname" "item_health"
"origin" "136 -296 296"
}
{
"classname" "path_corner"
"origin" "-536 -704 472"
"targetname" "t42"
"target" "t41"
}
{
"classname" "path_corner"
"origin" "-576 -416 472"
"targetname" "t41"
"target" "t42"
}
{
"classname" "monster_knight"
"origin" "-578 -654 480"
"target" "t41"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-368 -752 456"
}
{
"classname" "item_health"
"origin" "-16 -520 360"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "-16 -576 360"
"spawnflags" "1"
}
{
"classname" "light"
"origin" "1848 -568 320"
"light" "200"
}
{
"classname" "light"
"origin" "1760 -560 408"
"light" "200"
}
{
"classname" "light"
"origin" "1624 -560 352"
"light" "150"
}
{
"targetname" "t43"
"angle" "270"
"origin" "800 368 312"
"classname" "info_teleport_destination"
}
{
"origin" "752 168 296"
"classname" "item_health"
}
{
"target" "t43"
"classname" "trigger_teleport"
"model" "*1"
}
{
"origin" "1712 -568 256"
"classname" "item_health"
}
{
"classname" "monster_ogre"
"origin" "1494 1134 208"
"angle" "270"
"target" "t22"
}
{
"light" "300"
"origin" "1856 1288 384"
"classname" "light"
}
{
"classname" "light"
"origin" "1136 1288 384"
}
{
"light" "200"
"origin" "1920 328 380"
"classname" "light"
}
{
"target" "t122"
"spawnflags" "2048"
"sounds" "1"
"classname" "item_key1"
"origin" "880 -300 464"
}
{
"light" "300"
"origin" "648 -384 430"
"classname" "light_flame_small_yellow"
}
{
"light" "250"
"classname" "light_flame_small_yellow"
"origin" "1104 -224 406"
}
{
"light" "250"
"origin" "1456 -128 406"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "988 532 353"
"light" "175"
}
{
"light" "125"
"origin" "1100 648 328"
"classname" "light"
}
{
"origin" "1616 936 310"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "1360 936 310"
}
{
"origin" "1792 504 390"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"origin" "1972 -252 332"
"classname" "info_null"
"targetname" "t47"
}
{
"light" "800"
"origin" "1992 -252 336"
"classname" "light"
"target" "t47"
}
{
"classname" "info_null"
"origin" "1948 -292 332"
"targetname" "t48"
}
{
"light" "800"
"classname" "light"
"origin" "1948 -312 336"
"target" "t48"
}
{
"origin" "880 -328 562"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"classname" "light"
"origin" "1056 -1288 504"
}
{
"origin" "1184 -1288 504"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 -1288 504"
}
{
"origin" "1440 -1288 504"
"classname" "light"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t50"
"model" "*2"
}
{
"sounds" "1"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"targetname" "t50"
"model" "*3"
}
{
"classname" "trigger_once"
"target" "t50"
"model" "*4"
}
{
"classname" "light"
"origin" "1368 -1016 504"
"light" "200"
}
{
"light" "200"
"origin" "1120 -1024 504"
"classname" "light"
}
{
"classname" "light"
"origin" "1248 -1184 464"
"light" "175"
}
{
"classname" "light"
"origin" "776 -480 480"
"light" "225"
}
{
"classname" "light"
"origin" "1904 -144 168"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "1706 -206 316"
"light" "300"
}
{
"light" "300"
"origin" "2134 -34 316"
"classname" "light_torch_small_walltorch"
}
{
"origin" "1152 -296 422"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"light" "250"
"classname" "light_flame_small_yellow"
"origin" "1152 -760 422"
}
{
"origin" "1528 -556 478"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"targetname" "t52"
"origin" "1532 -552 328"
"classname" "info_null"
}
{
"origin" "1340 -544 384"
"classname" "item_armor2"
}
{
"sounds" "1"
"targetname" "t53"
"lip" "64"
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"model" "*5"
}
{
"sounds" "1"
"targetname" "t53"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"lip" "64"
"model" "*6"
}
{
"targetname" "t53"
"target" "t54"
"classname" "trigger_teleport"
"spawnflags" "2"
"model" "*7"
}
{
"targetname" "t54"
"angle" "180"
"origin" "1408 -688 449"
"classname" "info_teleport_destination"
}
{
"targetname" "t53"
"target" "t57"
"classname" "trigger_teleport"
"spawnflags" "2"
"model" "*8"
}
{
"targetname" "t57"
"angle" "180"
"origin" "1408 -400 361"
"classname" "info_teleport_destination"
}
{
"spawnflags" "768"
"targetname" "t53"
"angle" "180"
"origin" "1912 -856 217"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"targetname" "t53"
"classname" "monster_wizard"
"origin" "1912 -936 217"
"angle" "180"
}
{
"targetname" "t50"
"angle" "90"
"origin" "1320 -1112 441"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"targetname" "t50"
"angle" "0"
"origin" "1056 -1144 441"
"classname" "monster_knight"
}
{
"sounds" "1"
"targetname" "t61"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*9"
}
{
"sounds" "3"
"lip" "64"
"spawnflags" "1"
"targetname" "t58"
"angle" "270"
"wait" "-1"
"classname" "func_door"
"model" "*10"
}
{
"sounds" "1"
"wait" "-1"
"angle" "270"
"target" "t58"
"classname" "func_button"
"model" "*11"
}
{
"target" "t61"
"classname" "trigger_once"
"model" "*12"
}
{
"light" "225"
"origin" "984 -480 480"
"classname" "light"
}
{
"light" "175"
"origin" "880 -368 176"
"classname" "light"
}
{
"classname" "light"
"origin" "880 -592 240"
"light" "175"
}
{
"light" "200"
"origin" "880 -488 184"
"classname" "light"
}
{
"light" "150"
"origin" "880 -304 472"
"classname" "light"
}
{
"classname" "light"
"origin" "-96 308 864"
"light" "850"
}
{
"origin" "-32 -440 624"
"classname" "light"
}
{
"sounds" "1"
"targetname" "t73"
"wait" "-1"
"lip" "196"
"angle" "-1"
"classname" "func_door"
"model" "*13"
}
{
"light" "300"
"origin" "104 144 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 144 688"
"light" "300"
}
{
"sounds" "1"
"targetname" "t73"
"wait" "-1"
"classname" "func_door"
"angle" "-1"
"lip" "196"
"model" "*14"
}
{
"classname" "light_flame_small_yellow"
"origin" "-24 -232 414"
"light" "250"
}
{
"lip" "-2"
"sounds" "3"
"speed" "350"
"targetname" "t73"
"angle" "180"
"wait" "-1"
"classname" "func_door"
"model" "*15"
}
{
"target" "t63"
"targetname" "t62"
"origin" "-12 312 264"
"classname" "path_corner"
}
{
"target" "t64"
"targetname" "t63"
"origin" "-12 312 356"
"classname" "path_corner"
}
{
"wait" "-1"
"target" "t66"
"targetname" "t64"
"classname" "path_corner"
"origin" "-13 440 355"
}
{
"sounds" "1"
"targetname" "t71"
"wait" "-1"
"target" "t65"
"angle" "-2"
"classname" "func_button"
"model" "*16"
}
{
"target" "t64"
"targetname" "t66"
"origin" "-13 440 355"
"classname" "path_corner"
}
{
"light" "200"
"origin" "-96 440 376"
"classname" "light"
}
{
"light" "150"
"origin" "8 456 376"
"classname" "light"
}
{
"targetname" "t70"
"target" "t67"
"classname" "path_corner"
"origin" "-220 312 264"
}
{
"target" "t68"
"targetname" "t67"
"classname" "path_corner"
"origin" "-220 312 356"
}
{
"wait" "-1"
"target" "t69"
"targetname" "t68"
"origin" "-221 440 355"
"classname" "path_corner"
}
{
"target" "t68"
"targetname" "t69"
"classname" "path_corner"
"origin" "-221 440 355"
}
{
"classname" "light"
"origin" "-200 456 376"
"light" "150"
}
{
"targetname" "t65"
"target" "t62"
"classname" "func_train"
"speed" "50"
"sounds" "1"
"model" "*17"
}
{
"light" "250"
"origin" "-96 632 406"
"classname" "light_flame_small_yellow"
}
{
"targetname" "t72"
"origin" "-96 288 304"
"classname" "info_null"
}
{
"light" "450"
"target" "t72"
"origin" "-96 288 368"
"classname" "light"
}
{
"target" "t70"
"targetname" "t65"
"speed" "50"
"classname" "func_train"
"sounds" "1"
"model" "*18"
}
{
"lip" "-2"
"sounds" "0"
"speed" "350"
"classname" "func_door"
"wait" "-1"
"angle" "0"
"model" "*19"
}
{
"targetname" "t65"
"delay" "4.7"
"target" "t73"
"classname" "trigger_once"
"model" "*20"
}
{
"targetname" "t73"
"angle" "270"
"origin" "-96 552 320"
"classname" "monster_demon1"
"spawnflags" "1024"
}
{
"targetname" "t74"
"angle" "90"
"origin" "132 -192 476"
"classname" "info_teleport_destination"
}
{
"targetname" "t75"
"classname" "info_teleport_destination"
"origin" "-328 -196 476"
"angle" "90"
}
{
"target" "t75"
"classname" "trigger_teleport"
"spawnflags" "1"
"model" "*21"
}
{
"target" "t74"
"classname" "trigger_teleport"
"spawnflags" "1"
"model" "*22"
}
{
"light" "200"
"origin" "-418 306 356"
"classname" "light"
}
{
"classname" "light"
"origin" "260 308 356"
"light" "200"
}
{
"sounds" "0"
"targetname" "t73"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*23"
}
{
"sounds" "0"
"targetname" "t73"
"wait" "-1"
"angle" "0"
"classname" "func_door"
"model" "*24"
}
{
"sounds" "0"
"wait" "-1"
"angle" "0"
"targetname" "t73"
"classname" "func_door"
"model" "*25"
}
{
"sounds" "0"
"targetname" "t73"
"angle" "180"
"wait" "-1"
"classname" "func_door"
"model" "*26"
}
{
"sounds" "3"
"wait" "-1"
"angle" "-2"
"targetname" "t73"
"classname" "func_door"
"model" "*27"
}
{
"classname" "light"
"origin" "-96 24 360"
"light" "100"
}
{
"light" "100"
"origin" "-96 -40 360"
"classname" "light"
}
{
"classname" "light"
"origin" "-160 -568 624"
}
{
"origin" "-160 -440 624"
"classname" "light"
}
{
"classname" "light"
"origin" "-32 -568 624"
}
{
"classname" "light"
"origin" "-96 -88 484"
"light" "150"
}
{
"classname" "light"
"origin" "-440 -408 804"
"light" "450"
}
{
"classname" "light"
"origin" "600 -128 352"
"light" "200"
}
{
"classname" "light"
"origin" "576 -608 504"
"light" "250"
}
{
"classname" "light"
"origin" "384 -504 392"
"light" "250"
}
{
"classname" "light"
"origin" "1264 240 295"
"light" "250"
}
{
"light" "250"
"origin" "944 240 295"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "1480 704 264"
"targetname" "t77"
"target" "t78"
}
{
"classname" "path_corner"
"origin" "1448 656 264"
"targetname" "t78"
"target" "t30"
}
{
"classname" "path_corner"
"origin" "1264 640 304"
"targetname" "t80"
"target" "t5"
}
{
"classname" "path_corner"
"origin" "1328 640 304"
"targetname" "t79"
"target" "t80"
}
{
"light" "200"
"origin" "1488 -392 216"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "816 80 304"
"targetname" "t83"
"target" "t82"
"spawnflags" "256"
}
{
"origin" "816 312 304"
"classname" "path_corner"
"targetname" "t82"
"target" "t83"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "806 206 320"
"angle" "90"
"target" "t82"
"spawnflags" "256"
}
{
"classname" "trigger_once"
"target" "t84"
"model" "*28"
}
{
"classname" "monster_ogre"
"origin" "1790 -146 312"
"angle" "90"
"targetname" "t84"
}
{
"classname" "path_corner"
"origin" "1088 -672 296"
"target" "t85"
"targetname" "t88"
}
{
"origin" "1088 -376 296"
"classname" "path_corner"
"targetname" "t85"
"target" "t86"
}
{
"classname" "path_corner"
"origin" "1088 -376 296"
"targetname" "t87"
"target" "t88"
}
{
"origin" "1448 -376 296"
"classname" "path_corner"
"targetname" "t86"
"target" "t87"
}
{
"spawnflags" "1"
"classname" "monster_ogre"
"origin" "1086 -498 312"
"angle" "270"
"target" "t88"
}
{
"spawnflags" "256"
"classname" "trigger_once"
"target" "t89"
"model" "*29"
}
{
"classname" "item_health"
"origin" "352 -752 408"
"spawnflags" "1025"
}
{
"spawnflags" "1025"
"origin" "352 -792 408"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "352 -832 408"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "408 -776 416"
"targetname" "t94"
"target" "t95"
}
{
"origin" "400 -1088 416"
"classname" "path_corner"
"targetname" "t95"
"target" "t94"
}
{
"classname" "path_corner"
"origin" "584 -1096 416"
"targetname" "t92"
"target" "t93"
}
{
"origin" "584 -792 416"
"classname" "path_corner"
"targetname" "t93"
"target" "t92"
}
{
"classname" "monster_army"
"origin" "390 -970 432"
"angle" "0"
"target" "t94"
}
{
"classname" "monster_army"
"origin" "566 -970 432"
"angle" "270"
"target" "t92"
}
{
"classname" "path_corner"
"origin" "208 -304 304"
"targetname" "t97"
"target" "t96"
}
{
"classname" "path_corner"
"origin" "208 -464 304"
"targetname" "t96"
"target" "t97"
}
{
"spawnflags" "1280"
"classname" "path_corner"
"origin" "-344 160 304"
"targetname" "t100"
"target" "t99"
}
{
"spawnflags" "1280"
"origin" "168 152 304"
"classname" "path_corner"
"targetname" "t99"
"target" "t100"
}
{
"spawnflags" "1280"
"classname" "monster_ogre"
"origin" "240 152 320"
"angle" "180"
"target" "t99"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "-392 80 320"
"angle" "0"
"targetname" "t101"
}
{
"spawnflags" "768"
"classname" "trigger_once"
"target" "t101"
"model" "*30"
}
{
"classname" "item_health"
"origin" "40 -16 464"
}
{
"origin" "80 -48 464"
"classname" "item_health"
}
{
"origin" "520 -72 296"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "-424 -216 296"
"classname" "item_shells"
}
{
"spawnflags" "769"
"angle" "270"
"origin" "880 -400 568"
"classname" "monster_wizard"
}
{
"light" "200"
"origin" "432 176 152"
"classname" "light"
}
{
"light" "150"
"origin" "432 -56 256"
"classname" "light"
}
{
"origin" "264 -96 300"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "264 -140 300"
}
{
"spawnflags" "1"
"origin" "1184 1568 240"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1184 1616 240"
"spawnflags" "1"
}
{
"light" "150"
"origin" "1496 1112 108"
"classname" "light"
}
{
"light" "200"
"origin" "1120 1152 96"
"classname" "light"
}
{
"light" "200"
"origin" "1080 692 184"
"classname" "light"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "832 1184 294"
}
{
"origin" "464 536 358"
"classname" "light_flame_small_yellow"
"light" "300"
}
{
"light" "300"
"classname" "light_flame_small_yellow"
"origin" "600 704 334"
}
{
"light" "150"
"origin" "1736 1096 110"
"classname" "light"
}
{
"light" "100"
"origin" "832 1056 134"
"classname" "light"
}
{
"light" "150"
"origin" "784 704 294"
"classname" "light"
}
{
"origin" "856 592 182"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "824 552 182"
}
{
"classname" "info_player_deathmatch"
"origin" "-416 -144 320"
"angle" "90"
}
{
"classname" "info_player_deathmatch"
"origin" "168 -480 320"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "1496 1328 200"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "1936 -136 312"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "936 -1216 432"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "792 -992 440"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "1080 -720 312"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "408 -752 432"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "792 -208 320"
"angle" "45"
}
{
"classname" "info_player_deathmatch"
"origin" "784 808 206"
"angle" "225"
}
{
"sounds" "3"
"wait" "3"
"angle" "90"
"classname" "func_door"
"model" "*31"
}
{
"sounds" "0"
"wait" "3"
"angle" "270"
"classname" "func_door"
"model" "*32"
}
{
"spawnflags" "1"
"origin" "680 832 182"
"classname" "item_shells"
}
{
"origin" "1392 240 300"
"classname" "weapon_supershotgun"
}
{
"spawnflags" "769"
"angle" "270"
"origin" "954 -754 444"
"classname" "monster_ogre"
}
{
"spawnflags" "1"
"origin" "520 -1280 408"
"classname" "item_shells"
}
{
"light" "200"
"origin" "-612 -500 548"
"classname" "light"
}
{
"classname" "func_door"
"angle" "91" // svdijk -- changed to prevent z-fighting (was "90")
"targetname" "t110"
"wait" "-1"
"model" "*33"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "269" // svdijk -- changed to prevent z-fighting (was "270")
"wait" "-1"
"model" "*34"
}
{
"classname" "trigger_once"
"target" "t110"
"model" "*35"
}
{
"classname" "trigger_changelevel"
"map" "e1m3"
"model" "*36"
}
{
"spawnflags" "1792"
"origin" "680 728 184"
"classname" "weapon_rocketlauncher"
}
{
"spawnflags" "1792"
"origin" "1496 1256 176"
"classname" "weapon_nailgun"
}
{
"angle" "180"
"spawnflags" "1792"
"origin" "-96 -496 360"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1794"
"origin" "-112 -8 464"
"classname" "item_health"
}
{
"spawnflags" "1793"
"origin" "-112 -568 360"
"classname" "item_spikes"
}
{
"spawnflags" "1792"
"origin" "1616 1424 176"
"classname" "item_spikes"
}
{
"spawnflags" "1792"
"classname" "item_spikes"
"origin" "1656 1424 176"
}
{
"spawnflags" "1792"
"origin" "1696 1424 176"
"classname" "item_spikes"
}
{
"spawnflags" "768"
"target" "t34"
"angle" "315"
"origin" "1070 646 312"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"targetname" "t84"
"angle" "90"
"origin" "1624 88 376"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"angle" "90"
"targetname" "t84"
"origin" "1866 -378 312"
"classname" "monster_ogre"
}
{
"angle" "45"
"origin" "1088 -1096 440"
"classname" "monster_knight"
"targetname" "t50"
}
{
"spawnflags" "768"
"classname" "monster_knight"
"origin" "1400 -1144 440"
"angle" "90"
"targetname" "t50"
}
{
"spawnflags" "256"
"target" "t111"
"targetname" "t112"
"origin" "896 -1216 416"
"classname" "path_corner"
}
{
"spawnflags" "256"
"target" "t112"
"targetname" "t111"
"classname" "path_corner"
"origin" "704 -1216 416"
}
{
"spawnflags" "257"
"target" "t111"
"angle" "180"
"origin" "758 -1218 432"
"classname" "monster_army"
}
{
"spawnflags" "768"
"target" "t114"
"targetname" "t113"
"origin" "-96 -520 368"
"classname" "path_corner"
}
{
"spawnflags" "768"
"target" "t113"
"targetname" "t114"
"origin" "-96 -152 304"
"classname" "path_corner"
}
{
"targetname" "t116"
"spawnflags" "769"
"target" "t113"
"angle" "270"
"origin" "-98 -194 320"
"classname" "monster_ogre"
}
{
"spawnflags" "1536"
"origin" "1936 -96 289"
"classname" "item_health"
}
{
"spawnflags" "1025"
"origin" "1040 -1200 417"
"classname" "item_health"
}
{
"spawnflags" "769"
"target" "t117"
"angle" "315"
"origin" "-560 -312 592"
"classname" "monster_wizard"
}
{
"spawnflags" "768"
"target" "t118"
"targetname" "t117"
"origin" "-528 -344 576"
"classname" "path_corner"
}
{
"spawnflags" "768"
"target" "t117"
"targetname" "t118"
"origin" "-352 -656 576"
"classname" "path_corner"
}
{
"classname" "light"
"origin" "1360 976 224"
"light" "150"
}
{
"light" "150"
"origin" "1616 976 224"
"classname" "light"
}
{
"classname" "light"
"origin" "1208 1296 368"
"light" "250"
}
{
"origin" "1784 1288 368"
"classname" "light"
"light" "250"
}
{
"classname" "light"
"origin" "1496 1664 336"
"light" "250"
}
{
"classname" "light"
"origin" "1752 1176 112"
"light" "150"
}
{
"light" "200"
"origin" "1776 976 112"
"classname" "light"
}
{
"classname" "light"
"origin" "1216 976 112"
"light" "200"
}
{
"light" "150"
"origin" "1224 1176 112"
"classname" "light"
}
{
"classname" "light"
"origin" "1496 1432 520"
"light" "250"
}
{
"classname" "light"
"origin" "1496 1304 264"
"light" "200"
}
{
"classname" "light"
"origin" "1496 1432 288"
"light" "200"
}
{
"classname" "light"
"origin" "1608 1120 88"
"light" "150"
}
{
"light" "150"
"origin" "1384 1120 88"
"classname" "light"
}
{
"classname" "light"
"origin" "1496 864 368"
"light" "150"
}
{
"light" "175"
"origin" "980 764 353"
"classname" "light"
}
{
"classname" "light"
"origin" "1228 764 353"
"light" "175"
}
{
"classname" "light"
"origin" "1104 464 353"
"light" "200"
}
{
"classname" "light"
"origin" "1104 -40 423"
"light" "200"
}
{
"light" "150"
"origin" "1416 -128 367"
"classname" "light"
}
{
"classname" "light"
"origin" "1104 -184 367"
"light" "200"
}
{
"classname" "light"
"origin" "1184 56 423"
"light" "150"
}
{
"light" "150"
"origin" "1024 56 423"
"classname" "light"
}
{
"classname" "light"
"origin" "1272 -64 399"
"light" "150"
}
{
"light" "150"
"origin" "888 -64 399"
"classname" "light"
}
{
"classname" "light"
"origin" "1104 152 129"
"light" "300"
}
{
"classname" "light"
"origin" "976 392 129"
"light" "200"
}
{
"classname" "light"
"origin" "1104 656 120"
}
{
"classname" "light"
"origin" "896 712 144"
"light" "200"
}
{
"classname" "light"
"origin" "640 704 280"
"light" "200"
}
{
"classname" "light"
"origin" "464 496 296"
"light" "150"
}
{
"classname" "light"
"origin" "888 1152 96"
"light" "200"
}
{
"classname" "light"
"origin" "840 880 240"
"light" "200"
}
{
"classname" "light"
"origin" "848 584 240"
"light" "150"
}
{
"classname" "light"
"origin" "784 160 144"
"light" "200"
}
{
"classname" "light"
"origin" "440 336 144"
"light" "150"
}
{
"light" "150"
"origin" "584 336 144"
"classname" "light"
}
{
"classname" "light"
"origin" "432 24 136"
"light" "150"
}
{
"classname" "light"
"origin" "656 328 224"
"light" "200"
}
{
"classname" "light"
"origin" "432 -128 312"
"light" "200"
}
{
"classname" "light"
"origin" "600 -384 360"
"light" "200"
}
{
"origin" "520 -128 406"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"classname" "light"
"origin" "424 -320 352"
"light" "200"
}
{
"classname" "light"
"origin" "664 -1216 472"
"light" "150"
}
{
"classname" "light"
"origin" "336 -1208 504"
"light" "150"
}
{
"light" "150"
"origin" "336 -1008 504"
"classname" "light"
}
{
"classname" "light"
"origin" "336 -816 504"
"light" "150"
}
{
"classname" "light"
"origin" "880 -1000 496"
"light" "200"
}
{
"classname" "light"
"origin" "880 -792 496"
"light" "200"
}
{
"classname" "light"
"origin" "880 -376 304"
"light" "200"
}
{
"classname" "light"
"origin" "1048 -912 480"
"light" "225"
}
{
"classname" "light"
"origin" "1120 -1192 468"
"light" "150"
}
{
"light" "150"
"origin" "1376 -1192 468"
"classname" "light"
}
{
"classname" "light"
"origin" "1472 -912 464"
"light" "175"
}
{
"classname" "light"
"origin" "880 -304 480"
"light" "100"
}
{
"classname" "light"
"origin" "880 -680 480"
"light" "175"
}
{
"classname" "light"
"origin" "1600 -704 484"
"light" "150"
}
{
"classname" "light"
"origin" "1504 -704 348"
"light" "175"
}
{
"light" "175"
"origin" "1336 -704 348"
"classname" "light"
}
{
"classname" "light"
"origin" "1152 -640 332"
"light" "200"
}
{
"classname" "light"
"origin" "1096 -552 348"
"light" "150"
}
{
"light" "200"
"origin" "1160 -456 332"
"classname" "light"
}
{
"light" "150"
"origin" "1216 -384 348"
"classname" "light"
}
{
"classname" "light"
"origin" "1344 -384 348"
"light" "150"
}
{
"classname" "light"
"origin" "1544 392 156"
"light" "225"
}
{
"light" "225"
"origin" "1848 248 156"
"classname" "light"
}
{
"classname" "light"
"origin" "1936 136 156"
"light" "225"
}
{
"light" "200"
"origin" "2096 -80 156"
"classname" "light"
}
{
"light" "200"
"origin" "2048 -408 156"
"classname" "light"
}
{
"classname" "light"
"origin" "1456 -392 444"
"light" "225"
}
{
"classname" "light"
"origin" "1640 -384 352"
"light" "225"
}
{
"classname" "light_torch_small_walltorch"
"origin" "2134 -474 316"
"light" "250"
}
{
"light" "200"
"origin" "168 216 496"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 208 496"
"light" "200"
}
{
"light" "200"
"origin" "-96 360 432"
"classname" "light"
}
{
"classname" "light"
"origin" "-96 144 432"
"light" "200"
}
{
"light" "200"
"origin" "-376 32 432"
"classname" "light"
}
{
"light" "200"
"origin" "208 -72 432"
"classname" "light"
}
{
"light" "150"
"origin" "-96 72 360"
"classname" "light"
}
{
"light" "150"
"origin" "-64 -232 368"
"classname" "light"
}
{
"light" "150"
"origin" "-96 -320 560"
"classname" "light"
}
{
"light" "250"
"origin" "-96 -496 448"
"classname" "light"
}
{
"light" "150"
"origin" "-416 -104 392"
"classname" "light"
}
{
"light" "150"
"origin" "-344 -152 528"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -152 528"
"light" "150"
}
{
"light" "150"
"origin" "-96 8 528"
"classname" "light"
}
{
"light" "200"
"origin" "-560 -504 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-440 -368 688"
"light" "200"
}
{
"light" "200"
"origin" "-440 -656 688"
"classname" "light"
}
{
"classname" "light"
"origin" "-336 -504 688"
"light" "200"
}
{
"classname" "light"
"origin" "2084 -208 336"
"light" "100"
}
{
"light" "100"
"origin" "2012 -252 332"
"classname" "light"
}
{
"classname" "light"
"origin" "1948 -328 332"
"light" "100"
}
{
"light" "150"
"origin" "1892 -452 332"
"classname" "light"
}
{
"sounds" "1"
"targetname" "t120"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"lip" "4"
"model" "*37"
}
{
"target" "t120"
"classname" "trigger_once"
"model" "*38"
}
{
"light" "100"
"origin" "2076 -312 336"
"classname" "light"
}
{
"sounds" "3"
"spawnflags" "2064"
"angle" "0"
"wait" "-1"
"classname" "func_door"
"model" "*39"
}
{
"spawnflags" "2064"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*40"
}
{
"light" "100"
"origin" "332 -264 356"
"classname" "light"
}
{
"classname" "light"
"origin" "144 -264 356"
"light" "100"
}
{
"light" "100"
"origin" "1104 572 316"
"classname" "light"
}
{
"target" "t121"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*41"
}
{
"targetname" "t121"
"angle" "180"
"origin" "2120 -256 332"
"classname" "trap_spikeshooter"
"spawnflags" "1024"
}
{
"targetname" "t121"
"angle" "90"
"origin" "1944 -456 332"
"classname" "trap_spikeshooter"
"spawnflags" "1024"
}
{
"light" "150"
"origin" "1312 -856 472"
"classname" "light"
}
{
"classname" "light"
"origin" "1184 -856 472"
"light" "175"
}
{
"classname" "light"
"origin" "1560 -568 224"
"light" "200"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"speed" "50"
"sounds" "1"
"targetname" "t123"
"lip" "6"
"model" "*42"
}
{
"classname" "trigger_once"
"target" "t123"
"model" "*43"
}
{
"classname" "light"
"origin" "1496 -552 330"
"light" "700"
"target" "t52"
}
{
"classname" "light"
"origin" "1288 80 140"
"light" "250"
}
{
"classname" "light"
"origin" "1288 400 80"
"light" "200"
}
{
"classname" "light"
"origin" "1328 -664 160"
"light" "200"
}
{
"classname" "item_armor1"
"origin" "784 56 304"
}
{
"classname" "light"
"origin" "1544 464 352"
"light" "75"
}
{
"classname" "func_plat"
"model" "*44"
}
{
"classname" "light"
"origin" "1496 1192 280"
"light" "200"
}
{
"classname" "light"
"origin" "1608 1192 136"
"light" "100"
}
{
"light" "100"
"origin" "1384 1184 136"
"classname" "light"
}
{
"light" "100"
"origin" "1608 1048 136"
"classname" "light"
}
{
"classname" "light"
"origin" "1384 1048 136"
"light" "100"
}
{
"classname" "light"
"origin" "1200 1148 92"
"light" "150"
}
{
"light" "150"
"origin" "876 -184 367"
"classname" "light"
}
{
"classname" "light"
"origin" "768 -128 384"
"light" "200"
}
{
"classname" "light"
"origin" "1104 388 552"
"light" "250"
}
{
"light" "200"
"origin" "1392 240 384"
"classname" "light"
}
{
"classname" "light"
"origin" "1392 80 368"
"light" "200"
}
{
"classname" "light"
"origin" "1272 400 367"
"light" "150"
}
{
"light" "150"
"origin" "920 400 367"
"classname" "light"
}
{
"classname" "light"
"origin" "816 208 368"
"light" "200"
}
{
"classname" "light"
"origin" "800 24 368"
"light" "200"
}
{
"classname" "light"
"origin" "800 376 385"
"light" "150"
}
{
"light" "150"
"origin" "1400 400 385"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "1104 336 300"
"target" "t126"
"targetname" "t127"
}
{
"origin" "1104 24 300"
"classname" "path_corner"
"targetname" "t126"
"target" "t127"
}
{
"classname" "monster_army"
"origin" "1104 424 316"
"angle" "270"
"target" "t127"
}
{
"targetname" "t128"
"origin" "1392 240 308"
"classname" "info_null"
}
{
"light" "300"
"target" "t128"
"origin" "1392 240 376"
"classname" "light"
}
{
"targetname" "t129"
"angle" "0"
"origin" "552 -128 320"
"classname" "monster_army"
}
{
"target" "t129"
"classname" "trigger_once"
"model" "*45"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*46"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*47"
}
{
"classname" "light"
"origin" "1104 24 536"
"light" "350"
}
{
"spawnflags" "1"
"classname" "func_door_secret"
"angle" "270"
"model" "*48"
}
{
"light" "200"
"origin" "1680 1552 320"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1552 320"
"light" "200"
}
{
"classname" "item_spikes"
"origin" "1480 1104 68"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "1760 -568 256"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "1232 -1200 416"
}
{
"message" "This door is opened elsewhere..."
"classname" "func_door"
"sounds" "3"
"angle" "180"
"wait" "-1"
"targetname" "t122"
"speed" "35"
"spawnflags" "2048"
"model" "*49"
}
{
"classname" "func_door"
"angle" "0"
"wait" "-1"
"speed" "30"
"spawnflags" "2048"
"model" "*50"
}
{
"classname" "light"
"origin" "1496 1600 296"
"light" "150 "
}
{
"light" "150"
"origin" "1568 1664 296"
"classname" "light"
}
{
"classname" "light"
"origin" "1424 1664 296"
"light" "150"
}
{
"classname" "light"
"origin" "1328 1424 296"
"light" "200"
}
{
"light" "250"
"origin" "1696 1416 296"
"classname" "light"
}
{
"classname" "monster_army"
"origin" "1592 1296 200"
"angle" "270"
}
{
"spawnflags" "768"
"classname" "monster_demon1"
"origin" "-96 576 320"
"angle" "270"
"targetname" "t73"
"target" "t143"
}
{
"classname" "path_corner"
"origin" "1392 416 304"
"targetname" "t131"
"target" "t130"
"spawnflags" "768"
}
{
"origin" "1392 296 304"
"classname" "path_corner"
"targetname" "t130"
"target" "t131"
"spawnflags" "768"
}
{
"classname" "monster_army"
"origin" "1392 352 320"
"angle" "270"
"target" "t130"
"spawnflags" "768"
}
{
"target" "t132"
"targetname" "t133"
"origin" "296 -328 304"
"classname" "path_corner"
}
{
"target" "t133"
"targetname" "t132"
"classname" "path_corner"
"origin" "472 -416 304"
}
{
"spawnflags" "1"
"target" "t132"
"angle" "90"
"origin" "472 -456 320"
"classname" "monster_army"
}
{
"spawnflags" "1"
"targetname" "t89"
"angle" "135"
"origin" "1712 -784 376"
"classname" "monster_army"
}
{
"target" "t135"
"spawnflags" "256"
"targetname" "t134"
"origin" "400 -1128 416"
"classname" "path_corner"
}
{
"target" "t134"
"spawnflags" "256"
"targetname" "t135"
"classname" "path_corner"
"origin" "400 -1248 416"
}
{
"target" "t134"
"spawnflags" "257"
"angle" "90"
"origin" "408 -1208 432"
"classname" "monster_army"
}
{
"targetname" "t101"
"angle" "90"
"origin" "-288 -24 488"
"classname" "monster_army"
"spawnflags" "768"
}
{
"spawnflags" "768"
"targetname" "t101"
"classname" "monster_army"
"origin" "136 -128 488"
"angle" "90"
}
{
"spawnflags" "1792"
"origin" "-264 -24 464"
"classname" "item_rockets"
}
{
"spawnflags" "2048"
"origin" "-240 -8 464"
"classname" "item_spikes"
}
{
"classname" "monster_ogre"
"origin" "-304 -304 488"
"angle" "225"
"spawnflags" "769"
}
{
"classname" "func_wall"
"spawnflags" "768"
"model" "*51"
}
{
"classname" "trap_spikeshooter"
"origin" "2048 -48 332"
"angle" "270"
"spawnflags" "769"
"targetname" "t121"
}
{
"origin" "2048 -476 332"
"classname" "info_null"
"targetname" "t136"
}
{
"style" "32"
"origin" "2048 -456 336"
"classname" "light"
"light" "800"
"spawnflags" "1"
"target" "t136"
"targetname" "t137"
}
{
"style" "32"
"classname" "trigger_once"
"spawnflags" "768"
"target" "t137"
"model" "*52"
}
{
"classname" "monster_wizard"
"origin" "672 328 384"
"angle" "180"
"spawnflags" "768"
"targetname" "t138"
}
{
"classname" "trigger_once"
"target" "t138"
"model" "*53"
}
{
"style" "32"
"classname" "light"
"origin" "2004 -52 332"
"light" "100"
"spawnflags" "1"
"targetname" "t137"
}
{
"classname" "item_shells"
"origin" "1416 224 300"
"spawnflags" "768"
}
{
"classname" "path_corner"
"origin" "-344 136 304"
"targetname" "t139"
"target" "t140"
"spawnflags" "768"
}
{
"origin" "168 128 304"
"classname" "path_corner"
"target" "t139"
"targetname" "t140"
"spawnflags" "768"
}
{
"classname" "monster_ogre"
"origin" "-400 168 320"
"spawnflags" "768"
"target" "t139"
}
{
"classname" "trap_spikeshooter"
"origin" "2120 -256 332"
"angle" "180"
"spawnflags" "769"
"targetname" "t121"
}
{
"classname" "trap_spikeshooter"
"origin" "1944 -456 332"
"targetname" "t121"
"angle" "90"
"spawnflags" "769"
}
{
"classname" "item_spikes"
"origin" "-336 -80 470"
"spawnflags" "768"
}
{
"targetname" "t143"
"classname" "trigger_teleport"
"target" "t142"
"spawnflags" "2"
"model" "*54"
}
{
"targetname" "t143"
"classname" "trigger_teleport"
"target" "t141"
"spawnflags" "2"
"model" "*55"
}
{
"classname" "monster_demon1"
"origin" "32 840 359"
"angle" "270"
"targetname" "t143"
"spawnflags" "768"
}
{
"angle" "270"
"origin" "-192 840 359"
"classname" "monster_demon1"
"targetname" "t143"
"spawnflags" "768"
}
{
"classname" "info_teleport_destination"
"origin" "80 216 303"
"angle" "270"
"targetname" "t141"
}
{
"angle" "270"
"origin" "-264 224 303"
"classname" "info_teleport_destination"
"targetname" "t142"
}
{
"wait" "-1"
"target" "t53"
"health" "1"
"classname" "func_button"
"model" "*56"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "1408 1296 200"
"classname" "monster_army"
}
{
"classname" "item_shells"
"origin" "772 -856 420"
"spawnflags" "768"
}
{
"spawnflags" "1792"
"origin" "1248 -1128 420"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1793"
"origin" "864 -312 440"
"classname" "item_rockets"
}
{
"classname" "trigger_once"
"message" "Pass through the arch to exit..."
"model" "*57"
}
{
"mangle" "20 300 0"
"classname" "info_intermission"
"origin" "-224 424 512"
}
{
"mangle" "20 45 0"
"origin" "1048 -744 488"
"classname" "info_intermission"
}
{
"mangle" "20 270 0"
"origin" "1104 424 528"
"classname" "info_intermission"
}
{
"mangle" "20 45 0"
"origin" "1240 984 416"
"classname" "info_intermission"
}
{
"sounds" "1"
"speed" "20"
"classname" "func_button"
"angle" "0"
"wait" "-1"
"target" "t144"
"model" "*58"
}
{
"classname" "light"
"origin" "400 -1392 480"
"light" "150"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"speed" "20"
"sounds" "1"
"targetname" "t144"
"model" "*59"
}
{
"classname" "trigger_secret"
"model" "*60"
}
{
"classname" "item_artifact_super_damage"
"origin" "400 -1360 432"
}
{
"classname" "item_spikes"
"origin" "808 -632 192"
"spawnflags" "2049"
}
{
"classname" "item_health"
"origin" "924 -632 192"
"spawnflags" "2048"
}
{
"classname" "weapon_supernailgun"
"origin" "880 -616 192"
"spawnflags" "1792"
}
{
"classname" "ambient_drip"
"origin" "842 978 344"
}
{
"classname" "ambient_drip"
"origin" "546 330 400"
}
{
"classname" "info_player_coop"
"origin" "1608 1664 264"
"angle" "270"
}
{
"angle" "270"
"origin" "1392 1664 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "1496 1560 264"
"angle" "270"
}
{
"spawnflags" "256"
"angle" "270"
"origin" "232 -176 320"
"classname" "monster_ogre"
}
{
"spawnflags" "1280"
"angle" "225"
"origin" "-368 -312 480"
"classname" "monster_knight"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*61"
}
{
"origin" "1810 274 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1802 -102 200"
}
{
"origin" "2050 -214 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "2002 -390 200"
}
{
"origin" "1738 -398 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1346 -398 200"
}
{
"origin" "1138 -542 200"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "882 -494 200"
}
{
"classname" "ambient_swamp1"
"origin" "1722 1090 176"
}
{
"origin" "1242 1090 176"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "1106 642 192"
}
{
"origin" "1346 242 192"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp1"
"origin" "866 210 192"
}
{
"classname" "ambient_swamp1"
"origin" "1802 90 192"
}
{
"origin" "1546 -398 192"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "2042 -310 192"
}
{
"origin" "1178 -398 192"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp2"
"origin" "1202 -678 192"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m1.ent 0000644 0000000 0000000 00000063336 12403131422 017042 0 ustar root root {
"worldtype" "2"
"sounds" "6"
"classname" "worldspawn"
"wad" "gfx/base.wad"
"message" "the Slipgate Complex"
}
{
"classname" "info_player_start"
"origin" "480 -352 88"
"angle" "90"
}
{
"classname" "light"
"origin" "480 96 168"
"light" "250"
}
{
"classname" "light"
"origin" "480 288 168"
"light" "250"
}
{
"classname" "light"
"origin" "272 96 80"
}
{
"origin" "272 288 80"
"classname" "light"
}
{
"classname" "light"
"origin" "272 192 80"
}
{
"origin" "688 192 80"
"classname" "light_fluorospark"
"style" "10"
}
{
"style" "10"
"classname" "light"
"origin" "688 288 80"
}
{
"origin" "688 96 80"
"classname" "light"
"style" "10"
}
{
"classname" "light"
"origin" "480 -280 168"
"light" "200"
}
{
"origin" "480 -144 168"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "480 -376 120"
"light" "200"
}
{
"light" "160"
"origin" "480 -40 168"
"classname" "light"
}
{
"speed" "400"
"sounds" "2"
"angle" "270"
"classname" "func_door"
"model" "*1"
}
{
"speed" "400"
"angle" "90"
"classname" "func_door"
"model" "*2"
}
{
"light" "250"
"origin" "592 544 88"
"classname" "light_fluoro"
}
{
"origin" "456 600 104"
"classname" "light"
}
{
"light" "180"
"origin" "688 648 136"
"classname" "light"
}
{
"classname" "light"
"origin" "688 520 136"
"light" "180"
}
{
"origin" "688 480 80"
"classname" "item_armor1"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "616 72 40"
"classname" "monster_army"
}
{
"light" "250"
"origin" "0 576 120"
"classname" "light"
}
{
"light" "180"
"origin" "160 576 72"
"classname" "light"
}
{
"light" "200"
"origin" "560 -32 72"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "400 -32 72"
}
{
"light" "200"
"origin" "0 712 72"
"classname" "light"
}
{
"classname" "light"
"origin" "0 728 -136"
"light" "200"
}
{
"light" "200"
"origin" "0 592 -136"
"classname" "light"
}
{
"wait" "5"
"angle" "-2"
"sounds" "2"
"targetname" "t1"
"classname" "func_door"
"dmg" "10"
"model" "*3"
}
{
"sounds" "1"
"target" "t1"
"angle" "180"
"classname" "func_button"
"model" "*4"
}
{
"light" "200"
"origin" "412 780 136"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "328 904 72"
}
{
"light" "200"
"origin" "168 800 72"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-72 864 72"
}
{
"origin" "264 888 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "-8 992 -136"
"light" "200"
}
{
"light" "250"
"classname" "light"
"origin" "272 1064 -136"
}
{
"light" "250"
"origin" "-8 1232 -136"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "256 1272 -136"
}
{
"light" "250"
"origin" "312 1464 -136"
"classname" "light"
}
{
"light" "200"
"origin" "128 968 72"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "-48 1168 72"
}
{
"light" "250"
"origin" "312 1168 72"
"classname" "light"
}
{
"light" "220"
"classname" "light"
"origin" "128 1504 -120"
}
{
"light" "250"
"classname" "light"
"origin" "-56 1464 -136"
}
{
"sounds" "2"
"classname" "func_door"
"angle" "180"
"speed" "400"
"model" "*5"
}
{
"classname" "func_door"
"angle" "0"
"speed" "400"
"model" "*6"
}
{
"classname" "light_fluoro"
"origin" "176 1744 -152"
}
{
"origin" "80 1744 -152"
"classname" "light_fluoro"
}
{
"light" "250"
"origin" "-232 1600 -136"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "488 1600 -136"
}
{
"origin" "-56 1448 72"
"classname" "light"
"light" "250"
}
{
"light" "250"
"classname" "light"
"origin" "312 1448 72"
}
{
"light" "260"
"classname" "light_fluoro"
"origin" "416 2064 -112"
}
{
"light" "260"
"origin" "416 1968 -112"
"classname" "light_fluoro"
}
{
"light" "250"
"origin" "128 1880 -112"
"classname" "light"
}
{
"origin" "616 1944 -88"
"classname" "light"
}
{
"style" "10"
"classname" "light_fluorospark"
"origin" "344 2216 -88"
}
{
"light" "180"
"origin" "352 2016 -112"
"classname" "light"
}
{
"classname" "light"
"origin" "128 2056 -112"
"light" "250"
}
{
"light" "250"
"origin" "-112 1984 -112"
"classname" "light"
}
{
"light" "350"
"origin" "-472 2064 -88"
"classname" "light_fluoro"
}
{
"classname" "light"
"origin" "-192 2208 8"
"light" "250"
}
{
"light" "250"
"origin" "-424 2208 8"
"classname" "light"
}
{
"light" "250"
"origin" "-248 2088 -96"
"classname" "light"
}
{
"origin" "-200 2384 -72"
"classname" "light"
}
{
"classname" "light"
"origin" "-424 2384 -72"
}
{
"light" "200"
"origin" "-448 2408 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "-176 2408 -128"
"light" "200"
}
{
"sounds" "1"
"classname" "func_plat"
"model" "*7"
}
{
"light" "350"
"origin" "-352 2656 184"
"classname" "light"
}
{
"light" "350"
"classname" "light"
"origin" "-352 2464 184"
}
{
"origin" "-576 2800 -40"
"classname" "light"
}
{
"light" "500"
"origin" "160 2920 232"
"classname" "light"
}
{
"classname" "light"
"origin" "160 2720 232"
"light" "500"
}
{
"origin" "-288 2992 8"
"classname" "light"
}
{
"classname" "light"
"origin" "-168 2776 -40"
}
{
"classname" "light"
"origin" "160 2824 104"
"light" "200"
}
{
"light" "150"
"origin" "-64 2760 136"
"classname" "light"
}
{
"light" "200"
"origin" "16 2832 -152"
"classname" "light"
}
{
"classname" "light"
"origin" "304 2832 -152"
"light" "200"
}
{
"origin" "504 2816 16"
"classname" "light"
}
{
"sounds" "3"
"wait" "-1"
"speed" "600"
"targetname" "t2"
"spawnflags" "1"
"angle" "270"
"classname" "func_door"
"model" "*8"
}
{
"classname" "light"
"origin" "160 2840 -152"
"light" "200"
}
{
"light" "80"
"origin" "16 2904 -88"
"classname" "light"
}
{
"classname" "light"
"origin" "304 2904 -88"
"light" "80"
}
{
"classname" "light"
"origin" "160 2904 -88"
"light" "80"
}
{
"wait" "-1"
"sounds" "1"
"target" "t2"
"speed" "50"
"angle" "270"
"classname" "func_button"
"model" "*9"
}
{
"light" "100"
"origin" "0 1800 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "248 1800 -32"
"light" "100"
}
{
"style" "32"
"targetname" "t3"
"origin" "8 2352 200"
"classname" "light"
}
{
"style" "32"
"targetname" "t3"
"classname" "light"
"origin" "32 2392 200"
}
{
"style" "32"
"targetname" "t3"
"origin" "56 2352 200"
"classname" "light"
}
{
"style" "32"
"targetname" "t3"
"classname" "light"
"origin" "32 2312 200"
}
{
"style" "32"
"targetname" "t3"
"light" "200"
"origin" "32 2352 88"
"classname" "light"
}
{
"spawnflags" "2048"
"origin" "112 2352 16"
"classname" "weapon_nailgun"
}
{
"sounds" "3"
"targetname" "t3"
"spawnflags" "3"
"angle" "270"
"classname" "func_door_secret"
"model" "*10"
}
{
"style" "32"
"sounds" "3"
"target" "t3"
"classname" "trigger_once"
"model" "*11"
}
{
"origin" "304 2368 96"
"classname" "light"
}
{
"angle" "180"
"origin" "248 2392 40"
"classname" "monster_army"
}
{
"origin" "272 2352 64"
"classname" "item_spikes"
}
{
"style" "32"
"sounds" "3"
"target" "t3"
"classname" "trigger_once"
"model" "*12"
}
{
"origin" "832 2608 16"
"classname" "light"
"light" "220"
}
{
"light" "220"
"classname" "light"
"origin" "832 2480 0"
}
{
"light" "240"
"origin" "800 2816 24"
"classname" "light"
}
{
"style" "33"
"targetname" "t11"
"spawnflags" "1"
"classname" "light"
"origin" "752 2000 -88"
"light" "400"
}
{
"style" "34"
"spawnflags" "1"
"targetname" "t12"
"origin" "1280 2000 -152"
"classname" "light"
"light" "400"
}
{
"style" "35"
"spawnflags" "1"
"targetname" "t13"
"classname" "light"
"origin" "1280 2496 -216"
"light" "400"
}
{
"style" "36"
"spawnflags" "1"
"targetname" "t14"
"origin" "784 2496 -280"
"classname" "light"
}
{
"classname" "light"
"origin" "1368 2584 -488"
"light" "200"
}
{
"origin" "1368 1944 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "696 2584 -488"
"light" "150"
}
{
"origin" "1016 2584 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "1016 1944 -488"
"light" "200"
}
{
"origin" "1368 2272 -488"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "696 2272 -488"
"light" "200"
}
{
"classname" "light"
"origin" "960 2296 -488"
"light" "200"
}
{
"light" "200"
"origin" "1032 2352 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "888 2352 -488"
"light" "200"
}
{
"light" "200"
"origin" "960 2408 -488"
"classname" "light"
}
{
"light" "100"
"classname" "light"
"origin" "984 2448 -304"
}
{
"classname" "light"
"origin" "832 2360 112"
"light" "400"
}
{
"classname" "light"
"origin" "1144 2448 -488"
}
{
"origin" "1232 2360 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1320 2448 -488"
"light" "200"
}
{
"light" "200"
"origin" "1232 2536 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1232 2136 -488"
}
{
"origin" "1144 2048 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "1232 1960 -488"
"light" "200"
}
{
"light" "200"
"origin" "1320 2048 -488"
"classname" "light"
}
{
"classname" "light"
"origin" "832 2336 -200"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"sounds" "3"
"model" "*13"
}
{
"classname" "func_door_secret"
"angle" "180"
"sounds" "3"
"model" "*14"
}
{
"classname" "light"
"origin" "552 2480 -56"
"light" "200"
}
{
"light" "200"
"origin" "544 2296 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "664 2480 -56"
"light" "200"
}
{
"classname" "func_door"
"targetname" "t4"
"angle" "-2"
"spawnflags" "1"
"sounds" "2"
"model" "*15"
"lip" "7" // svdijk -- added to prevent z-fighting
}
{
"classname" "trigger_multiple"
"target" "t4"
"health" "1"
"model" "*16"
}
{
"spawnflags" "2048"
"classname" "func_door"
"angle" "90"
"targetname" "t5"
"wait" "-1"
"sounds" "2"
"model" "*17"
}
{
"spawnflags" "2048"
"classname" "trigger_once"
"target" "t5"
"model" "*18"
}
{
"classname" "item_artifact_super_damage"
"origin" "544 2480 -88"
}
{
"classname" "light"
"origin" "832 2104 -208"
}
{
"classname" "light"
"origin" "832 2048 -368"
"light" "150"
}
{
"classname" "light"
"origin" "1120 2464 112"
}
{
"origin" "1120 2080 112"
"classname" "light"
}
{
"classname" "light"
"origin" "752 2080 112"
"light" "200"
}
{
"classname" "light"
"origin" "1048 2280 -72"
}
{
"classname" "func_button"
"angle" "270"
"target" "t1"
"model" "*19"
}
{
"classname" "light"
"origin" "1136 1848 -504"
"light" "220"
}
{
"origin" "1136 1672 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1008 1672 -504"
"light" "220"
}
{
"origin" "1008 1848 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1288 1848 -504"
"light" "220"
}
{
"origin" "1400 1584 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1224 1584 -504"
"light" "220"
}
{
"origin" "1400 1736 -504"
"classname" "light"
"light" "220"
}
{
"origin" "880 1672 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "744 1672 -504"
"light" "220"
}
{
"classname" "light"
"origin" "1312 1648 -392"
"light" "220"
}
{
"light" "170"
"origin" "1312 1520 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "1200 1760 -392"
"light" "220"
}
{
"light" "170"
"origin" "1072 1760 -392"
"classname" "light"
}
{
"classname" "light"
"origin" "944 1760 -392"
"light" "170"
}
{
"origin" "832 1992 -208"
"classname" "light"
"light" "220"
}
{
"origin" "744 1832 -504"
"classname" "light"
}
{
"light" "170"
"origin" "832 1760 -392"
"classname" "light"
}
{
"light" "220"
"origin" "680 1936 -504"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1392 -352"
"light" "170"
}
{
"light" "170"
"origin" "1312 1264 -288"
"classname" "light"
}
{
"classname" "light"
"origin" "1312 1136 -232"
}
{
"origin" "1224 1456 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1400 1456 -504"
"light" "220"
}
{
"origin" "1400 1328 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1224 1328 -504"
"light" "220"
}
{
"origin" "1224 1200 -504"
"classname" "light"
"light" "220"
}
{
"classname" "light"
"origin" "1400 1200 -504"
"light" "220"
}
{
"origin" "1312 960 -208"
"classname" "light"
}
{
"classname" "trigger_teleport"
"target" "t6"
"model" "*20"
}
{
"classname" "light"
"origin" "1312 912 -472"
}
{
"classname" "light"
"origin" "1312 1080 -368"
}
{
"classname" "light"
"origin" "1128 1064 -504"
"light" "170"
}
{
"origin" "1128 856 -504"
"classname" "light"
"light" "170"
}
{
"classname" "light"
"origin" "1496 856 -504"
"light" "170"
}
{
"origin" "1496 1064 -504"
"classname" "light"
"light" "170"
}
{
"classname" "light"
"origin" "1312 776 -504"
"light" "170"
}
{
"spawnflags" "2"
"angle" "90"
"classname" "func_door_secret"
"model" "*21"
}
{
"origin" "1072 1024 -168"
"classname" "light"
}
{
"spawnflags" "1"
"height" "400"
"angle" "-1"
"sounds" "1"
"classname" "func_plat"
"model" "*22"
}
{
"targetname" "t8"
"spawnflags" "2"
"angle" "90"
"classname" "func_door_secret"
"model" "*23"
}
{
"target" "t8"
"classname" "trigger_multiple"
"model" "*24"
}
{
"light" "220"
"origin" "792 888 -248"
"classname" "light"
}
{
"light" "180"
"classname" "light"
"origin" "944 608 -248"
}
{
"light" "150"
"origin" "792 512 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "792 512 -56"
"light" "150"
}
{
"classname" "light"
"origin" "624 928 -240"
"light" "220"
}
{
"light" "220"
"origin" "504 1200 -248"
"classname" "light"
}
{
"origin" "936 800 -248"
"classname" "light"
"light" "180"
}
{
"light" "180"
"classname" "light"
"origin" "960 984 -208"
}
{
"classname" "light"
"origin" "792 512 128"
"light" "150"
}
{
"spawnflags" "2"
"origin" "944 1008 -272"
"classname" "item_health"
}
{
"spawnflags" "1792"
"origin" "144 2352 16"
"classname" "weapon_rocketlauncher"
}
{
"spawnflags" "1792"
"origin" "1216 1040 -432"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1793"
"origin" "1392 1024 -432"
"classname" "item_rockets"
}
{
"targetname" "t6"
"origin" "-32 1800 -56"
"classname" "info_teleport_destination"
}
{
"spawnflags" "1792"
"origin" "832 2448 -368"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1792"
"origin" "128 1216 -208"
"classname" "weapon_supershotgun"
}
{
"origin" "296 2136 -192"
"classname" "item_shells"
}
{
"spawnflags" "1"
"origin" "1424 904 -432"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "1376 808 -432"
}
{
"origin" "1176 936 -432"
"classname" "item_health"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*25"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*26"
}
{
"spawnflags" "2048"
"target" "t9"
"wait" "-1"
"angle" "270"
"classname" "func_button"
"model" "*27"
}
{
"target" "t10"
"targetname" "t9"
"count" "3"
"classname" "trigger_counter"
"model" "*28"
}
{
"message" "You must press the three buttons..."
"spawnflags" "2048"
"sounds" "2"
"wait" "-1"
"targetname" "t10"
"angle" "180"
"classname" "func_door"
"model" "*29"
}
{
"light" "150"
"origin" "832 1928 -384"
"classname" "light"
}
{
"style" "33"
"sounds" "3"
"target" "t11"
"classname" "trigger_once"
"model" "*30"
}
{
"style" "34"
"sounds" "3"
"target" "t12"
"classname" "trigger_once"
"model" "*31"
}
{
"style" "35"
"sounds" "3"
"target" "t13"
"classname" "trigger_once"
"model" "*32"
}
{
"style" "36"
"sounds" "3"
"target" "t14"
"classname" "trigger_once"
"model" "*33"
}
{
"sounds" "1"
"wait" "-1"
"targetname" "t11"
"spawnflags" "1"
"angle" "-2"
"classname" "func_door"
"model" "*34"
}
{
"targetname" "t12"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"wait" "-1"
"sounds" "1"
"model" "*35"
}
{
"targetname" "t13"
"sounds" "1"
"wait" "-1"
"spawnflags" "1"
"angle" "-2"
"classname" "func_door"
"model" "*36"
}
{
"targetname" "t14"
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"wait" "-1"
"sounds" "1"
"model" "*37"
}
{
"angle" "90"
"origin" "1312 880 -248"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1"
"origin" "1376 1024 -272"
"classname" "item_spikes"
}
{
"origin" "1184 992 -272"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1376 856 -272"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "1256 1704 -432"
"classname" "item_health"
}
{
"angle" "90"
"origin" "480 48 24"
"classname" "info_player_deathmatch"
}
{
"angle" "180"
"origin" "528 1888 -168"
"classname" "info_player_deathmatch"
}
{
"angle" "0"
"origin" "-272 2928 -56"
"classname" "info_player_deathmatch"
}
{
"angle" "0"
"origin" "832 2048 -152"
"classname" "info_player_deathmatch"
}
{
"speed" "300"
"message" "This door opens elsewhere..."
"spawnflags" "2048"
"targetname" "t15"
"angle" "270"
"classname" "func_door"
"wait" "-1"
"model" "*38"
}
{
"spawnflags" "2048"
"target" "t15"
"classname" "trigger_once"
"model" "*39"
}
{
"spawnflags" "1792"
"origin" "480 576 0"
"classname" "weapon_nailgun"
}
{
"spawnflags" "1793"
"origin" "464 728 64"
"classname" "item_spikes"
}
{
"origin" "328 848 -224"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "344 920 -224"
}
{
"spawnflags" "1"
"origin" "-16 2064 -208"
"classname" "item_health"
}
{
"spawnflags" "1792"
"origin" "-480 2240 -160"
"classname" "item_rockets"
}
{
"spawnflags" "1793"
"origin" "-96 2456 16"
"classname" "item_shells"
}
{
"classname" "item_rockets"
"origin" "-104 2216 16"
"spawnflags" "1793"
}
{
"classname" "item_artifact_invulnerability"
"origin" "256 1808 -40"
"spawnflags" "1792"
}
{
"classname" "monster_army"
"origin" "0 576 24"
"angle" "0"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "8 1520 -200"
"angle" "270"
}
{
"classname" "monster_dog"
"origin" "88 1520 -200"
"angle" "270"
}
{
"classname" "monster_army"
"origin" "224 1552 -200"
"angle" "270"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-8 936 -200"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "648 736 104"
"spawnflags" "768"
"angle" "180"
}
{
"classname" "item_artifact_envirosuit"
"origin" "712 2040 -408"
"angle" "90"
}
{
"classname" "light"
"origin" "712 2040 -360"
"light" "100"
}
{
"classname" "item_rockets"
"origin" "1328 2536 -528"
"spawnflags" "1793"
}
{
"classname" "item_health"
"origin" "916 2416 -136"
"spawnflags" "2"
}
{
"spawnflags" "1"
"classname" "monster_army"
"origin" "1312 936 -248"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "1336 1784 -408"
"angle" "180"
"spawnflags" "257"
}
{
"spawnflags" "257"
"angle" "90"
"origin" "1392 928 -248"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "1384 1008 -248"
"angle" "90"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "90"
"origin" "1240 1008 -248"
"classname" "monster_army"
}
{
"classname" "monster_army"
"origin" "1256 1760 -408"
"angle" "180"
"spawnflags" "257"
}
{
"classname" "monster_army"
"origin" "824 1784 -408"
"spawnflags" "257"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "1128 1760 -408"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "path_corner"
"origin" "880 2048 -168"
"target" "t16"
"targetname" "t17"
}
{
"origin" "1232 2048 -232"
"classname" "path_corner"
"targetname" "t16"
"target" "t17"
}
{
"classname" "monster_army"
"origin" "1232 2088 -216"
"target" "t16"
}
{
"classname" "monster_army"
"origin" "1232 2448 -280"
"angle" "270"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "832 2464 -344"
"angle" "0"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "832 2072 -408"
"angle" "90"
}
{
"classname" "monster_dog"
"origin" "840 1960 -408"
"angle" "90"
"spawnflags" "768"
}
{
"classname" "trigger_multiple"
"target" "t18"
"health" "1"
"model" "*40"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"targetname" "t18"
"model" "*41"
}
{
"classname" "weapon_supershotgun"
"origin" "-360 2912 -80"
}
{
"classname" "trigger_multiple"
"target" "t18"
"model" "*42"
}
{
"classname" "light"
"origin" "-352 2912 -24"
"light" "120"
}
{
"classname" "light"
"origin" "160 3024 0"
"light" "120"
}
{
"classname" "item_shells"
"origin" "528 720 80"
}
{
"classname" "monster_army"
"origin" "416 1912 -168"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_dog"
"origin" "432 2120 -168"
"angle" "180"
"spawnflags" "256"
}
{
"classname" "path_corner"
"origin" "248 1992 -200"
"targetname" "t19"
"target" "t20"
}
{
"origin" "-200 1992 -200"
"classname" "path_corner"
"targetname" "t20"
"target" "t21"
}
{
"classname" "path_corner"
"origin" "-136 1912 -200"
"targetname" "t21"
"target" "t22"
}
{
"origin" "248 1912 -200"
"classname" "path_corner"
"target" "t19"
"targetname" "t22"
}
{
"classname" "monster_army"
"origin" "80 2024 -184"
"target" "t20"
}
{
"classname" "monster_army"
"origin" "-16 1888 -184"
"spawnflags" "256"
"target" "t22"
}
{
"classname" "monster_dog"
"origin" "-248 2144 -136"
"spawnflags" "768"
"angle" "315"
}
{
"classname" "path_corner"
"origin" "-560 2352 40"
"targetname" "t23"
"target" "t24"
}
{
"origin" "-104 2352 40"
"classname" "path_corner"
"target" "t23"
"targetname" "t24"
}
{
"classname" "monster_army"
"origin" "-432 2352 56"
"spawnflags" "768"
"target" "t23"
}
{
"angle" "0"
"classname" "monster_dog"
"origin" "-544 2584 56"
"spawnflags" "256"
}
{
"classname" "monster_army"
"origin" "-344 2656 -104"
"angle" "270"
}
{
"classname" "monster_dog"
"origin" "-72 2896 -56"
"spawnflags" "256"
"angle" "225"
}
{
"classname" "monster_army"
"origin" "432 2920 -56"
"target" "t25"
}
{
"classname" "monster_army"
"origin" "424 2832 -56"
"spawnflags" "256"
"angle" "180"
}
{
"classname" "path_corner"
"origin" "368 2936 -72"
"targetname" "t25"
"target" "t26"
}
{
"origin" "368 2696 -72"
"classname" "path_corner"
"targetname" "t26"
"target" "t27"
}
{
"classname" "path_corner"
"origin" "480 2696 -72"
"targetname" "t27"
"target" "t28"
}
{
"origin" "480 2936 -72"
"classname" "path_corner"
"target" "t25"
"targetname" "t28"
}
{
"classname" "monster_army"
"origin" "424 2672 -56"
"target" "t27"
}
{
"classname" "monster_army"
"origin" "424 2880 -56"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_army"
"origin" "424 2760 -56"
"spawnflags" "768"
"angle" "180"
}
{
"classname" "path_corner"
"origin" "832 2712 -88"
"targetname" "t29"
"target" "t30"
}
{
"origin" "832 2416 -104"
"classname" "path_corner"
"target" "t29"
"targetname" "t30"
}
{
"classname" "monster_army"
"origin" "848 2584 -72"
"spawnflags" "257"
"target" "t29"
}
{
"classname" "monster_army"
"origin" "824 2008 -152"
"angle" "90"
"spawnflags" "768"
}
{
"classname" "item_health"
"origin" "-376 1704 -224"
"spawnflags" "1"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "248 2352 40"
"classname" "monster_army"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-72 2464 40"
"classname" "monster_army"
}
{
"spawnflags" "768"
"angle" "225"
"origin" "904 1024 -248"
"classname" "monster_army"
}
{
"light" "100"
"style" "10"
"classname" "light"
"origin" "688 0 80"
}
{
"message" "Shoot this secret door..."
"spawnflags" "1"
"angle" "0"
"classname" "func_door_secret"
"model" "*43"
}
{
"origin" "672 -40 48"
"classname" "item_shells"
}
{
"classname" "trigger_secret"
"model" "*44"
}
{
"classname" "trigger_secret"
"model" "*45"
}
{
"classname" "trigger_secret"
"model" "*46"
}
{
"classname" "trigger_secret"
"model" "*47"
}
{
"classname" "trigger_secret"
"model" "*48"
}
{
"classname" "trigger_secret"
"model" "*49"
}
{
"light" "100"
"origin" "0 632 -88"
"classname" "light"
}
{
"classname" "item_health"
"origin" "600 2200 -128"
"spawnflags" "1"
}
{
"light" "220"
"classname" "light"
"origin" "832 1880 -504"
}
{
"origin" "72 2056 -208"
"classname" "misc_explobox"
}
{
"light" "200"
"origin" "-128 584 72"
"classname" "light"
}
{
"light" "200"
"origin" "-128 568 -136"
"classname" "light"
}
{
"light" "100"
"origin" "-56 632 -168"
"classname" "light"
}
{
"light" "200"
"origin" "-56 864 -136"
"classname" "light"
}
{
"light" "200"
"origin" "40 1672 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "216 1672 -40"
"light" "200"
}
{
"classname" "light"
"origin" "128 1080 -152"
"light" "200"
}
{
"light" "200"
"origin" "128 1096 72"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "-352 1656 72"
}
{
"origin" "608 1640 72"
"classname" "light"
"light" "250"
}
{
"origin" "-48 1144 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "-48 1256 -320"
}
{
"origin" "320 1256 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "312 1128 -320"
}
{
"origin" "136 1128 -320"
"classname" "light"
"light" "170"
}
{
"light" "170"
"classname" "light"
"origin" "136 1272 -320"
}
{
"spawnflags" "3072"
"wait" "5"
"sounds" "2"
"message" "You can jump across..."
"classname" "trigger_multiple"
"targetname" "t32"
"model" "*50"
}
{
"spawnflags" "3072"
"wait" "5"
"message" "You can jump up here..."
"sounds" "2"
"classname" "trigger_multiple"
"targetname" "t31"
"model" "*51"
}
{
"light" "150"
"origin" "1008 2128 -408"
"classname" "light"
}
{
"light" "250"
"origin" "1312 544 -184"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "1208 456 -184"
}
{
"origin" "1416 456 -184"
"classname" "light"
"light" "200"
}
{
"light" "170"
"origin" "1312 728 -56"
"classname" "light"
}
{
"map" "e1m2"
"classname" "trigger_changelevel"
"model" "*52"
}
{
"classname" "item_health"
"origin" "1224 2464 -304"
"spawnflags" "1"
}
{
"classname" "light"
"origin" "688 1680 -160"
"light" "160"
}
{
"light" "160"
"origin" "-392 1688 -160"
"classname" "light"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "288 1536 -200"
"classname" "monster_army"
}
{
"spawnflags" "768"
"origin" "968 2432 -112"
"classname" "monster_army"
}
{
"wait" "5"
"message" "Walk into the slipgate to exit."
"classname" "trigger_multiple"
"sounds" "2"
"angle" "270"
"model" "*53"
}
{
"classname" "trigger_once"
"killtarget" "t31"
"target" "t31"
"spawnflags" "3072"
"model" "*54"
}
{
"classname" "trigger_once"
"spawnflags" "3072"
"target" "t32"
"killtarget" "t32"
"model" "*55"
}
{
"classname" "item_armor2"
"origin" "1312 1048 -432"
}
{
"classname" "ambient_comp_hum"
"origin" "250 194 72"
}
{
"origin" "714 194 72"
"classname" "ambient_comp_hum"
}
{
"classname" "ambient_comp_hum"
"origin" "626 2058 -104"
}
{
"origin" "466 2226 -104"
"classname" "ambient_comp_hum"
}
{
"classname" "info_intermission"
"origin" "-112 704 56"
"mangle" "20 45 0"
}
{
"classname" "info_intermission"
"origin" "-208 2736 192"
"mangle" "20 225 0"
}
{
"classname" "info_intermission"
"origin" "240 2664 104"
"mangle" "20 120 0"
}
{
"classname" "info_intermission"
"origin" "1376 1936 64"
"mangle" "20 135 0"
}
{
"angle" "90"
"origin" "528 -296 72"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "432 -296 72"
"angle" "90"
}
{
"angle" "90"
"origin" "480 -240 72"
"classname" "info_player_coop"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*56"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*57"
}
{
"classname" "ambient_drone"
"origin" "1314 450 -200"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e2m3.ent 0000644 0000000 0000000 00000114075 12425507313 017054 0 ustar root root {
"classname" "worldspawn"
"wad" "gfx/jr_med.wad"
"worldtype" "0"
"sounds" "9"
"message" "the Crypt of Decay"
}
{
"classname" "light"
"origin" "192 -648 128"
}
{
"classname" "info_player_start"
"origin" "688 -1600 -312"
"angle" "180"
}
{
"classname" "light_flame_large_yellow"
"origin" "650 -438 4"
}
{
"origin" "386 -438 4"
"classname" "light_flame_large_yellow"
}
{
"origin" "66 -886 4"
"classname" "light_flame_large_yellow"
}
{
"origin" "322 -886 4"
"classname" "light_flame_large_yellow"
}
{
"light" "250"
"origin" "192 -1408 288"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "192 -1088 288"
}
{
"light" "250"
"origin" "112 -1248 272"
"classname" "light"
}
{
"light" "250"
"classname" "light"
"origin" "272 -1248 272"
}
{
"light" "200"
"origin" "192 -1056 32"
"classname" "light"
}
{
"light" "150"
"origin" "192 -1248 24"
"classname" "light"
}
{
"origin" "194 -1462 108"
"classname" "light_flame_large_yellow"
}
{
"origin" "194 -1030 164"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "192 -1440 32"
"classname" "light"
}
{
"sounds" "2"
"classname" "func_plat"
"spawnflags" "1"
"model" "*1"
}
{
"origin" "226 -1670 -212"
"classname" "light_flame_large_yellow"
}
{
"light" "150"
"origin" "88 -1552 -184"
"classname" "light"
}
{
"origin" "-22 -1374 -212"
"classname" "light_flame_large_yellow"
}
{
"light" "150"
"origin" "328 -1256 -184"
"classname" "light"
}
{
"light" "150"
"classname" "light"
"origin" "56 -1256 -184"
}
{
"classname" "light"
"origin" "248 -1480 -184"
"light" "150"
}
{
"light" "250"
"origin" "552 -1608 -72"
"classname" "light"
}
{
"light" "150"
"origin" "432 -1656 -224"
"classname" "light"
}
{
"light" "150"
"origin" "432 -1496 -224"
"classname" "light"
}
{
"light" "100"
"origin" "192 -1248 -40"
"classname" "light"
}
{
"origin" "10 -438 4"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-254 -438 4"
}
{
"light" "150"
"origin" "192 -704 -136"
"classname" "light"
}
{
"light" "250"
"origin" "192 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "416 -512 -136"
"light" "150"
}
{
"light" "150"
"origin" "-32 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "-208 -512 -136"
"light" "150"
}
{
"light" "150"
"origin" "592 -512 -136"
"classname" "light"
}
{
"classname" "light"
"origin" "192 -840 -136"
"light" "150"
}
{
"light" "150"
"origin" "-352 -672 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 -832 -168"
"light" "150"
}
{
"light" "150"
"origin" "-320 -512 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "696 -512 -168"
"light" "150"
}
{
"light" "150"
"origin" "736 -672 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "704 -832 -168"
"light" "150"
}
{
"light" "150"
"origin" "512 -864 -168"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 -864 -168"
"light" "150"
}
{
"light" "200"
"origin" "-128 -320 8"
"classname" "light"
}
{
"classname" "light"
"origin" "512 -320 8"
"light" "200"
}
{
"origin" "384 -24 32"
"classname" "light"
}
{
"classname" "light"
"origin" "0 -24 32"
}
{
"light" "200"
"origin" "416 -192 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "-32 -192 -8"
"light" "200"
}
{
"light" "200"
"origin" "840 48 72"
"classname" "light"
}
{
"light" "150"
"origin" "576 -24 -56"
"classname" "light"
}
{
"light" "200"
"origin" "624 -24 72"
"classname" "light"
}
{
"origin" "1002 354 -60"
"classname" "light_flame_large_yellow"
}
{
"light" "100"
"origin" "1000 352 -128"
"classname" "light"
}
{
"classname" "light"
"origin" "736 8 72"
"light" "200"
}
{
"light" "200"
"origin" "936 88 72"
"classname" "light"
}
{
"light" "150"
"origin" "688 -8 -32"
"classname" "light"
}
{
"classname" "light"
"origin" "784 24 -104"
"light" "150"
}
{
"light" "150"
"origin" "888 72 -32"
"classname" "light"
}
{
"light" "200"
"origin" "872 208 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "872 400 -56"
"light" "200"
}
{
"light" "200"
"origin" "872 592 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "744 568 88"
"light" "150"
}
{
"light" "150"
"origin" "744 648 88"
"classname" "light"
}
{
"classname" "light"
"origin" "704 608 -80"
"light" "150"
}
{
"origin" "866 730 -60"
"classname" "light_flame_large_yellow"
}
{
"classname" "light"
"origin" "864 728 -128"
"light" "100"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t8"
"spawnflags" "2049"
"angle" "0"
"classname" "func_door"
"model" "*2"
}
{
"spawnflags" "2048"
"angle" "90"
"target" "t8"
"classname" "func_button"
"wait" "-1"
"model" "*3"
}
{
"origin" "520 608 -64"
"classname" "light"
}
{
"light" "400"
"origin" "192 608 -24"
"classname" "light"
}
{
"sounds" "1"
"wait" "-1"
"angle" "270"
"spawnflags" "2058"
"classname" "func_door_secret"
"targetname" "t9"
"model" "*4"
}
{
"light" "150"
"origin" "1064 640 -112"
"classname" "light"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1024 640 -152"
"classname" "monster_zombie"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1120 672 -152"
"classname" "monster_zombie"
}
{
"targetname" "t9"
"angle" "180"
"origin" "1088 600 -152"
"classname" "monster_zombie"
}
{
"origin" "976 336 -176"
"classname" "item_health"
}
{
"light" "150"
"origin" "192 608 -104"
"classname" "light"
}
{
"origin" "192 288 -64"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "66 106 4"
"light" "200"
}
{
"light" "200"
"origin" "-30 106 4"
"classname" "light_flame_large_yellow"
}
{
"classname" "light"
"origin" "504 120 -248"
"light" "200"
}
{
"light" "200"
"origin" "704 224 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "704 472 -248"
"light" "200"
}
{
"light" "200"
"origin" "304 112 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "80 112 -248"
"light" "200"
}
{
"light" "200"
"origin" "720 608 -248"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "1"
"wait" "-1"
"targetname" "t3"
"classname" "func_door"
"angle" "90"
"model" "*5"
}
{
"spawnflags" "2048"
"wait" "-1"
"angle" "270"
"classname" "func_door"
"message" "This door opens nearby..."
"model" "*6"
}
{
"spawnflags" "2048"
"target" "t3"
"wait" "-1"
"classname" "func_button"
"angle" "180"
"model" "*7"
}
{
"light" "250"
"origin" "-448 184 0"
"classname" "light"
}
{
"light" "150"
"origin" "-552 280 -224"
"classname" "light"
}
{
"classname" "light"
"origin" "-392 280 -224"
"light" "150"
}
{
"light" "150"
"origin" "-416 -32 104"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 -32 104"
"light" "150"
}
{
"light" "150"
"origin" "-224 -32 104"
"classname" "light"
}
{
"light" "250"
"origin" "-352 -32 -32"
"classname" "light"
}
{
"light" "200"
"origin" "-1160 88 -248"
"classname" "light"
}
{
"light" "200"
"origin" "-1048 88 -32"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-1160 224 -32"
}
{
"origin" "-742 658 -44"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-926 658 -44"
}
{
"light" "200"
"origin" "-736 632 -96"
"classname" "light"
}
{
"classname" "light"
"origin" "-928 632 -96"
"light" "200"
}
{
"light" "150"
"origin" "-600 104 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-696 424 -248"
"light" "150"
}
{
"light" "150"
"origin" "-1152 408 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-944 432 -248"
"light" "150"
}
{
"light" "150"
"origin" "-856 64 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-160 152 -248"
"light" "150"
}
{
"light" "150"
"origin" "-160 448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 464 -248"
"light" "150"
}
{
"light" "150"
"origin" "-256 176 -248"
"classname" "light"
}
{
"origin" "-574 410 -172"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "-470 410 -172"
}
{
"target" "t4"
"classname" "trigger_teleport"
"model" "*8"
}
{
"light" "200"
"style" "2"
"origin" "-760 576 -216"
"classname" "light"
}
{
"targetname" "t4"
"angle" "180"
"origin" "120 -32 -112"
"classname" "info_teleport_destination"
}
{
"light" "200"
"origin" "-264 384 112"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 288 112"
"light" "200"
}
{
"light" "200"
"origin" "-264 192 112"
"classname" "light"
}
{
"classname" "light"
"origin" "-264 480 112"
"light" "200"
}
{
"light" "250"
"origin" "-264 304 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "-520 424 0"
"light" "250"
}
{
"light" "200"
"origin" "-1120 608 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-1024 584 72"
"light" "200"
}
{
"light" "200"
"origin" "-928 584 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-832 584 72"
"light" "200"
}
{
"light" "200"
"origin" "-544 584 72"
"classname" "light"
}
{
"classname" "light"
"origin" "-640 584 72"
"light" "200"
}
{
"light" "150"
"origin" "-480 768 56"
"classname" "light"
}
{
"classname" "light"
"origin" "-384 768 56"
"light" "150"
}
{
"classname" "light"
"origin" "-712 120 -32"
"light" "200"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t5"
"spawnflags" "2049"
"angle" "180"
"classname" "func_door"
"model" "*9"
}
{
"spawnflags" "2048"
"angle" "270"
"target" "t5"
"wait" "-1"
"classname" "func_button"
"model" "*10"
}
{
"style" "32"
"targetname" "t5"
"light" "200"
"origin" "-352 552 -56"
"classname" "light"
}
{
"light" "150"
"origin" "-432 768 -56"
"classname" "light"
}
{
"light" "150"
"origin" "-520 680 -56"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "3"
"targetname" "t5"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*11"
}
{
"sounds" "3"
"targetname" "t5"
"spawnflags" "2049"
"wait" "-1"
"angle" "90"
"classname" "func_door"
"model" "*12"
}
{
"origin" "-72 848 -56"
"classname" "light"
}
{
"origin" "-120 600 -8"
"classname" "light"
}
{
"classname" "light"
"origin" "192 904 -8"
}
{
"light" "200"
"origin" "192 888 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-104 600 -248"
"light" "200"
}
{
"light" "200"
"origin" "376 984 -120"
"classname" "light"
}
{
"classname" "light"
"origin" "504 760 -120"
"light" "200"
}
{
"light" "200"
"origin" "-32 608 200"
"classname" "light"
}
{
"spawnflags" "2048"
"sounds" "3"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"model" "*13"
}
{
"origin" "-16 1456 16"
"classname" "light"
}
{
"light" "200"
"origin" "384 1248 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "384 1440 -56"
"light" "200"
}
{
"light" "150"
"origin" "256 1440 -56"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1248 -56"
"light" "200"
}
{
"light" "200"
"origin" "384 1344 -88"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1152 -88"
"light" "200"
}
{
"classname" "light"
"origin" "8 1456 -120"
"light" "200"
}
{
"spawnflags" "2048"
"sounds" "1"
"classname" "item_key2"
"origin" "-16 1456 -152"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"model" "*14"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"model" "*15"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t6"
"speed" "400"
"wait" "-1"
"sounds" "4"
"spawnflags" "2048"
"model" "*16"
}
{
"classname" "trigger_once"
"target" "t6"
"model" "*17"
}
{
"classname" "light"
"origin" "-192 1456 -136"
"light" "80"
}
{
"classname" "light"
"origin" "-16 1280 -136"
"light" "80"
}
{
"spawnflags" "768"
"classname" "monster_hell_knight"
"origin" "-16 1280 -168"
"angle" "90"
"targetname" "t6"
}
{
"spawnflags" "256"
"angle" "270"
"origin" "-16 1632 -168"
"classname" "monster_hell_knight"
"targetname" "t6"
}
{
"classname" "monster_hell_knight"
"origin" "-192 1456 -168"
"angle" "0"
"targetname" "t6"
}
{
"classname" "light"
"origin" "152 1440 -56"
"light" "150"
}
{
"classname" "item_shells"
"origin" "-104 1512 -192"
"spawnflags" "1"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "0"
"spawnflags" "2056"
"model" "*18"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "180"
"spawnflags" "2056"
"model" "*19"
}
{
"classname" "light"
"origin" "-1120 832 -48"
"light" "250"
}
{
"classname" "light"
"origin" "-1120 976 -24"
"light" "250"
}
{
"classname" "light"
"origin" "-1240 1296 216"
"light" "200"
}
{
"light" "200"
"origin" "-1240 1416 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-1240 1176 216"
"light" "200"
}
{
"classname" "light"
"origin" "-712 1416 216"
"light" "200"
}
{
"light" "200"
"origin" "-712 1296 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-712 1176 216"
"light" "200"
}
{
"light" "200"
"origin" "-856 1296 216"
"classname" "light"
}
{
"classname" "light"
"origin" "-1096 1296 216"
"light" "200"
}
{
"light" "200"
"origin" "-976 1296 216"
"classname" "light"
}
{
"classname" "light_flame_small_white"
"origin" "-1318 1514 -8"
}
{
"origin" "-1318 1514 64"
"classname" "light_flame_small_white"
}
{
"classname" "light_flame_small_white"
"origin" "-1318 1514 144"
}
{
"origin" "-634 1078 -8"
"classname" "light_flame_small_white"
}
{
"classname" "light_flame_small_white"
"origin" "-634 1078 64"
}
{
"origin" "-634 1078 144"
"classname" "light_flame_small_white"
}
{
"classname" "func_plat"
"spawnflags" "1"
"model" "*20"
}
{
"classname" "light"
"origin" "-320 1536 184"
"light" "250"
}
{
"classname" "light"
"origin" "-376 1312 120"
"light" "250"
}
{
"classname" "light"
"origin" "-16 1536 184"
"light" "200"
}
{
"light" "200"
"origin" "-560 1312 56"
"classname" "light"
}
{
"classname" "light"
"origin" "24 1120 216"
"light" "150"
}
{
"classname" "light"
"origin" "192 608 176"
"light" "200"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "90"
"spawnflags" "2049"
"targetname" "t7"
"sounds" "1"
"model" "*21"
}
{
"light" "150"
"origin" "400 1104 224"
"classname" "light"
}
{
"light" "150"
"origin" "-200 1056 224"
"classname" "light"
}
{
"light" "200"
"origin" "192 960 224"
"classname" "light"
}
{
"light" "200"
"origin" "192 784 224"
"classname" "light"
}
{
"classname" "light"
"origin" "672 264 184"
"light" "200"
}
{
"light" "200"
"origin" "384 184 184"
"classname" "light"
}
{
"classname" "light"
"origin" "512 256 8"
"light" "200"
}
{
"classname" "light"
"origin" "8 184 200"
"light" "200"
}
{
"classname" "light"
"origin" "584 744 200"
"light" "200"
}
{
"classname" "light"
"origin" "0 432 200"
"light" "200"
}
{
"classname" "trigger_once"
"targetname" "t8"
"target" "t9"
"delay" "10"
"model" "*22"
}
{
"classname" "light"
"origin" "192 -72 216"
"light" "250"
}
{
"classname" "light"
"origin" "360 -168 360"
"light" "200"
}
{
"classname" "light"
"origin" "296 -168 360"
"light" "200"
}
{
"origin" "472 -168 368"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "408 -168 360"
}
{
"classname" "light"
"origin" "384 -168 248"
"light" "200"
}
{
"classname" "light"
"origin" "936 -304 328"
"light" "200"
}
{
"light" "200"
"origin" "1000 -232 360"
"classname" "light"
}
{
"classname" "light"
"origin" "864 -232 360"
"light" "200"
}
{
"light" "200"
"origin" "864 -368 360"
"classname" "light"
}
{
"classname" "light"
"origin" "1000 -368 360"
"light" "200"
}
{
"classname" "light"
"origin" "736 -248 280"
"light" "200"
}
{
"light" "200"
"origin" "552 -216 280"
"classname" "light"
}
{
"classname" "light"
"origin" "16 144 -32"
"light" "200"
}
{
"classname" "light"
"origin" "0 432 -136"
"light" "200"
}
{
"classname" "light"
"origin" "192 384 184"
"light" "200"
}
{
"light" "200"
"origin" "192 192 184"
"classname" "light"
}
{
"spawnflags" "2048"
"classname" "func_button"
"wait" "-1"
"target" "t7"
"model" "*23"
}
{
"style" "33"
"targetname" "t7"
"classname" "light"
"origin" "176 1152 200"
"target" "t10"
}
{
"classname" "info_null"
"origin" "292 1152 180"
"targetname" "t10"
}
{
"classname" "light"
"origin" "192 1224 200"
"light" "150"
}
{
"light" "150"
"origin" "192 1376 200"
"classname" "light"
}
{
"classname" "light"
"origin" "192 1536 200"
"light" "200"
}
{
"light" "150"
"origin" "192 1080 200"
"classname" "light"
}
{
"classname" "weapon_nailgun"
"origin" "184 -1520 -272"
}
{
"classname" "func_button"
"target" "t11"
"angle" "-1"
"targetname" "t12"
"lip" "4"
"wait" "0.1"
"speed" "300"
"health" "1"
"model" "*24"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "1"
"targetname" "t11"
"wait" "10"
"model" "*25"
"lip" "7" // svdijk -- added to prevent z-fighting
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "8"
"targetname" "t11"
"model" "*26"
"t_length" "65" // svdijk -- added to prevent z-fighting
}
{
"classname" "light"
"origin" "1248 -288 312"
"light" "150"
}
{
"light" "200"
"origin" "1176 -400 352"
"classname" "light"
}
{
"classname" "item_health"
"origin" "1336 -536 256"
"spawnflags" "2"
}
{
"classname" "light"
"origin" "1320 -488 352"
"light" "200"
}
{
"classname" "trigger_multiple"
"target" "t11"
"wait" "10"
"model" "*27"
}
{
"classname" "item_armor1"
"origin" "192 -592 -64"
}
{
"classname" "item_shells"
"origin" "176 592 -160"
"spawnflags" "1"
}
{
"classname" "weapon_nailgun"
"origin" "-80 1456 -192"
"spawnflags" "1792"
}
{
"classname" "weapon_rocketlauncher"
"origin" "56 1144 128"
"spawnflags" "1792"
}
{
"classname" "weapon_grenadelauncher"
"origin" "-736 608 -280"
"spawnflags" "1792"
}
{
"classname" "item_spikes"
"origin" "1120 -384 256"
"spawnflags" "1"
}
{
"classname" "item_rockets"
"origin" "840 -432 192"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "-456 312 -80"
}
{
"classname" "monster_zombie"
"origin" "-1152 96 -88"
"spawnflags" "256"
"target" "t36"
}
{
"origin" "-1120 32 -88"
"classname" "monster_zombie"
"spawnflags" "768"
"target" "t36"
}
{
"classname" "monster_zombie"
"origin" "-1192 168 -88"
"target" "t36"
}
{
"classname" "monster_shambler"
"origin" "-1120 1104 -56"
"angle" "270"
}
{
"classname" "monster_hell_knight"
"origin" "-336 1312 8"
"angle" "180"
}
{
"classname" "monster_ogre"
"origin" "-698 1446 -56"
"angle" "270"
"spawnflags" "256"
}
{
"classname" "monster_hell_knight"
"origin" "-888 1128 8"
"angle" "90"
"spawnflags" "256"
}
{
"classname" "item_health"
"origin" "-336 784 -128"
}
{
"origin" "-408 608 -128"
"classname" "item_health"
}
{
"classname" "path_corner"
"origin" "-1096 584 -120"
"targetname" "t13"
"target" "t14"
}
{
"origin" "-496 584 -120"
"classname" "path_corner"
"targetname" "t14"
"target" "t13"
}
{
"classname" "monster_demon1"
"origin" "-712 576 -104"
"angle" "180"
"target" "t13"
}
{
"classname" "path_corner"
"origin" "-528 472 -96"
"targetname" "t15"
"target" "t16"
}
{
"origin" "-368 -32 -96"
"classname" "path_corner"
"target" "t15"
"targetname" "t16"
}
{
"classname" "monster_ogre"
"origin" "-466 262 -56"
"target" "t16"
"spawnflags" "256"
}
{
"target" "t22"
"targetname" "t21"
"origin" "56 -184 -120"
"classname" "path_corner"
}
{
"target" "t21"
"targetname" "t20"
"classname" "path_corner"
"origin" "-128 -224 -120"
}
{
"target" "t20"
"targetname" "t19"
"origin" "-128 -504 -56"
"classname" "path_corner"
}
{
"target" "t19"
"targetname" "t18"
"classname" "path_corner"
"origin" "512 -504 -56"
}
{
"target" "t18"
"targetname" "t17"
"origin" "512 -224 -120"
"classname" "path_corner"
}
{
"targetname" "t26"
"target" "t17"
"classname" "path_corner"
"origin" "328 -184 -120"
}
{
"target" "t23"
"targetname" "t22"
"classname" "path_corner"
"origin" "-128 -200 -120"
}
{
"target" "t24"
"targetname" "t23"
"classname" "path_corner"
"origin" "-128 -552 -56"
}
{
"target" "t25"
"targetname" "t24"
"origin" "512 -552 -56"
"classname" "path_corner"
}
{
"target" "t26"
"targetname" "t25"
"classname" "path_corner"
"origin" "512 -200 -120"
}
{
"spawnflags" "256"
"target" "t21"
"origin" "0 -184 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "1"
"origin" "376 -160 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "190 -706 -40"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "90"
"origin" "192 -1408 24"
"classname" "monster_hell_knight"
}
{
"origin" "40 -1424 0"
"classname" "item_shells"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "304 -1096 0"
"classname" "item_health"
}
{
"origin" "328 -1280 -272"
"classname" "item_health"
}
{
"origin" "40 -1256 -272"
"classname" "item_spikes"
}
{
"target" "t28"
"targetname" "t27"
"origin" "864 176 -168"
"classname" "path_corner"
}
{
"target" "t27"
"targetname" "t28"
"classname" "path_corner"
"origin" "864 616 -168"
}
{
"target" "t27"
"origin" "862 446 -152"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "180"
"origin" "526 -26 -104"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"angle" "0"
"origin" "-72 -24 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "256"
"origin" "-274 -34 -104"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "-512 760 -104"
"classname" "monster_hell_knight"
}
{
"spawnflags" "1793"
"origin" "336 1104 128"
"classname" "item_rockets"
}
{
"angle" "45"
"spawnflags" "256"
"origin" "104 256 -136"
"classname" "monster_zombie"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "192 488 -136"
"classname" "monster_hell_knight"
}
{
"wait" "1"
"speed" "250"
"lip" "16"
"spawnflags" "5"
"targetname" "t29"
"dmg" "20"
"angle" "180"
"classname" "func_door"
"model" "*28"
}
{
"wait" "1"
"targetname" "t29"
"speed" "250"
"dmg" "20"
"lip" "16"
"spawnflags" "5"
"classname" "func_door"
"sounds" "1"
"model" "*29"
}
{
"wait" "2"
"target" "t29"
"classname" "trigger_multiple"
"model" "*30"
}
{
"origin" "506 1762 -124"
"classname" "light_torch_small_walltorch"
"style" "1"
}
{
"classname" "light_torch_small_walltorch"
"origin" "274 2010 -124"
}
{
"light" "200"
"origin" "152 1824 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "288 1824 -40"
"light" "200"
}
{
"light" "200"
"origin" "288 1696 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "152 1704 -40"
"light" "200"
}
{
"light" "220"
"origin" "0 1704 -40"
"classname" "light"
}
{
"angle" "180"
"classname" "func_door_secret"
"targetname" "t35"
"spawnflags" "16"
"sounds" "1"
"model" "*31"
}
{
"spawnflags" "2"
"origin" "-16 1816 -192"
"classname" "item_health"
}
{
"origin" "432 1672 -320"
"classname" "light"
"light" "220"
}
{
"spawnflags" "1792"
"origin" "-16 1752 -192"
"classname" "item_rockets"
}
{
"angle" "270"
"origin" "-192 1580 168"
"classname" "trap_spikeshooter"
"targetname" "t32"
}
{
"spawnflags" "256"
"classname" "trap_spikeshooter"
"origin" "236 1536 168"
"angle" "180"
"targetname" "t32"
}
{
"classname" "trap_spikeshooter"
"origin" "0 1580 168"
"angle" "270"
"targetname" "t32"
}
{
"angle" "90"
"origin" "-96 1492 168"
"classname" "trap_spikeshooter"
"targetname" "t32"
}
{
"classname" "trap_spikeshooter"
"origin" "148 1376 168"
"angle" "0"
"targetname" "t33"
}
{
"angle" "180"
"origin" "236 1256 168"
"classname" "trap_spikeshooter"
"targetname" "t33"
}
{
"spawnflags" "256"
"classname" "trap_spikeshooter"
"origin" "192 1580 168"
"angle" "270"
"targetname" "t33"
}
{
"spawnflags" "257"
"angle" "90"
"origin" "192 -16 153"
"classname" "monster_hell_knight"
}
{
"spawnflags" "257"
"angle" "180"
"origin" "864 -248 217"
"classname" "monster_shambler"
}
{
"angle" "180"
"origin" "464 -184 185"
"classname" "monster_hell_knight"
}
{
"classname" "monster_hell_knight"
"origin" "192 -176 153"
"angle" "90"
"spawnflags" "1"
"target" "t31"
}
{
"spawnflags" "769"
"angle" "90"
"origin" "190 1166 153"
"classname" "monster_ogre"
}
{
"spawnflags" "2048"
"origin" "48 1456 -192"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1"
"origin" "-96 1376 -192"
"classname" "item_rockets"
}
{
"angle" "270"
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "862 662 -152"
}
{
"light" "120"
"origin" "192 -352 -264"
"classname" "light"
}
{
"spawnflags" "768"
"origin" "326 -1490 -248"
"classname" "monster_ogre"
"angle" "180"
"target" "t42"
}
{
"origin" "192 552 128"
"classname" "item_health"
}
{
"spawnflags" "1024"
"classname" "item_health"
"origin" "176 672 128"
}
{
"spawnflags" "1025"
"origin" "184 1312 128"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-16 1480 128"
"spawnflags" "1025"
}
{
"origin" "672 -328 176"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "776 -192 176"
}
{
"origin" "784 312 -176"
"classname" "item_shells"
}
{
"spawnflags" "256"
"angle" "315"
"origin" "-26 1094 152"
"classname" "monster_ogre"
}
{
"classname" "monster_ogre"
"origin" "406 1094 152"
"angle" "225"
"spawnflags" "768"
}
{
"spawnflags" "1"
"origin" "-200 1128 128"
"classname" "item_rockets"
}
{
"origin" "-550 -478 212"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-550 -166 212"
}
{
"origin" "-214 -326 252"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "-120 -176 192"
"classname" "light"
}
{
"classname" "light"
"origin" "56 -176 192"
"light" "150"
}
{
"origin" "-816 1488 -80"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-752 1488 -80"
}
{
"spawnflags" "1536"
"origin" "-688 1488 -80"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "176 1264 -160"
"classname" "item_shells"
}
{
"classname" "func_door"
"angle" "270"
"targetname" "t31"
"wait" "-1"
"spawnflags" "2048"
"model" "*32"
}
{
"wait" "-1"
"sounds" "1"
"speed" "300"
"classname" "func_door"
"angle" "90"
"model" "*33"
}
{
"speed" "300"
"classname" "func_door"
"angle" "270"
"wait" "-1"
"model" "*34"
}
{
"classname" "item_health"
"origin" "400 1464 -160"
"spawnflags" "1024"
}
{
"classname" "item_health"
"origin" "-1136 528 -128"
}
{
"classname" "monster_ogre"
"origin" "-370 -218 88"
"targetname" "t31"
"spawnflags" "1"
}
{
"classname" "monster_hell_knight"
"origin" "-64 -176 152"
"angle" "0"
"spawnflags" "768"
"targetname" "t31"
}
{
"classname" "item_health"
"origin" "-488 -480 64"
}
{
"classname" "light"
"origin" "680 -1600 -160"
}
{
"classname" "item_spikes"
"origin" "984 -192 192"
"spawnflags" "1"
}
{
"classname" "monster_ogre"
"origin" "-490 -410 88"
"angle" "45"
}
{
"classname" "trigger_multiple"
"target" "t32"
"wait" "1"
"spawnflags" "1024"
"targetname" "t44"
"model" "*35"
}
{
"classname" "trigger_multiple"
"target" "t33"
"wait" "1"
"spawnflags" "1024"
"model" "*36"
}
{
"classname" "item_rockets"
"origin" "-96 272 -384"
}
{
"classname" "weapon_supernailgun"
"origin" "-1200 208 -112"
"spawnflags" "1792"
}
{
"classname" "func_door_secret"
"spawnflags" "2051"
"targetname" "t36"
"angle" "90"
"model" "*37"
"t_length" "65" // svdijk -- added to prevent z-fighting
}
{
"classname" "light"
"origin" "-1288 640 -80"
"light" "160"
}
{
"light" "160"
"origin" "-1288 128 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-1288 264 -80"
"light" "160"
}
{
"light" "160"
"origin" "-1288 392 -80"
"classname" "light"
}
{
"classname" "light"
"origin" "-1288 520 -80"
"light" "160"
}
{
"classname" "func_door_secret"
"targetname" "t36"
"angle" "270"
"spawnflags" "2049"
"model" "*38"
"t_length" "65" // svdijk -- added to prevent z-fighting
}
{
"classname" "item_armor2"
"origin" "1128 600 -176"
"spawnflags" "1024"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "11"
"targetname" "t34"
"model" "*39"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-246 -1310 -204"
"light" "250"
}
{
"classname" "trigger_once"
"target" "t34"
"model" "*40"
}
{
"classname" "item_spikes"
"origin" "-240 -1288 -312"
"spawnflags" "1"
}
{
"spawnflags" "1"
"origin" "-240 -1368 -312"
"classname" "item_spikes"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "-2"
"spawnflags" "3585"
"wait" "90"
"targetname" "t6"
"model" "*41"
}
{
"sounds" "3"
"classname" "func_door"
"targetname" "t6"
"spawnflags" "3585"
"angle" "-2"
"wait" "90"
"model" "*42"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "0"
"spawnflags" "1537"
"targetname" "t6"
"wait" "90"
"model" "*43"
}
{
"classname" "light_torch_small_walltorch"
"origin" "-42 1642 -108"
"light" "200"
}
{
"classname" "item_health"
"origin" "-72 560 -384"
}
{
"origin" "-152 560 -384"
"classname" "item_health"
}
{
"targetname" "t31"
"spawnflags" "513"
"angle" "90"
"origin" "848 -376 216"
"classname" "monster_hell_knight"
}
{
"targetname" "t31"
"spawnflags" "768"
"origin" "-512 -248 88"
"classname" "monster_shambler"
}
{
"spawnflags" "768"
"angle" "180"
"origin" "382 1246 -136"
"classname" "monster_ogre"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "190 1438 -136"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "640 -1664 -312"
"angle" "180"
}
{
"classname" "info_player_deathmatch"
"origin" "-400 -240 88"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "-216 1088 152"
"angle" "0"
}
{
"classname" "info_player_deathmatch"
"origin" "-512 792 -104"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "888 624 -152"
"angle" "270"
}
{
"classname" "info_player_deathmatch"
"origin" "-96 1456 -168"
"angle" "0"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*44"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*45"
}
{
"classname" "func_plat"
"height" "192"
"sounds" "2"
"model" "*46"
}
{
"classname" "item_health"
"origin" "-1184 72 -352"
}
{
"classname" "light"
"origin" "-952 1408 80"
"light" "200"
}
{
"classname" "light"
"origin" "-1120 1176 48"
"light" "250"
}
{
"classname" "light"
"origin" "-104 288 -344"
"light" "200"
}
{
"classname" "light"
"origin" "-512 376 -304"
"light" "200"
}
{
"classname" "trigger_multiple"
"target" "t35"
"model" "*47"
}
{
"classname" "light"
"origin" "192 -376 -16"
"light" "150"
}
{
"classname" "light"
"origin" "192 -328 176"
"light" "150"
}
{
"classname" "trigger_multiple"
"target" "t32"
"spawnflags" "768"
"wait" "0.5"
"model" "*48"
}
{
"classname" "trigger_multiple"
"spawnflags" "768"
"wait" "0.5"
"target" "t33"
"targetname" "t44"
"model" "*49"
}
{
"origin" "-1176 112 -112"
"classname" "item_rockets"
}
{
"origin" "-736 544 -280"
"classname" "item_armorInv"
}
{
"classname" "func_button"
"angle" "180"
"target" "t36"
"model" "*50"
}
{
"classname" "info_null"
"origin" "-1332 1116 -36"
"targetname" "t37"
}
{
"classname" "light"
"origin" "-1296 1120 -32"
"target" "t37"
"angle" "60"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*51"
}
{
"spawnflags" "2048"
"classname" "func_wall"
"model" "*52"
}
{
"classname" "light"
"origin" "192 -152 -344"
"light" "160"
}
{
"classname" "light"
"origin" "192 32 -344"
"light" "160"
}
{
"classname" "light"
"origin" "32 168 -344"
"light" "140"
}
{
"light" "160"
"origin" "-16 408 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "192 368 -344"
"light" "140"
}
{
"light" "140"
"origin" "448 368 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "528 592 -344"
"light" "200"
}
{
"light" "200"
"origin" "408 808 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "192 832 -344"
"light" "200"
}
{
"light" "200"
"origin" "-40 728 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "-168 632 -344"
"light" "200"
}
{
"light" "200"
"origin" "-160 976 -344"
"classname" "light"
}
{
"classname" "light"
"origin" "592 456 -344"
"light" "200"
}
{
"classname" "light"
"origin" "192 352 -232"
"light" "200"
}
{
"light" "200"
"origin" "32 264 -232"
"classname" "light"
}
{
"classname" "light"
"origin" "-184 432 -336"
"light" "160"
}
{
"light" "160"
"origin" "-192 144 -336"
"classname" "light"
}
{
"classname" "light"
"origin" "-776 280 -312"
"light" "200"
}
{
"light" "200"
"origin" "-864 432 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-1096 432 -312"
"light" "200"
}
{
"light" "200"
"origin" "-1168 272 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-944 64 -312"
"light" "200"
}
{
"light" "200"
"origin" "-664 136 -312"
"classname" "light"
}
{
"light" "200"
"origin" "-1112 592 -96"
"classname" "light"
}
{
"classname" "light"
"origin" "-1040 1256 -32"
"light" "150"
}
{
"light" "200"
"origin" "-880 1128 80"
"classname" "light"
}
{
"classname" "light"
"origin" "-712 1400 -16"
"light" "200"
}
{
"classname" "light"
"origin" "104 -600 -224"
"light" "200"
}
{
"light" "200"
"origin" "280 -600 -224"
"classname" "light"
}
{
"classname" "trigger_changelevel"
"map" "e2m4"
"model" "*53"
}
{
"light" "160"
"origin" "-312 808 -72"
"classname" "light"
}
{
"light" "200"
"origin" "192 1776 -312"
"classname" "light"
}
{
"classname" "light"
"origin" "-392 568 -56"
"light" "160"
}
{
"classname" "light"
"origin" "-1224 1504 8"
"light" "170"
}
{
"light" "170"
"origin" "-1304 1392 8"
"classname" "light"
}
{
"classname" "light"
"origin" "-640 1168 -8"
"light" "170"
}
{
"light" "160"
"origin" "352 -1248 56"
"classname" "light"
}
{
"classname" "light"
"origin" "40 -1248 56"
"light" "160"
}
{
"light" "160"
"origin" "192 -1216 -176"
"classname" "light"
}
{
"classname" "light"
"origin" "24 -1376 -232"
"light" "160"
}
{
"light" "160"
"origin" "224 -1624 -232"
"classname" "light"
}
{
"classname" "light"
"origin" "368 -1392 -232"
"light" "160"
}
{
"classname" "light"
"origin" "8 -464 -40"
"light" "140"
}
{
"light" "140"
"origin" "384 -464 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "-544 800 -56"
"light" "140"
}
{
"classname" "trigger_secret"
"model" "*54"
}
{
"classname" "trigger_secret"
"model" "*55"
}
{
"light" "200"
"origin" "760 1856 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "760 1664 -40"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "538 1762 -124"
"style" "1"
"light" "200"
}
{
"style" "1"
"classname" "light_torch_small_walltorch"
"origin" "850 1930 -124"
"light" "200"
}
{
"origin" "850 1618 -124"
"classname" "light_torch_small_walltorch"
"style" "1"
"light" "200"
}
{
"classname" "light"
"origin" "912 1856 -40"
"light" "200"
}
{
"light" "200"
"origin" "912 1664 -40"
"classname" "light"
}
{
"light" "200"
"origin" "1064 1776 -172"
"classname" "light"
}
{
"light" "200"
"origin" "1080 1856 -40"
"classname" "light"
}
{
"classname" "light"
"origin" "1080 1664 -40"
"light" "200"
}
{
"classname" "light"
"origin" "1176 1776 -172"
"light" "200"
}
{
"light" "170"
"origin" "672 1768 -296"
"classname" "light"
}
{
"target" "t38"
"classname" "trigger_teleport"
"model" "*56"
}
{
"targetname" "t38"
"origin" "1144 1776 -88"
"classname" "info_teleport_destination"
}
{
"map" "e2m7"
"classname" "trigger_changelevel"
"model" "*57"
}
{
"light" "160"
"origin" "840 1768 -200"
"classname" "light"
}
{
"light" "140"
"origin" "408 608 -344"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "-16 240 -160"
"spawnflags" "2048"
}
{
"classname" "weapon_supernailgun"
"origin" "-1256 1448 -80"
}
{
"origin" "432 1160 152"
"classname" "item_artifact_super_damage"
}
{
"message" "The portal lies beyond..."
"targetname" "t40"
"wait" "-1"
"speed" "20"
"sounds" "4"
"angle" "-2"
"classname" "func_door"
"model" "*58"
}
{
"origin" "432 1672 -368"
"classname" "item_armor2"
}
{
"target" "t39"
"sounds" "1"
"wait" "-1"
"classname" "func_button"
"model" "*59"
}
{
"message" "The underwater barrier is lowered..."
"target" "t40"
"targetname" "t39"
"spawnflags" "1"
"classname" "trigger_once"
"model" "*60"
}
{
"classname" "trigger_secret"
"model" "*61"
}
{
"light" "200"
"origin" "-128 -704 -224"
"classname" "light"
}
{
"classname" "light"
"origin" "512 -704 -224"
"light" "200"
}
{
"light" "200"
"origin" "192 -832 -224"
"classname" "light"
}
{
"mangle" "20 240 0"
"origin" "400 1048 240"
"classname" "info_intermission"
}
{
"mangle" "20 145 0"
"origin" "-160 144 64"
"classname" "info_intermission"
}
{
"mangle" "-20 45 0"
"origin" "-320 -824 -144"
"classname" "info_intermission"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*62"
}
{
"classname" "item_artifact_super_damage"
"origin" "928 1768 -240"
"spawnflags" "1792"
}
{
"classname" "light"
"origin" "8 1800 -120"
"light" "220"
}
{
"classname" "weapon_lightning"
"origin" "1216 1784 -264"
"spawnflags" "1792"
}
{
"classname" "item_cells"
"origin" "880 1648 -264"
"spawnflags" "1793"
}
{
"spawnflags" "1793"
"origin" "880 1864 -264"
"classname" "item_cells"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*63"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*64"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*65"
}
{
"classname" "info_player_coop"
"origin" "664 -1520 -312"
"angle" "180"
}
{
"angle" "180"
"origin" "592 -1600 -312"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "680 -1712 -312"
"angle" "180"
}
{
"classname" "air_bubbles"
"origin" "720 1384 -320"
}
{
"classname" "light"
"origin" "680 1376 -312"
}
{
"classname" "func_door_secret"
"angle" "180"
"spawnflags" "2"
"targetname" "t41"
"model" "*66"
"t_length" "65" // svdijk -- added to prevent z-fighting
}
{
"classname" "trigger_multiple"
"target" "t41"
"model" "*67"
}
{
"origin" "688 1176 -312"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "480 1408 -312"
}
{
"origin" "448 1552 -312"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "840 1080 -312"
}
{
"origin" "840 1080 -160"
"classname" "light"
"light" "200"
}
{
"light" "200"
"classname" "light"
"origin" "840 1080 0"
}
{
"classname" "light"
"origin" "840 1080 232"
"light" "200"
}
{
"classname" "item_artifact_envirosuit"
"origin" "576 1440 -344"
}
{
"classname" "item_artifact_invulnerability"
"origin" "544 1248 -344"
}
{
"light" "200"
"origin" "840 936 232"
"classname" "light"
}
{
"classname" "light"
"origin" "840 760 232"
"light" "150"
}
{
"light" "120"
"origin" "808 600 232"
"classname" "light"
}
{
"classname" "item_health"
"origin" "824 960 152"
}
{
"origin" "848 880 152"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "808 768 152"
}
{
"classname" "trigger_multiple"
"message" "Welcome to the Well of Wishes!"
"wait" "5"
"sounds" "1"
"model" "*68"
}
{
"classname" "trigger_multiple"
"sounds" "1"
"wait" "3"
"message" "The Dopefish Lives!"
"model" "*69"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*70"
}
{
"classname" "trigger_secret"
"model" "*71"
}
{
"spawnflags" "1"
"origin" "-1312 1392 -80"
"classname" "item_spikes"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*72"
}
{
"classname" "light"
"origin" "-544 600 -248"
"light" "200"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "194 -214 196"
"spawnflags" "2048"
}
{
"light" "200"
"origin" "352 984 -328"
"classname" "light"
}
{
"classname" "light"
"origin" "96 976 -328"
"light" "200"
}
{
"classname" "light"
"origin" "640 776 -336"
"light" "200"
}
{
"classname" "func_plat"
"spawnflags" "1"
"model" "*73"
}
{
"classname" "monster_fish"
"origin" "656 352 -336"
"spawnflags" "256"
}
{
"spawnflags" "256"
"origin" "432 424 -336"
"classname" "monster_fish"
}
{
"classname" "monster_fish"
"origin" "296 968 -336"
"spawnflags" "256"
}
{
"origin" "-48 800 -336"
"classname" "monster_fish"
}
{
"classname" "monster_fish"
"origin" "-896 248 -312"
}
{
"origin" "-744 328 -312"
"classname" "monster_fish"
}
{
"classname" "path_corner"
"origin" "272 -1504 -264"
"targetname" "t42"
"target" "t43"
}
{
"origin" "56 -1352 -264"
"classname" "path_corner"
"target" "t42"
"targetname" "t43"
}
{
"classname" "item_health"
"origin" "312 -1336 -272"
}
{
"origin" "544 -1488 -336"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "312 1464 -160"
}
{
"origin" "56 1488 -192"
"classname" "item_health"
}
{
"classname" "trigger_once"
"killtarget" "t44"
"spawnflags" "3072"
"model" "*74"
}
{
"classname" "item_rockets"
"origin" "216 648 120"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "136 648 120"
"spawnflags" "1"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e2m2.ent.orig 0000644 0000000 0000000 00000064572 12425501423 020014 0 ustar root root {
"message" "the Ogre Citadel"
"sounds" "8"
"wad" "gfx/wizard.wad"
"classname" "worldspawn"
"worldtype" "0"
}
{
"origin" "160 -160 120"
"classname" "light"
}
{
"angle" "90"
"origin" "-256 -1952 280"
"classname" "info_player_start"
}
{
"classname" "light"
"origin" "160 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "160 -648 184"
}
{
"classname" "light"
"origin" "-56 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "376 -392 248"
"light" "200"
}
{
"classname" "light"
"origin" "288 -416 -72"
"light" "200"
}
{
"classname" "light"
"origin" "32 -416 -72"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "10 -270 148"
"light" "250"
}
{
"classname" "light_torch_small_walltorch"
"origin" "314 -270 148"
"light" "250"
}
{
"classname" "light"
"origin" "-264 -440 248"
"light" "200"
}
{
"classname" "light"
"origin" "584 -440 248"
"light" "200"
}
{
"classname" "light"
"origin" "544 -648 248"
}
{
"light" "150"
"origin" "648 -456 -184"
"classname" "light"
}
{
"origin" "376 -800 184"
"classname" "light"
}
{
"classname" "light"
"origin" "-152 -752 184"
"light" "250"
}
{
"classname" "light"
"origin" "-232 -592 184"
"light" "250"
}
{
"classname" "light"
"origin" "160 112 184"
}
{
"classname" "light"
"origin" "160 352 120"
}
{
"classname" "light"
"origin" "160 216 -48"
"light" "120"
}
{
"classname" "light"
"origin" "160 16 -48"
"light" "120"
}
{
"classname" "light"
"origin" "160 544 144"
"light" "225"
}
{
"classname" "light"
"origin" "480 576 88"
}
{
"classname" "light"
"origin" "480 448 88"
}
{
"classname" "light"
"origin" "480 576 168"
"light" "250"
}
{
"classname" "light"
"origin" "480 448 168"
"light" "250"
}
{
"classname" "light"
"origin" "160 896 312"
"light" "350"
}
{
"classname" "light"
"origin" "288 896 312"
"light" "100"
}
{
"classname" "light"
"origin" "32 896 312"
"light" "100"
}
{
"classname" "light"
"origin" "160 1008 312"
"light" "100"
}
{
"classname" "light"
"origin" "160 784 312"
"light" "100"
}
{
"classname" "light"
"origin" "392 120 184"
"light" "350"
}
{
"classname" "light"
"origin" "568 208 184"
"light" "350"
}
{
"classname" "light"
"origin" "720 480 184"
}
{
"classname" "light"
"origin" "640 632 184"
}
{
"classname" "light"
"origin" "472 1152 56"
}
{
"classname" "light"
"origin" "512 896 152"
}
{
"origin" "800 800 184"
"classname" "light"
}
{
"light" "200"
"origin" "632 1264 -40"
"classname" "light"
}
{
"origin" "800 1032 184"
"classname" "light"
}
{
"origin" "760 1472 64"
"classname" "light"
}
{
"light" "200"
"origin" "544 1416 56"
"classname" "light"
}
{
"origin" "672 1256 184"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "1024 1272 184"
"classname" "light"
}
{
"light" "200"
"origin" "992 1440 184"
"classname" "light"
}
{
"origin" "1240 488 184"
"classname" "light"
}
{
"origin" "1280 136 176"
"classname" "light"
}
{
"origin" "160 1304 136"
"classname" "light"
}
{
"origin" "160 1648 256"
"classname" "light"
"light" "200"
}
{
"origin" "240 1600 256"
"classname" "light"
"light" "200"
}
{
"origin" "16 1616 168"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "-120 1304 40"
"classname" "light"
}
{
"origin" "-352 1144 16"
"classname" "light"
"light" "250"
}
{
"origin" "-56 1096 64"
"classname" "light"
}
{
"light" "200"
"origin" "-56 1152 280"
"classname" "light"
}
{
"light" "350"
"origin" "-440 1144 200"
"classname" "light"
}
{
"light" "200"
"origin" "-352 1336 -72"
"classname" "light"
}
{
"origin" "-488 368 56"
"classname" "light"
"light" "250"
}
{
"light" "350"
"origin" "-488 896 136"
"classname" "light"
}
{
"origin" "-216 896 184"
"classname" "light"
"light" "250"
}
{
"origin" "-128 536 168"
"classname" "light"
"light" "200"
}
{
"light" "150"
"origin" "-104 480 32"
"classname" "light"
}
{
"light" "150"
"origin" "-208 936 56"
"classname" "light"
}
{
"light" "150"
"origin" "-208 736 32"
"classname" "light"
}
{
"origin" "-344 64 184"
"classname" "light"
}
{
"light" "350"
"origin" "-648 384 184"
"classname" "light"
}
{
"light" "350"
"origin" "-488 688 184"
"classname" "light"
}
{
"light" "150"
"origin" "-680 496 -36"
"classname" "light"
}
{
"light" "350"
"origin" "-600 1104 96"
"classname" "light"
}
{
"origin" "-824 896 168"
"classname" "light"
}
{
"origin" "-896 600 160"
"classname" "light"
}
{
"target" "t1"
"classname" "trigger_teleport"
"model" "*1"
}
{
"spawnflags" "1792"
"targetname" "t1"
"origin" "-448 264 -56"
"classname" "info_teleport_destination"
"angle" "45"
}
{
"light" "250"
"origin" "-168 1320 160"
"classname" "light"
}
{
"origin" "-24 896 184"
"classname" "light"
}
{
"origin" "-104 896 184"
"classname" "light"
"light" "250"
}
{
"spawnflags" "2"
"origin" "-680 880 48"
"classname" "item_health"
}
{
"angle" "90"
"origin" "-896 512 24"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "-184 560 128"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "160 1640 160"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "1272 112 80"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "176 -784 24"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1"
"origin" "208 -160 0"
"classname" "item_rockets"
}
{
"origin" "64 464 0"
"classname" "item_health"
}
{
"origin" "120 464 0"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-8 840 64"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-8 952 64"
"classname" "item_health"
}
{
"spawnflags" "9"
"origin" "568 880 0"
"classname" "item_weapon"
}
{
"origin" "456 1104 -88"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "664 1272 -88"
"classname" "item_shells"
}
{
"angle" "225"
"origin" "888 1312 120"
"classname" "info_player_deathmatch"
}
{
"origin" "1328 168 56"
"classname" "item_health"
}
{
"origin" "1328 128 56"
"classname" "item_health"
}
{
"origin" "1328 208 56"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "816 1472 0"
"classname" "item_shells"
}
{
"light" "200"
"origin" "-64 -120 -56"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -160 -56"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -208 -272"
"classname" "light"
}
{
"classname" "func_plat"
"model" "*2"
}
{
"spawnflags" "2"
"origin" "-192 -176 -80"
"classname" "item_health"
}
{
"light" "350"
"origin" "-816 128 184"
"classname" "light"
}
{
"light" "350"
"origin" "-664 -80 184"
"classname" "light"
}
{
"light" "250"
"origin" "-656 112 32"
"classname" "light"
}
{
"origin" "-352 208 56"
"classname" "light"
"light" "250"
}
{
"origin" "-184 504 24"
"classname" "light"
"light" "250"
}
{
"classname" "item_armor1"
"origin" "400 -888 0"
}
{
"spawnflags" "1792"
"classname" "item_armorInv"
"origin" "-104 448 104"
}
{
"classname" "item_armor2"
"origin" "-680 496 32"
}
{
"classname" "weapon_grenadelauncher"
"origin" "168 1608 136"
"spawnflags" "1792"
}
{
"classname" "weapon_rocketlauncher"
"origin" "1232 176 56"
"spawnflags" "1792"
}
{
"classname" "weapon_supernailgun"
"origin" "-960 944 40"
"spawnflags" "1792"
}
{
"classname" "weapon_supershotgun"
"origin" "752 1464 0"
"spawnflags" "1792"
}
{
"classname" "weapon_nailgun"
"origin" "160 120 24"
"spawnflags" "1792"
}
{
"classname" "item_rockets"
"origin" "-224 792 104"
"spawnflags" "1792"
}
{
"classname" "item_rockets"
"origin" "-640 120 -56"
"spawnflags" "1792"
}
{
"light" "200"
"origin" "-70 -1126 212"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "186 -1134 148"
}
{
"light" "200"
"origin" "138 -966 100"
"classname" "light_torch_small_walltorch"
}
{
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-150 -1318 260"
}
{
"light" "150"
"origin" "184 -880 72"
"classname" "light"
}
{
"style" "6"
"light" "200"
"origin" "-46 -1742 340"
"classname" "light_torch_small_walltorch"
}
{
"style" "1"
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-486 -1726 340"
}
{
"origin" "-272 -1544 384"
"classname" "light"
"light" "200"
}
{
"style" "6"
"light" "200"
"classname" "light_torch_small_walltorch"
"origin" "-414 -2006 340"
}
{
"style" "1"
"light" "200"
"origin" "-134 -1958 340"
"classname" "light_torch_small_walltorch"
}
{
"light" "150"
"origin" "-472 -1840 328"
"classname" "light"
}
{
"classname" "light"
"origin" "-72 -1592 328"
"light" "150"
}
{
"light" "150"
"origin" "-320 -1424 264"
"classname" "light"
}
{
"light" "150"
"origin" "-256 -1952 280"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "-272 -1720 312"
}
{
"origin" "-232 -1280 168"
"classname" "path_corner"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "-64 -1176 120"
"targetname" "t6"
"target" "t7"
}
{
"origin" "152 -1104 56"
"classname" "path_corner"
"targetname" "t7"
"target" "t8"
}
{
"classname" "path_corner"
"origin" "192 -952 8"
"targetname" "t8"
"target" "t9"
}
{
"origin" "184 -808 8"
"classname" "path_corner"
"target" "t3"
"targetname" "t9"
}
{
"classname" "path_corner"
"origin" "512 -776 8"
"targetname" "t3"
"target" "t10"
}
{
"origin" "-200 -648 8"
"classname" "path_corner"
"targetname" "t4"
"target" "t11"
}
{
"classname" "monster_knight"
"origin" "-360 -1616 232"
"target" "t5"
"angle" "90"
}
{
"origin" "512 -648 8"
"classname" "path_corner"
"targetname" "t10"
"target" "t4"
}
{
"classname" "path_corner"
"origin" "-200 -776 8"
"targetname" "t11"
"target" "t3"
}
{
"classname" "monster_knight"
"origin" "24 -632 24"
"spawnflags" "256"
"target" "t4"
}
{
"classname" "monster_knight"
"origin" "336 -752 24"
"spawnflags" "256"
"target" "t3"
}
{
"classname" "monster_knight"
"origin" "56 -712 24"
"angle" "270"
"spawnflags" "768"
}
{
"spawnflags" "768"
"angle" "270"
"origin" "160 -712 24"
"classname" "monster_knight"
}
{
"classname" "monster_knight"
"origin" "264 -712 24"
"angle" "270"
"spawnflags" "768"
}
{
"classname" "item_health"
"origin" "-432 -1640 208"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-352 -592 0"
}
{
"classname" "func_door"
"angle" "90"
"spawnflags" "1"
"targetname" "t13"
"wait" "-1"
"sounds" "3"
"dmg" "100"
"model" "*3"
}
{
"health" "1"
"angle" "90"
"classname" "func_button"
"target" "t12"
"wait" "-1"
"sounds" "1"
"model" "*4"
}
{
"classname" "func_button"
"angle" "90"
"health" "1"
"target" "t12"
"wait" "-1"
"sounds" "1"
"model" "*5"
}
{
"classname" "trigger_counter"
"targetname" "t12"
"count" "2"
"target" "t13"
"model" "*6"
}
{
"classname" "monster_demon1"
"origin" "160 -128 24"
"angle" "270"
"targetname" "t12"
}
{
"classname" "light"
"origin" "-8 -288 64"
"light" "200"
}
{
"light" "200"
"origin" "328 -288 64"
"classname" "light"
}
{
"light" "200"
"origin" "-296 -448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -368 -248"
"light" "200"
}
{
"light" "200"
"origin" "616 -448 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "408 -456 -248"
"light" "200"
}
{
"light" "200"
"origin" "-40 -424 -248"
"classname" "light"
}
{
"classname" "light"
"origin" "-280 -448 32"
"light" "200"
}
{
"light" "200"
"origin" "632 -424 32"
"classname" "light"
}
{
"classname" "light"
"origin" "160 -480 8"
"light" "150"
}
{
"classname" "func_door"
"angle" "180"
"targetname" "t12"
"sounds" "3"
"speed" "200"
"wait" "-1"
"lip" "-2"
"model" "*7"
}
{
"classname" "func_door"
"angle" "0"
"speed" "200"
"wait" "-1"
"lip" "-2"
"model" "*8"
}
{
"classname" "light"
"origin" "160 -304 112"
"light" "170"
}
{
"classname" "light"
"origin" "160 640 104"
"light" "200"
}
{
"classname" "func_door"
"angle" "-1"
"targetname" "t14"
"sounds" "1"
"model" "*9"
}
{
"classname" "trigger_multiple"
"target" "t14"
"wait" "10"
"model" "*10"
}
{
"targetname" "t28"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"sounds" "1"
"speed" "200"
"spawnflags" "2048"
"model" "*11"
}
{
"angle" "270"
"classname" "func_button"
"target" "t15"
"wait" "-1"
"lip" "2"
"sounds" "1"
"spawnflags" "2048"
"model" "*12"
}
{
"classname" "light"
"origin" "-296 432 0"
"light" "200"
}
{
"light" "200"
"origin" "-312 416 152"
"classname" "light"
}
{
"classname" "light"
"origin" "-184 320 146"
"light" "200"
}
{
"classname" "item_key2"
"origin" "-552 192 -40"
"sounds" "1"
"spawnflags" "2048"
}
{
"classname" "item_spikes"
"origin" "-680 88 -48"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "33"
"speed" "10"
"sounds" "3"
"wait" "-1"
"targetname" "t16"
"dmg" "100"
"model" "*13"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "90"
"spawnflags" "2056"
"wait" "-1"
"model" "*14"
}
{
"spawnflags" "2056"
"angle" "270"
"classname" "func_door"
"wait" "-1"
"model" "*15"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t16"
"lip" "12"
"model" "*16"
}
{
"classname" "light"
"origin" "888 1080 -104"
"light" "160"
}
{
"light" "160"
"origin" "888 888 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "880 696 -104"
"light" "160"
}
{
"light" "160"
"origin" "696 888 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1080 -104"
"light" "160"
}
{
"light" "200"
"origin" "696 672 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "568 512 -104"
"light" "200"
}
{
"light" "160"
"origin" "840 504 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "832 328 -104"
"light" "160"
}
{
"classname" "light"
"origin" "936 512 96"
"light" "200"
}
{
"classname" "light"
"origin" "-248 1080 56"
"light" "150"
}
{
"classname" "light"
"origin" "888 1264 176"
"light" "170"
}
{
"classname" "func_door"
"angle" "-2"
"targetname" "t17"
"sounds" "1"
"model" "*17"
}
{
"classname" "trigger_multiple"
"target" "t17"
"wait" "5"
"model" "*18"
}
{
"classname" "light"
"origin" "160 120 -24"
"light" "160"
}
{
"spawnflags" "256"
"classname" "trigger_multiple"
"target" "t18"
"targetname" "t23"
"model" "*19"
}
{
"wait" "0.5"
"classname" "trap_spikeshooter"
"origin" "88 368 40"
"angle" "0"
"targetname" "t18"
}
{
"classname" "func_wall"
"spawnflags" "2048"
"model" "*20"
}
{
"classname" "monster_demon1"
"origin" "-160 608 128"
"targetname" "t19"
}
{
"classname" "trigger_once"
"target" "t19"
"model" "*21"
}
{
"classname" "light"
"origin" "-528 512 -104"
"light" "200"
}
{
"light" "200"
"origin" "-344 592 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-336 760 -104"
"light" "200"
}
{
"light" "200"
"origin" "-432 856 -104"
"classname" "light"
}
{
"classname" "monster_ogre"
"origin" "-416 440 -40"
"spawnflags" "1536"
"target" "t20"
}
{
"classname" "monster_shambler"
"origin" "-272 296 -40"
"spawnflags" "256"
"target" "t20"
}
{
"classname" "path_corner"
"origin" "-328 272 -56"
"targetname" "t20"
"target" "t21"
}
{
"origin" "-400 480 -56"
"classname" "path_corner"
"target" "t20"
"targetname" "t21"
}
{
"classname" "item_health"
"origin" "-600 144 -64"
}
{
"classname" "weapon_supershotgun"
"origin" "440 512 0"
"spawnflags" "2048"
}
{
"classname" "light"
"origin" "-120 176 184"
"light" "250"
}
{
"origin" "-96 0 184"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "312 116 -48"
"light" "200"
}
{
"classname" "path_corner"
"origin" "8 112 32"
"target" "t25"
"targetname" "t24"
}
{
"origin" "312 112 32"
"classname" "path_corner"
"targetname" "t25"
"target" "t24"
}
{
"classname" "monster_ogre"
"origin" "112 112 48"
"target" "t24"
"spawnflags" "256"
}
{
"classname" "item_shells"
"origin" "88 -160 0"
"spawnflags" "1"
}
{
"light" "250"
"classname" "light"
"origin" "-352 144 56"
}
{
"classname" "monster_demon1"
"origin" "-80 -440 -296"
"spawnflags" "256"
"target" "t26"
}
{
"classname" "path_corner"
"origin" "-216 -456 -312"
"targetname" "t26"
"target" "t27"
}
{
"origin" "536 -448 -312"
"classname" "path_corner"
"target" "t26"
"targetname" "t27"
}
{
"light" "200"
"origin" "320 232 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "312 0 -104"
"light" "200"
}
{
"light" "160"
"origin" "-8 0 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-8 232 -104"
"light" "200"
}
{
"light" "200"
"origin" "-16 112 -104"
"classname" "light"
}
{
"classname" "light"
"origin" "-248 -8 -104"
"light" "200"
}
{
"light" "200"
"origin" "-472 120 -104"
"classname" "light"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "-1"
"targetname" "t15"
"sounds" "1"
"spawnflags" "2048"
"model" "*22"
}
{
"classname" "func_door"
"angle" "-2"
"spawnflags" "2081"
"targetname" "t28"
"wait" "10"
"speed" "200"
"sounds" "1"
"model" "*23"
}
{
"classname" "trigger_once"
"target" "t28"
"model" "*24"
}
{
"classname" "trigger_once"
"target" "t12"
"model" "*25"
}
{
"classname" "monster_ogre"
"origin" "160 1432 128"
"angle" "270"
}
{
"classname" "monster_ogre"
"origin" "-216 784 128"
"angle" "90"
}
{
"classname" "info_teleport_destination"
"origin" "-360 888 24"
"spawnflags" "2048"
"targetname" "t1"
}
{
"classname" "monster_zombie"
"origin" "-288 -232 -296"
"angle" "270"
}
{
"classname" "monster_zombie"
"origin" "168 -8 -104"
"angle" "90"
}
{
"classname" "monster_ogre"
"origin" "648 1232 -64"
"angle" "180"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"targetname" "t29"
"model" "*26"
}
{
"classname" "monster_ogre"
"origin" "520 752 24"
"angle" "90"
"spawnflags" "256"
"targetname" "t29"
}
{
"classname" "trigger_once"
"target" "t29"
"model" "*27"
}
{
"classname" "weapon_nailgun"
"origin" "152 1608 136"
"spawnflags" "2048"
}
{
"classname" "path_corner"
"origin" "544 896 8"
"targetname" "t30"
"target" "t31"
}
{
"origin" "56 896 72"
"classname" "path_corner"
"target" "t30"
"targetname" "t31"
}
{
"classname" "path_corner"
"origin" "168 552 8"
"targetname" "t32"
"target" "t33"
}
{
"origin" "168 1392 8"
"classname" "path_corner"
"target" "t32"
"targetname" "t33"
}
{
"classname" "monster_knight"
"origin" "240 584 24"
"target" "t32"
}
{
"classname" "monster_knight"
"origin" "504 960 24"
"target" "t30"
"spawnflags" "256"
}
{
"classname" "monster_knight"
"origin" "-16 896 88"
"angle" "0"
}
{
"classname" "monster_knight"
"origin" "256 1224 24"
"angle" "225"
"spawnflags" "256"
}
{
"target" "t49"
"origin" "-24 1064 16"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"angle" "45"
"origin" "-184 1080 128"
"classname" "monster_ogre"
}
{
"angle" "45"
"origin" "-256 1216 128"
"classname" "monster_knight"
}
{
"targetname" "t16"
"angle" "270"
"origin" "784 520 56"
"classname" "monster_demon1"
}
{
"classname" "path_corner"
"origin" "-352 888 16"
"targetname" "t34"
"target" "t35"
}
{
"origin" "-120 888 8"
"classname" "path_corner"
"target" "t34"
"targetname" "t35"
}
{
"classname" "monster_ogre"
"origin" "-184 912 24"
"target" "t34"
"spawnflags" "256"
}
{
"classname" "monster_ogre"
"origin" "-720 896 64"
}
{
"classname" "monster_knight"
"origin" "-344 760 24"
"angle" "135"
"spawnflags" "256"
}
{
"classname" "monster_knight"
"origin" "-392 584 24"
"angle" "90"
"spawnflags" "256"
}
{
"angle" "90"
"classname" "monster_knight"
"origin" "-528 528 24"
"spawnflags" "768"
}
{
"targetname" "t37"
"target" "t36"
"origin" "-896 968 48"
"classname" "path_corner"
}
{
"target" "t37"
"targetname" "t36"
"classname" "path_corner"
"origin" "-896 568 48"
}
{
"spawnflags" "256"
"target" "t36"
"origin" "-840 600 24"
"classname" "monster_ogre"
}
{
"style" "32"
"targetname" "t15"
"light" "200"
"origin" "-56 304 152"
"classname" "light"
}
{
"dmg" "100"
"speed" "200"
"targetname" "t15"
"target" "t38"
"classname" "func_train"
"model" "*28"
}
{
"target" "t39"
"targetname" "t40"
"origin" "-216 280 104"
"classname" "path_corner"
}
{
"target" "t40"
"targetname" "t38"
"classname" "path_corner"
"origin" "-16 280 104"
}
{
"target" "t38"
"wait" "-1"
"targetname" "t39"
"origin" "-16 280 104"
"classname" "path_corner"
}
{
"angle" "180"
"origin" "680 1472 24"
"classname" "monster_ogre"
"spawnflags" "256"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "864 1448 24"
"classname" "monster_knight"
}
{
"target" "t42"
"targetname" "t41"
"origin" "1024 1264 104"
"classname" "path_corner"
}
{
"targetname" "t42"
"target" "t41"
"classname" "path_corner"
"origin" "704 1264 104"
}
{
"target" "t41"
"origin" "1056 1320 120"
"classname" "monster_knight"
}
{
"spawnflags" "257"
"origin" "552 1280 128"
"classname" "monster_knight"
}
{
"spawnflags" "1"
"origin" "432 1280 128"
"classname" "monster_knight"
}
{
"spawnflags" "2048"
"angle" "0"
"wait" "-1"
"sounds" "0"
"health" "1"
"target" "t28"
"classname" "func_button"
"model" "*29"
}
{
"origin" "-72 296 104"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-64 504 104"
}
{
"origin" "-312 192 -64"
"classname" "item_health"
}
{
"spawnflags" "1"
"origin" "-80 384 -64"
"classname" "item_spikes"
}
{
"origin" "-224 976 104"
"classname" "item_shells"
}
{
"target" "t666"
"classname" "trigger_multiple"
"wait" "10"
"model" "*30"
}
{
"target" "t45"
"targetname" "t44"
"origin" "984 568 8"
"classname" "path_corner"
}
{
"target" "t46"
"targetname" "t45"
"classname" "path_corner"
"origin" "976 464 8"
}
{
"target" "t47"
"targetname" "t46"
"origin" "1224 448 40"
"classname" "path_corner"
}
{
"target" "t44"
"targetname" "t43"
"classname" "path_corner"
"origin" "1272 520 40"
}
{
"target" "t48"
"targetname" "t47"
"classname" "path_corner"
"origin" "1224 144 64"
}
{
"targetname" "t48"
"target" "t43"
"origin" "1344 120 64"
"classname" "path_corner"
}
{
"target" "t45"
"origin" "968 520 24"
"classname" "monster_ogre"
}
{
"spawnflags" "256"
"target" "t43"
"origin" "1312 328 80"
"classname" "monster_knight"
}
{
"spawnflags" "768"
"target" "t47"
"origin" "1240 296 80"
"classname" "monster_ogre"
}
{
"origin" "-360 1064 -8"
"classname" "weapon_grenadelauncher"
}
{
"target" "t50"
"targetname" "t49"
"origin" "-16 1168 0"
"classname" "path_corner"
}
{
"targetname" "t50"
"target" "t49"
"classname" "path_corner"
"origin" "-232 1168 0"
}
{
"origin" "1448 -128 -56"
"classname" "light"
}
{
"wait" "-1"
"classname" "func_door"
"angle" "270"
"model" "*31"
}
{
"wait" "-1"
"targetname" "t52"
"sounds" "3"
"classname" "func_door"
"angle" "90"
"model" "*32"
}
{
"classname" "light"
"origin" "1984 -184 288"
"light" "350"
}
{
"classname" "light"
"origin" "1760 -312 -184"
"light" "200"
}
{
"origin" "1832 -64 -184"
"classname" "light"
"light" "200"
}
{
"light" "160"
"origin" "1808 -296 -24"
"classname" "light"
}
{
"classname" "light"
"origin" "1224 -8 -184"
"light" "160"
}
{
"light" "160"
"origin" "1240 -208 -184"
"classname" "light"
}
{
"classname" "light"
"origin" "1680 -104 -184"
"light" "160"
}
{
"light" "160"
"origin" "1584 -304 -184"
"classname" "light"
}
{
"origin" "1592 -72 288"
"classname" "light"
}
{
"classname" "light"
"origin" "1328 -232 288"
}
{
"classname" "light"
"origin" "1280 -16 327"
"light" "250"
}
{
"classname" "light"
"origin" "1792 -152 88"
"light" "160"
}
{
"light" "160"
"origin" "1632 -296 88"
"classname" "light"
}
{
"origin" "1696 -280 288"
"classname" "light"
}
{
"classname" "light"
"origin" "1240 -224 -8"
"light" "200"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*33"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*34"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*35"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*36"
}
{
"classname" "func_wall"
"spawnflags" "3072"
"model" "*37"
}
{
"classname" "monster_ogre"
"origin" "1992 -192 200"
"angle" "180"
"spawnflags" "256"
}
{
"classname" "func_door_secret"
"angle" "90"
"spawnflags" "2"
"targetname" "t51"
"model" "*38"
}
{
"classname" "trigger_multiple"
"target" "t51"
"model" "*39"
}
{
"classname" "func_plat"
"model" "*40"
}
{
"classname" "light"
"origin" "1480 56 -168"
"light" "160"
}
{
"origin" "1432 280 -64"
"classname" "light"
"light" "160"
}
{
"light" "160"
"classname" "light"
"origin" "1424 280 96"
}
{
"light" "160"
"origin" "1472 232 -168"
"classname" "light"
}
{
"classname" "monster_zombie"
"origin" "1592 -24 160"
"angle" "180"
}
{
"classname" "monster_zombie"
"origin" "1432 -304 112"
"angle" "135"
"spawnflags" "256"
}
{
"classname" "monster_zombie"
"origin" "1304 -288 112"
"angle" "90"
"spawnflags" "256"
}
{
"classname" "monster_zombie"
"origin" "1576 -216 136"
"angle" "180"
"spawnflags" "768"
}
{
"classname" "monster_zombie"
"origin" "1928 -80 200"
"spawnflags" "768"
"angle" "180"
}
{
"angle" "180"
"spawnflags" "768"
"origin" "1928 -280 200"
"classname" "monster_zombie"
}
{
"classname" "trigger_changelevel"
"map" "e2m3"
"model" "*41"
}
{
"classname" "light"
"origin" "80 1544 40"
"light" "160"
}
{
"light" "160"
"origin" "-112 1544 40"
"classname" "light"
}
{
"classname" "item_shells"
"origin" "1056 552 8"
}
{
"classname" "light"
"origin" "-112 1672 40"
"light" "160"
}
{
"light" "160"
"origin" "88 1680 40"
"classname" "light"
}
{
"classname" "item_health"
"origin" "-168 1688 -8"
"spawnflags" "1"
}
{
"classname" "monster_knight"
"origin" "-112 1616 16"
"angle" "45"
"spawnflags" "768"
}
{
"classname" "monster_demon1"
"origin" "1760 -208 -216"
"angle" "180"
}
{
"classname" "trigger_secret"
"model" "*42"
}
{
"classname" "trigger_secret"
"model" "*43"
}
{
"classname" "trigger_secret"
"model" "*44"
}
{
"classname" "trigger_multiple"
"target" "t29"
"model" "*45"
}
{
"classname" "item_shells"
"origin" "-144 -1728 288"
"spawnflags" "768"
}
{
"classname" "item_rockets"
"origin" "2000 -304 176"
"spawnflags" "1793"
}
{
"classname" "item_rockets"
"origin" "2000 -112 176"
"spawnflags" "1793"
}
{
"origin" "-62 -702 72"
"classname" "ambient_swamp1"
}
{
"classname" "ambient_swamp2"
"origin" "386 -702 72"
}
{
"origin" "-246 -470 -264"
"classname" "ambient_swamp2"
}
{
"classname" "ambient_swamp1"
"origin" "554 -454 -264"
}
{
"origin" "162 -430 -264"
"classname" "ambient_swamp1"
}
{
"spawnflags" "1"
"origin" "-72 576 104"
"classname" "item_shells"
}
{
"spawnflags" "2048"
"wait" "10"
"target" "t16"
"classname" "trigger_multiple"
"model" "*46"
}
{
"targetname" "t16"
"sounds" "4"
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"model" "*47"
}
{
"origin" "-184 1480 168"
"classname" "light"
"light" "160"
}
{
"classname" "light"
"origin" "-224 1592 168"
"light" "100"
}
{
"target" "t52"
"classname" "trigger_once"
"model" "*48"
}
{
"mangle" "20 30 0"
"origin" "1224 -288 336"
"classname" "info_intermission"
}
{
"mangle" "20 180 0"
"origin" "-352 760 240"
"classname" "info_intermission"
}
{
"mangle" "20 135 0"
"origin" "480 -440 208"
"classname" "info_intermission"
}
{
"angle" "90"
"origin" "-176 -1904 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-128 -1848 264"
"angle" "90"
}
{
"angle" "90"
"origin" "-192 -1808 264"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-320 -1824 264"
"angle" "90"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*49"
}
{
"spawnflags" "1792"
"origin" "200 -664 0"
"classname" "weapon_lightning"
}
{
"origin" "-184 1512 144"
"classname" "item_artifact_super_damage"
}
{
"classname" "item_cells"
"origin" "240 -664 0"
"spawnflags" "1793"
}
{
"classname" "item_cells"
"origin" "392 640 0"
"spawnflags" "1793"
}
{
"classname" "item_cells"
"origin" "-168 456 104"
"spawnflags" "1793"
}
{
"classname" "func_door"
"angle" "-1"
"spawnflags" "1"
"wait" "6"
"speed" "1000"
"sounds" "3"
"targetname" "t15"
"model" "*50"
}
{
"classname" "weapon_grenadelauncher"
"origin" "1312 280 56"
"spawnflags" "3584"
}
{
"sounds" "2"
"wait" "5"
"message" "Shoot the buttons..."
"spawnflags" "3584"
"classname" "trigger_multiple"
"targetname" "t53"
"model" "*51"
}
{
"classname" "trigger_relay"
"origin" "-72 -320 48"
"targetname" "t13"
"killtarget" "t53"
}
quakespasm-0.93.0/Misc/qs_pak/maps/e1m4.ent 0000644 0000000 0000000 00000125327 12425501423 017052 0 ustar root root {
"message" "the Grisly Grotto"
"worldtype" "0"
"classname" "worldspawn"
"wad" "gfx/wizard.wad"
"sounds" "5"
}
{
"classname" "light"
"origin" "464 480 1656"
"light" "300"
}
{
"light" "400"
"origin" "712 296 1512"
"classname" "light"
}
{
"sounds" "3"
"angle" "180"
"classname" "func_door"
"model" "*1"
}
{
"angle" "0"
"classname" "func_door"
"model" "*2"
}
{
"classname" "light_flame_small_yellow"
"origin" "560 -112 1374"
}
{
"origin" "848 -112 1374"
"classname" "light_flame_small_yellow"
}
{
"origin" "760 656 1536"
"classname" "light"
}
{
"light" "400"
"origin" "834 498 1040"
"classname" "light"
}
{
"light" "200"
"classname" "light"
"origin" "944 728 1456"
}
{
"classname" "light_flame_small_yellow"
"origin" "1016 80 998"
}
{
"origin" "392 80 998"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "680 1224 516"
"light" "200"
}
{
"light" "200"
"origin" "704 992 516"
"classname" "light"
}
{
"light" "200"
"origin" "696 1608 628"
"classname" "light"
}
{
"origin" "704 1368 588"
"classname" "light"
}
{
"origin" "816 1616 444"
"classname" "light"
}
{
"classname" "light"
"origin" "712 1728 444"
}
{
"origin" "592 1608 444"
"classname" "light"
}
{
"classname" "light"
"origin" "624 1096 444"
}
{
"light" "300"
"origin" "432 1328 816"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1112 816"
"light" "300"
}
{
"classname" "light"
"origin" "704 -80 960"
"light" "200"
}
{
"classname" "light_torch_small_walltorch"
"origin" "818 18 948"
"light" "200"
}
{
"origin" "586 18 948"
"classname" "light_torch_small_walltorch"
"light" "200"
}
{
"light" "200"
"origin" "688 496 880"
"classname" "light"
}
{
"origin" "489 483 1356"
"classname" "light_flame_large_yellow"
}
{
"light" "200"
"origin" "704 -120 1360"
"classname" "light"
}
{
"classname" "light"
"origin" "1216 936 1560"
"light" "200"
}
{
"origin" "1294 826 1576"
"classname" "light_flame_large_yellow"
}
{
"sounds" "1"
"targetname" "t1"
"wait" "-1"
"angle" "180"
"classname" "func_door"
"model" "*3"
}
{
"angle" "0"
"wait" "-1"
"classname" "func_door"
"model" "*4"
}
{
"target" "t1"
"classname" "trigger_once"
"model" "*5"
}
{
"map" "e1m5"
"classname" "trigger_changelevel"
"model" "*6"
}
{
"wait" "-1"
"angle" "0"
"classname" "func_door"
"speed" "50"
"model" "*7"
}
{
"classname" "info_player_start"
"origin" "-256 2272 1240"
"angle" "270"
}
{
"targetname" "t23"
"classname" "func_door"
"angle" "180"
"wait" "-1"
"speed" "50"
"sounds" "3"
"model" "*8"
}
{
"classname" "light"
"origin" "696 704 820"
}
{
"classname" "light"
"origin" "704 776 672"
"light" "200"
}
{
"classname" "light"
"origin" "360 904 520"
"light" "200"
}
{
"origin" "704 856 400"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "944 880 416"
"light" "150"
}
{
"origin" "1056 1176 424"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "1096 1408 360"
}
{
"classname" "light"
"origin" "416 1696 360"
}
{
"origin" "328 1368 360"
"classname" "light"
"light" "200"
}
{
"light" "200 "
"classname" "light"
"origin" "696 752 896"
}
{
"light" "250"
"origin" "798 1850 1024"
"classname" "light_torch_small_walltorch"
}
{
"classname" "light_torch_small_walltorch"
"origin" "642 1850 1024"
"light" "250"
}
{
"light" "200 "
"origin" "700 1364 952"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "1094 1494 1064"
}
{
"origin" "324 1104 1064"
"classname" "light_flame_large_yellow"
}
{
"light" "200 "
"origin" "704 1660 952"
"classname" "light"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "180"
"wait" "-1"
"targetname" "t2"
"model" "*9"
}
{
"sounds" "3"
"classname" "func_door"
"wait" "-1"
"angle" "0"
"targetname" "t4"
"model" "*10"
}
{
"classname" "trigger_once"
"targetname" "t4"
"target" "t7"
"model" "*11"
}
{
"classname" "trigger_once"
"targetname" "t2"
"target" "t7"
"model" "*12"
}
{
"dmg" "90"
"speed" "200"
"classname" "func_train"
"target" "t5"
"targetname" "t8"
"model" "*13"
}
{
"classname" "path_corner"
"origin" "-359 1528 1316"
"targetname" "t5"
"target" "t6"
}
{
"classname" "path_corner"
"origin" "-359 1528 880"
"targetname" "t6"
"target" "t5"
"wait" "-1"
}
{
"classname" "trigger_counter"
"targetname" "t7"
"target" "t8"
"count" "2"
"model" "*14"
}
{
"targetname" "t11"
"origin" "-96 1640 1256"
"classname" "info_null"
}
{
"targetname" "t9"
"origin" "-416 1640 1256"
"classname" "info_null"
}
{
"light" "400"
"target" "t9"
"origin" "-396 1640 1256"
"classname" "light"
}
{
"light" "400"
"target" "t11"
"origin" "-116 1640 1256"
"classname" "light"
}
{
"classname" "light"
"origin" "-328 1564 1532"
}
{
"classname" "light_flame_small_yellow"
"origin" "-88 1640 1514"
}
{
"origin" "-424 1640 1514"
"classname" "light_flame_small_yellow"
}
{
"origin" "-248 1464 1154"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "-256 1808 1046"
}
{
"light" "200"
"origin" "-164 1732 1268"
"classname" "light"
}
{
"classname" "light"
"origin" "-348 1732 1268"
"light" "200"
}
{
"light" "150"
"origin" "-248 1500 1056"
"classname" "light"
}
{
"light" "150"
"origin" "-256 1772 956"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 1636 920"
"light" "150"
}
{
"light" "150"
"origin" "-124 1640 920"
"classname" "light"
}
{
"classname" "light"
"origin" "-172 1524 920"
"light" "150"
}
{
"light" "150"
"origin" "-284 1516 920"
"classname" "light"
}
{
"classname" "light"
"origin" "-360 1580 920"
"light" "150"
}
{
"light" "75"
"origin" "-360 1700 920"
"classname" "light"
}
{
"classname" "light"
"origin" "72 1632 928"
"light" "125"
}
{
"light" "150"
"origin" "80 1488 928"
"classname" "light"
}
{
"classname" "light_flame_large_yellow"
"origin" "158 1308 1064"
}
{
"classname" "light"
"origin" "-192 1688 1380"
"light" "100"
}
{
"light" "100"
"origin" "-192 1592 1380"
"classname" "light"
}
{
"classname" "light"
"origin" "-320 1592 1380"
"light" "100"
}
{
"light" "100"
"origin" "-320 1688 1380"
"classname" "light"
}
{
"classname" "light"
"origin" "-384 1640 1452"
"light" "125"
}
{
"classname" "light"
"origin" "-112 1640 1452"
"light" "125"
}
{
"light" "200"
"origin" "-248 1504 1336"
"classname" "light"
}
{
"classname" "light"
"origin" "-128 1640 1336"
"light" "200"
}
{
"light" "200"
"origin" "-384 1640 1336"
"classname" "light"
}
{
"classname" "light"
"origin" "696 1608 816"
"light" "300"
}
{
"light" "200"
"classname" "light"
"origin" "888 1328 424"
}
{
"classname" "light"
"origin" "160 1352 960"
"light" "150"
}
{
"light" "150"
"origin" "368 1104 1000"
"classname" "light"
}
{
"classname" "light"
"origin" "1048 1504 1000"
"light" "150"
}
{
"classname" "light"
"origin" "992 992 1048"
"light" "150"
}
{
"classname" "light"
"origin" "48 1384 1008"
"light" "100"
}
{
"light" "150"
"origin" "1080 1144 1048"
"classname" "light"
}
{
"classname" "light"
"origin" "968 824 976"
"light" "150"
}
{
"classname" "light"
"origin" "896 1328 1000"
"light" "150"
}
{
"classname" "light"
"origin" "368 1616 1000"
"light" "175"
}
{
"classname" "light"
"origin" "256 1496 824"
"light" "150"
}
{
"light" "150"
"origin" "256 1352 824"
"classname" "light"
}
{
"classname" "light"
"origin" "856 1368 536"
"light" "200"
}
{
"light" "150"
"origin" "552 1360 536"
"classname" "light"
}
{
"classname" "light"
"origin" "872 1552 1056"
"light" "150"
}
{
"classname" "light"
"origin" "1032 1056 904"
"light" "150"
}
{
"light" "150"
"origin" "1080 1184 904"
"classname" "light"
}
{
"classname" "light"
"origin" "864 848 904"
"light" "150"
}
{
"classname" "light"
"origin" "312 1496 1016"
"light" "175"
}
{
"light" "200"
"origin" "704 1368 808"
"classname" "light"
}
{
"light" "150"
"origin" "464 816 904"
"classname" "light"
}
{
"light" "200"
"origin" "944 888 800"
"classname" "light"
}
{
"light" "150"
"origin" "888 1112 728"
"classname" "light"
}
{
"light" "175"
"origin" "1008 1504 728"
"classname" "light"
}
{
"light" "200"
"origin" "720 1848 1200"
"classname" "light"
}
{
"light" "200"
"origin" "704 888 672"
"classname" "light"
}
{
"light" "175"
"origin" "512 1456 1040"
"classname" "light"
}
{
"light" "150"
"origin" "440 840 380"
"classname" "light"
}
{
"light" "150"
"origin" "720 1848 1028"
"classname" "light"
}
{
"light" "150"
"origin" "720 1936 1024"
"classname" "light"
}
{
"origin" "544 2128 984"
"classname" "light"
"light" "200"
}
{
"light" "200"
"origin" "712 1912 576"
"classname" "light"
}
{
"light" "300"
"origin" "720 2544 856"
"classname" "light"
}
{
"light" "200"
"origin" "888 2048 592"
"classname" "light"
}
{
"origin" "704 2496 1128"
"classname" "light"
}
{
"origin" "512 2048 976"
"classname" "light"
"light" "150"
}
{
"origin" "952 2328 528"
"classname" "light"
"light" "200"
}
{
"classname" "light"
"origin" "700 2760 808"
"light" "200"
}
{
"classname" "light"
"origin" "700 2800 616"
"light" "200"
}
{
"classname" "light"
"origin" "584 2780 584"
"light" "175"
}
{
"light" "175"
"origin" "808 2780 584"
"classname" "light"
}
{
"sounds" "3"
"wait" "-1"
"targetname" "t29"
"classname" "func_door"
"angle" "270"
"model" "*15"
}
{
"message" "This door is opened elsewhere..."
"wait" "-1"
"classname" "func_door"
"angle" "90"
"model" "*16"
}
{
"classname" "light"
"origin" "424 2304 1000"
"light" "200"
}
{
"light" "300"
"origin" "696 2880 1062"
"classname" "light_flame_small_yellow"
}
{
"light" "200"
"classname" "light"
"origin" "864 2128 984"
}
{
"classname" "light_flame_large_yellow"
"origin" "702 2154 1228"
"light" "0"
}
{
"classname" "light"
"origin" "832 2008 1136"
"light" "200"
}
{
"classname" "light"
"origin" "584 2008 1136"
"light" "200"
}
{
"light" "200"
"origin" "272 2016 1136"
"classname" "light"
}
{
"classname" "light"
"origin" "272 2320 1136"
"light" "150"
}
{
"light" "150"
"origin" "1104 2408 984"
"classname" "light"
}
{
"sounds" "2"
"classname" "func_plat"
"wait" "4"
"model" "*17"
}
{
"classname" "light"
"origin" "700 2844 996"
"light" "200"
}
{
"classname" "light"
"origin" "704 2216 1252"
}
{
"origin" "936 2304 1252"
"classname" "light"
}
{
"classname" "light"
"origin" "936 2536 1252"
}
{
"light" "300"
"classname" "light"
"origin" "488 2536 1252"
}
{
"origin" "488 2304 1252"
"classname" "light"
"light" "300"
}
{
"light" "0"
"origin" "998 2306 1228"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "998 2534 1228"
"light" "0"
}
{
"light" "0"
"origin" "426 2534 1228"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "426 2306 1228"
"light" "0"
}
{
"classname" "light"
"origin" "704 2152 984"
"light" "200"
}
{
"classname" "light_flame_small_yellow"
"origin" "1160 2400 1038"
"light" "250"
}
{
"origin" "840 2536 630"
"classname" "light_flame_small_yellow"
"light" "250"
}
{
"classname" "light_flame_small_yellow"
"origin" "584 2544 630"
"light" "250"
}
{
"light" "250"
"origin" "408 2304 694"
"classname" "light_flame_small_yellow"
}
{
"light" "200"
"classname" "light"
"origin" "960 2632 528"
}
{
"classname" "light"
"origin" "960 2480 528"
"light" "150"
}
{
"classname" "light"
"origin" "456 2304 624"
"light" "175"
}
{
"classname" "light"
"origin" "704 2416 576"
"light" "250"
}
{
"light" "150"
"origin" "728 2184 528"
"classname" "light"
}
{
"classname" "light"
"origin" "512 2176 528"
"light" "150"
}
{
"classname" "light"
"origin" "832 2336 656"
"light" "175"
}
{
"light" "175"
"origin" "592 2336 656"
"classname" "light"
}
{
"classname" "light"
"origin" "808 2584 576"
"light" "150"
}
{
"light" "150"
"origin" "616 2576 576"
"classname" "light"
}
{
"classname" "light_flame_small_yellow"
"origin" "488 2712 694"
"light" "250"
}
{
"classname" "light"
"origin" "488 2624 608"
"light" "175"
}
{
"classname" "light"
"origin" "480 2464 608"
"light" "175"
}
{
"light" "250"
"origin" "184 2184 1038"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "512 2096 1038"
"light" "250"
}
{
"classname" "light"
"origin" "224 2184 976"
"light" "150"
}
{
"classname" "light"
"origin" "848 2024 992"
"light" "200"
}
{
"classname" "light"
"origin" "256 1992 1000"
"light" "150"
}
{
"classname" "light"
"origin" "272 2376 1000"
"light" "200"
}
{
"classname" "light"
"origin" "1112 2208 1032"
"light" "150"
}
{
"light" "0"
"origin" "698 2860 1228"
"classname" "light_flame_large_yellow"
}
{
"origin" "700 2808 1252"
"classname" "light"
}
{
"light" "250"
"origin" "472 2632 1062"
"classname" "light"
}
{
"classname" "light"
"origin" "952 2632 1062"
"light" "250"
}
{
"light" "150"
"origin" "952 2424 894"
"classname" "light"
}
{
"classname" "light"
"origin" "480 2424 894"
"light" "150"
}
{
"light" "150"
"origin" "896 2296 966"
"classname" "light"
}
{
"classname" "light"
"origin" "704 2304 966"
"light" "150"
}
{
"light" "150"
"origin" "552 2304 966"
"classname" "light"
}
{
"light" "250"
"origin" "704 2184 406"
"classname" "light"
}
{
"light" "150"
"origin" "712 2000 406"
"classname" "light"
}
{
"light" "200"
"origin" "504 2224 400"
"classname" "light"
}
{
"light" "200"
"origin" "960 2576 400"
"classname" "light"
}
{
"light" "150"
"origin" "960 2400 400"
"classname" "light"
}
{
"light" "150"
"origin" "808 1112 592"
"classname" "light"
}
{
"classname" "light"
"origin" "600 1112 592"
"light" "150"
}
{
"light" "175"
"origin" "1016 128 936"
"classname" "light"
}
{
"classname" "light"
"origin" "392 128 936"
"light" "175"
}
{
"light" "150"
"origin" "848 -64 1304"
"classname" "light"
}
{
"classname" "light"
"origin" "560 -64 1304"
"light" "150"
}
{
"light" "175"
"origin" "1248 832 1496"
"classname" "light"
}
{
"light" "150"
"origin" "1096 872 1496"
"classname" "light"
}
{
"light" "150"
"origin" "896 2208 976"
"classname" "light"
}
{
"classname" "light"
"origin" "1096 200 1512"
"light" "350"
}
{
"light" "350"
"origin" "264 192 1512"
"classname" "light"
}
{
"light" "175"
"origin" "488 448 1264"
"classname" "light"
}
{
"origin" "1048 728 1456"
"classname" "light"
"light" "200"
}
{
"light" "125"
"origin" "1328 928 1448"
"classname" "light"
}
{
"light" "225"
"origin" "696 672 1320"
"classname" "light"
}
{
"origin" "816 -56 1640"
"classname" "light"
}
{
"classname" "light"
"origin" "584 -56 1640"
}
{
"light" "175"
"origin" "880 96 1376"
"classname" "light"
}
{
"classname" "light"
"origin" "528 96 1376"
"light" "175"
}
{
"light" "200"
"origin" "960 344 1072"
"classname" "light"
}
{
"classname" "light"
"origin" "1120 264 1072"
"light" "200"
}
{
"light" "175"
"origin" "1208 96 1016"
"classname" "light"
}
{
"light" "175"
"origin" "1024 360 968"
"classname" "light"
}
{
"classname" "light"
"origin" "328 336 968"
"light" "150"
}
{
"classname" "light"
"origin" "416 424 1072"
"light" "200"
}
{
"light" "200"
"origin" "296 256 1072"
"classname" "light"
}
{
"light" "150"
"origin" "704 48 1040"
"classname" "light"
}
{
"light" "175"
"origin" "384 464 976"
"classname" "light"
}
{
"classname" "light"
"origin" "224 264 976"
"light" "150"
}
{
"light" "150"
"origin" "952 2192 416"
"classname" "light"
}
{
"classname" "light"
"origin" "1040 -464 1016"
"light" "150"
}
{
"sounds" "2"
"spawnflags" "1"
"classname" "func_plat"
"model" "*18"
}
{
"light" "250"
"origin" "1072 -272 1262"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "1024 -272 1200"
"light" "150"
}
{
"light" "200"
"origin" "624 -240 1328"
"classname" "light"
}
{
"light" "175"
"origin" "1080 -624 1168"
"classname" "light"
}
{
"origin" "456 -576 1230"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "504 -576 1168"
"light" "175"
}
{
"origin" "624 -448 924"
"classname" "light_flame_large_yellow"
}
{
"classname" "light_flame_large_yellow"
"origin" "624 -704 924"
}
{
"light" "125"
"origin" "664 -448 880"
"classname" "light"
}
{
"classname" "light"
"origin" "624 -488 880"
"light" "125"
}
{
"light" "125"
"origin" "584 -448 880"
"classname" "light"
}
{
"classname" "light"
"origin" "624 -408 880"
"light" "125"
}
{
"light" "125"
"origin" "624 -664 880"
"classname" "light"
}
{
"classname" "light"
"origin" "664 -704 880"
"light" "125"
}
{
"light" "125"
"origin" "624 -744 880"
"classname" "light"
}
{
"classname" "light"
"origin" "584 -704 880"
"light" "125"
}
{
"light" "250"
"origin" "296 -96 968"
"classname" "light"
}
{
"light" "250"
"origin" "1112 -96 968"
"classname" "light"
}
{
"light" "175"
"origin" "1056 -224 968"
"classname" "light"
}
{
"light" "500"
"origin" "-264 2120 1504"
"classname" "light"
}
{
"spawnflags" "2064"
"angle" "0"
"classname" "func_door"
"wait" "-1"
"model" "*19"
}
{
"sounds" "3"
"classname" "func_door"
"angle" "180"
"spawnflags" "2064"
"wait" "-1"
"model" "*20"
}
{
"light" "200"
"origin" "704 32 952"
"classname" "light"
}
{
"target" "t101"
"spawnflags" "256"
"targetname" "t23"
"angle" "90"
"origin" "-248 1560 1224"
"classname" "monster_wizard"
}
{
"target" "t23"
"classname" "trigger_once"
"model" "*21"
}
{
"origin" "-280 1560 1348"
"classname" "item_armor2"
}
{
"origin" "-488 2112 1220"
"classname" "item_health"
}
{
"classname" "item_health"
"origin" "-488 2064 1220"
}
{
"spawnflags" "1536"
"origin" "-272 1784 1156"
"classname" "item_shells"
}
{
"spawnflags" "256"
"target" "t25"
"targetname" "t24"
"origin" "888 1640 1028"
"classname" "path_corner"
}
{
"spawnflags" "256"
"target" "t24"
"targetname" "t25"
"classname" "path_corner"
"origin" "624 1264 1028"
}
{
"spawnflags" "256"
"target" "t24"
"origin" "928 1672 1028"
"classname" "monster_wizard"
}
{
"spawnflags" "2304"
"target" "t26"
"classname" "trigger_once"
"model" "*22"
}
{
"target" "t27"
"targetname" "t28"
"origin" "568 2040 928"
"classname" "path_corner"
}
{
"target" "t28"
"targetname" "t27"
"classname" "path_corner"
"origin" "368 2044 928"
}
{
"target" "t27"
"origin" "472 2040 944"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"sounds" "2"
"target" "t29"
"wait" "-1"
"angle" "90"
"classname" "func_button"
"model" "*23"
}
{
"sounds" "3"
"angle" "180"
"classname" "func_door"
"model" "*24"
}
{
"angle" "0"
"classname" "func_door"
"model" "*25"
}
{
"light" "175"
"origin" "1112 2520 964"
"classname" "light"
}
{
"origin" "104 1308 892"
"classname" "item_health"
}
{
"spawnflags" "2048"
"origin" "704 1344 936"
"classname" "item_key1"
"sounds" "1"
}
{
"target" "t34"
"angle" "180"
"origin" "920 2040 544"
"classname" "monster_ogre"
"spawnflags" "1"
}
{
"target" "t35"
"targetname" "t34"
"origin" "864 2044 528"
"classname" "path_corner"
}
{
"target" "t37"
"targetname" "t35"
"classname" "path_corner"
"origin" "704 2048 528"
}
{
"target" "t34"
"targetname" "t36"
"origin" "704 2048 528"
"classname" "path_corner"
}
{
"target" "t36"
"targetname" "t37"
"classname" "path_corner"
"origin" "704 1808 528"
}
{
"targetname" "t38"
"angle" "270"
"origin" "456 2476 544"
"classname" "monster_ogre"
}
{
"target" "t38"
"classname" "trigger_once"
"model" "*26"
}
{
"targetname" "t29"
"angle" "0"
"origin" "336 2272 952"
"classname" "monster_knight"
"spawnflags" "768"
}
{
"targetname" "t39"
"spawnflags" "1"
"wait" "-1"
"angle" "-2"
"classname" "func_door"
"sounds" "1"
"model" "*27"
}
{
"targetname" "t39"
"angle" "270"
"origin" "712 2540 448"
"classname" "monster_ogre"
}
{
"target" "t39"
"classname" "trigger_once"
"model" "*28"
}
{
"classname" "light"
"origin" "712 2544 440"
"light" "200"
}
{
"classname" "item_health"
"origin" "1064 2184 920"
"spawnflags" "1024"
}
{
"spawnflags" "1"
"origin" "1128 2184 920"
"classname" "item_health"
}
{
"classname" "item_spikes"
"origin" "816 2840 920"
}
{
"origin" "816 2800 920"
"classname" "item_spikes"
}
{
"spawnflags" "256"
"classname" "monster_wizard"
"origin" "1656 1496 968"
"angle" "180"
"target" "t41"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t40"
"targetname" "t39"
"model" "*29"
}
{
"classname" "info_teleport_destination"
"origin" "984 1496 1000"
"angle" "180"
"targetname" "t40"
}
{
"spawnflags" "256"
"classname" "path_corner"
"origin" "912 1496 1000"
"targetname" "t41"
"target" "t42"
}
{
"spawnflags" "256"
"origin" "528 1368 1000"
"classname" "path_corner"
"targetname" "t42"
"target" "t41"
}
{
"classname" "item_health"
"origin" "408 2640 520"
}
{
"classname" "item_shells"
"origin" "456 2672 520"
"spawnflags" "1"
}
{
"angle" "0"
"origin" "80 864 968"
"classname" "monster_wizard"
"target" "t44"
}
{
"targetname" "t119"
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t45"
"model" "*30"
}
{
"classname" "info_teleport_destination"
"origin" "432 856 952"
"angle" "45"
"targetname" "t45"
}
{
"classname" "path_corner"
"origin" "496 872 952"
"target" "t43"
"targetname" "t44"
}
{
"origin" "872 1056 952"
"classname" "path_corner"
"targetname" "t43"
"target" "t44"
}
{
"classname" "trigger_once"
"spawnflags" "1792"
"target" "t39"
"model" "*31"
}
{
"spawnflags" "1024"
"classname" "monster_knight"
"origin" "1168 56 904"
"angle" "135"
"target" "t49"
"targetname" "t67"
}
{
"classname" "monster_ogre"
"origin" "1800 224 920"
"angle" "180"
"target" "t116"
"spawnflags" "256"
}
{
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t49"
"lip" "-24"
"model" "*32"
}
{
"wait" "-1"
"angle" "-1"
"classname" "func_door"
"spawnflags" "1"
"targetname" "t39"
"lip" "-24"
"model" "*33"
}
{
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t29"
"lip" "-24"
"model" "*34"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t46"
"model" "*35"
}
{
"classname" "info_teleport_destination"
"origin" "1104 232 880"
"angle" "180"
"targetname" "t46"
}
{
"classname" "path_corner"
"origin" "1064 256 880"
"target" "t47"
"targetname" "t48"
"spawnflags" "256"
}
{
"origin" "312 232 880"
"classname" "path_corner"
"targetname" "t47"
"target" "t48"
"spawnflags" "256"
}
{
"classname" "info_teleport_destination"
"origin" "704 -40 1256"
"angle" "90"
"targetname" "t50"
}
{
"classname" "trigger_once"
"target" "t52"
"model" "*36"
}
{
"spawnflags" "2"
"classname" "trigger_teleport"
"target" "t50"
"targetname" "t52"
"model" "*37"
}
{
"angle" "90"
"origin" "570 -898 1300"
"classname" "monster_wizard"
"targetname" "t52"
}
{
"classname" "item_shells"
"origin" "216 120 880"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "192 232 880"
}
{
"origin" "192 192 880"
"classname" "item_health"
"spawnflags" "1024"
}
{
"classname" "item_shells"
"origin" "-216 1464 888"
}
{
"classname" "item_health"
"origin" "816 1160 512"
"spawnflags" "1024"
}
{
"spawnflags" "1"
"origin" "816 1120 512"
"classname" "item_health"
}
{
"classname" "monster_wizard"
"origin" "944 840 956"
"angle" "135"
"target" "t53"
"targetname" "t64"
}
{
"classname" "trigger_once"
"target" "t64"
"model" "*38"
}
{
"classname" "monster_knight"
"origin" "704 392 1280"
"angle" "270"
"target" "t65"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "704 208 1264"
"targetname" "t65"
"target" "t66"
}
{
"origin" "704 496 1264"
"classname" "path_corner"
"targetname" "t66"
"target" "t65"
}
{
"classname" "trigger_once"
"target" "t67"
"model" "*39"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"targetname" "t72"
"model" "*40"
}
{
"sounds" "1"
"classname" "func_door"
"wait" "-1"
"angle" "-2"
"targetname" "t72"
"model" "*41"
}
{
"classname" "trigger_once"
"target" "t72"
"model" "*42"
}
{
"classname" "info_null"
"origin" "852 -580 820"
"targetname" "t73"
}
{
"classname" "light"
"origin" "856 -584 936"
"light" "400"
"target" "t73"
}
{
"classname" "light"
"origin" "920 -448 744"
"light" "150"
}
{
"light" "150"
"origin" "760 -448 744"
"classname" "light"
}
{
"classname" "light"
"origin" "552 -424 744"
"light" "150"
}
{
"light" "150"
"origin" "560 -728 744"
"classname" "light"
}
{
"classname" "light"
"origin" "776 -712 744"
"light" "150"
}
{
"light" "150"
"origin" "936 -712 744"
"classname" "light"
}
{
"classname" "path_corner"
"origin" "652 -576 952"
"targetname" "t75"
"target" "t74"
}
{
"origin" "908 -576 952"
"classname" "path_corner"
"targetname" "t74"
"target" "t75"
}
{
"classname" "monster_ogre"
"origin" "816 -260 952"
"angle" "270"
"targetname" "t72"
}
{
"classname" "monster_ogre"
"origin" "724 -260 952"
"angle" "270"
"targetname" "t72"
"spawnflags" "256"
}
{
"classname" "item_health"
"origin" "632 -548 820"
"spawnflags" "3072"
}
{
"origin" "672 -548 820"
"classname" "item_health"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t76"
"model" "*43"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "-1"
"wait" "-1"
"targetname" "t76"
"model" "*44"
}
{
"light" "150"
"origin" "1040 -712 1016"
"classname" "light"
}
{
"origin" "1112 -576 942"
"classname" "light_flame_small_yellow"
}
{
"classname" "light"
"origin" "1064 -576 896"
"light" "150"
}
{
"classname" "light"
"origin" "888 -80 968"
"light" "175"
}
{
"light" "175"
"origin" "512 -80 968"
"classname" "light"
}
{
"classname" "item_armor2"
"origin" "1184 -96 920"
}
{
"classname" "monster_ogre"
"origin" "392 8 912"
"angle" "315"
"targetname" "t77"
"spawnflags" "256"
}
{
"classname" "trigger_once"
"target" "t77"
"model" "*45"
}
{
"classname" "item_health"
"origin" "336 -224 888"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "968 16 888"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "560 2808 516"
"spawnflags" "1"
}
{
"classname" "path_corner"
"origin" "1056 -384 824"
"targetname" "t78"
"target" "t79"
"spawnflags" "256"
}
{
"origin" "1056 -736 824"
"classname" "path_corner"
"targetname" "t79"
"target" "t78"
"spawnflags" "256"
}
{
"classname" "monster_ogre"
"origin" "1064 -656 840"
"angle" "90"
"target" "t78"
"spawnflags" "257"
}
{
"angle" "90"
"origin" "848 -880 952"
"classname" "monster_ogre"
"targetname" "t72"
}
{
"classname" "item_shells"
"origin" "1160 16 1248"
}
{
"classname" "item_health"
"origin" "280 64 1248"
}
{
"classname" "item_rockets"
"origin" "648 -256 928"
"spawnflags" "1025"
}
{
"classname" "item_spikes"
"origin" "648 -304 1248"
}
{
"origin" "696 -304 1248"
"classname" "item_spikes"
}
{
"classname" "light_flame_small_yellow"
"origin" "768 -352 1230"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*46"
}
{
"target" "t83"
"classname" "trigger_multiple"
"wait" ".8"
"model" "*47"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*48"
}
{
"target" "t83"
"classname" "trigger_multiple"
"wait" ".8"
"model" "*49"
}
{
"target" "t83"
"wait" ".8"
"classname" "trigger_multiple"
"model" "*50"
}
{
"targetname" "t83"
"classname" "trap_spikeshooter"
"origin" "1108 -576 1140"
"spawnflags" "1"
"angle" "180"
}
{
"targetname" "t83"
"angle" "90"
"spawnflags" "1"
"origin" "768 -796 1140"
"classname" "trap_spikeshooter"
}
{
"origin" "1112 -576 1230"
"classname" "light_flame_small_yellow"
}
{
"classname" "light_flame_small_yellow"
"origin" "768 -800 1230"
}
{
"classname" "light"
"origin" "712 -756 1168"
"light" "175"
}
{
"light" "175"
"origin" "768 -424 1168"
"classname" "light"
}
{
"light" "175"
"origin" "888 -744 956"
"classname" "light"
}
{
"classname" "light"
"origin" "888 -408 956"
"light" "175"
}
{
"origin" "384 -224 888"
"classname" "item_shells"
}
{
"origin" "584 1784 920"
"classname" "item_health"
}
{
"origin" "832 2064 920"
"classname" "item_shells"
}
{
"target" "t72"
"classname" "trigger_once"
"model" "*51"
}
{
"target" "t85"
"targetname" "t84"
"origin" "1560 216 896"
"classname" "path_corner"
}
{
"target" "t48"
"targetname" "t85"
"classname" "path_corner"
"origin" "1456 216 896"
}
{
"origin" "704 1368 516"
"classname" "weapon_supernailgun"
}
{
"spawnflags" "1"
"origin" "184 1928 920"
"classname" "item_spikes"
}
{
"classname" "item_spikes"
"origin" "656 1816 528"
"spawnflags" "768"
}
{
"classname" "item_shells"
"origin" "1072 -800 820"
"spawnflags" "1024"
}
{
"classname" "monster_ogre"
"origin" "840 -40 1276"
"angle" "180"
"targetname" "t86"
"spawnflags" "768"
}
{
"classname" "trigger_once"
"target" "t86"
"model" "*52"
}
{
"classname" "light"
"origin" "472 -576 876"
"light" "150"
}
{
"classname" "item_shells"
"origin" "656 680 1256"
"spawnflags" "1536"
}
{
"angle" "270"
"origin" "880 2224 536"
"classname" "monster_knight"
"spawnflags" "256"
}
{
"angle" "180"
"origin" "1112 2424 944"
"classname" "monster_ogre"
"spawnflags" "1281"
}
{
"targetname" "t88"
"target" "t87"
"origin" "360 384 880"
"classname" "path_corner"
"spawnflags" "1280"
}
{
"target" "t88"
"targetname" "t87"
"classname" "path_corner"
"origin" "504 160 880"
"spawnflags" "1280"
}
{
"target" "t87"
"angle" "315"
"origin" "384 320 896"
"classname" "monster_knight"
"spawnflags" "1280"
}
{
"spawnflags" "257"
"targetname" "t86"
"angle" "0"
"origin" "376 120 1272"
"classname" "monster_ogre"
}
{
"origin" "776 1368 916"
"classname" "item_shells"
"spawnflags" "1024"
}
{
"classname" "item_spikes"
"origin" "184 1968 920"
"spawnflags" "1"
}
{
"classname" "monster_wizard"
"origin" "312 936 944"
"angle" "45"
"spawnflags" "769"
}
{
"classname" "monster_knight"
"origin" "704 -80 908"
"angle" "90"
}
{
"angle" "0"
"origin" "568 -56 1276"
"classname" "monster_ogre"
"targetname" "t86"
"spawnflags" "768"
}
{
"spawnflags" "1536"
"targetname" "t90"
"target" "t89"
"origin" "720 1696 924"
"classname" "path_corner"
}
{
"spawnflags" "1536"
"target" "t90"
"targetname" "t89"
"classname" "path_corner"
"origin" "720 1416 924"
}
{
"spawnflags" "1537"
"target" "t90"
"origin" "704 1784 948"
"classname" "monster_ogre"
}
{
"classname" "func_door_secret"
"angle" "0"
"spawnflags" "1"
"targetname" "t91"
"model" "*53"
"t_length" "73" // svdijk -- added to prevent z-fighting
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*54"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*55"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "-2"
"target" "t92"
"model" "*56"
}
{
"classname" "func_button"
"angle" "-2"
"wait" "-1"
"target" "t92"
"model" "*57"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "-2"
"target" "t92"
"model" "*58"
}
{
"classname" "trigger_counter"
"count" "5"
"target" "t91"
"targetname" "t92"
"model" "*59"
}
{
"classname" "light"
"origin" "680 -920 1144"
"light" "150"
}
{
"classname" "item_spikes"
"origin" "752 -876 928"
"spawnflags" "1"
}
{
"spawnflags" "3"
"angle" "0"
"classname" "func_door_secret"
"targetname" "t91"
"model" "*60"
"t_length" "73" // svdijk -- added to prevent z-fighting
}
{
"light" "150"
"origin" "680 -256 1144"
"classname" "light"
}
{
"classname" "trigger_once"
"spawnflags" "1792"
"target" "t72"
"model" "*61"
}
{
"classname" "trigger_secret"
"sounds" "1"
"targetname" "t8"
"model" "*62"
}
{
"angle" "270"
"origin" "704 624 1280"
"classname" "monster_knight"
"spawnflags" "1"
}
{
"angle" "225"
"origin" "1016 -440 1128"
"classname" "monster_knight"
}
{
"angle" "180"
"origin" "1024 -728 1128"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "1008 -568 1128"
"classname" "monster_knight"
}
{
"spawnflags" "256"
"classname" "monster_knight"
"origin" "304 2312 952"
"angle" "0"
"targetname" "t29"
}
{
"spawnflags" "1025"
"classname" "monster_knight"
"origin" "272 136 896"
"angle" "45"
}
{
"classname" "monster_wizard"
"origin" "784 -576 960"
"angle" "0"
"target" "t74"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "732 -936 928"
}
{
"origin" "772 -936 928"
"classname" "item_health"
}
{
"spawnflags" "256"
"classname" "monster_knight"
"origin" "704 -248 1272"
"angle" "0"
}
{
"classname" "path_corner"
"origin" "1328 928 1396"
"targetname" "t93"
"target" "t94"
"spawnflags" "512"
}
{
"origin" "1176 928 1396"
"classname" "path_corner"
"target" "t93"
"targetname" "t94"
"spawnflags" "512"
}
{
"classname" "monster_knight"
"origin" "1192 884 1412"
"angle" "0"
"target" "t93"
"spawnflags" "513"
}
{
"classname" "monster_knight"
"origin" "704 2376 944"
"angle" "90"
}
{
"classname" "monster_knight"
"origin" "888 2312 944"
"angle" "180"
"targetname" "t95"
}
{
"angle" "0"
"origin" "512 2304 944"
"classname" "monster_knight"
"targetname" "t95"
"spawnflags" "768"
}
{
"classname" "trigger_once"
"target" "t95"
"model" "*63"
}
{
"spawnflags" "256"
"angle" "315"
"origin" "728 2312 536"
"classname" "monster_knight"
}
{
"light" "200"
"origin" "1296 1528 936"
"classname" "light"
}
{
"light" "250"
"origin" "1432 1360 982"
"classname" "light_flame_small_yellow"
}
{
"light" "150"
"origin" "1400 1360 920"
"classname" "light"
}
{
"light" "200"
"origin" "1248 1344 680"
"classname" "light"
}
{
"lip" "-384"
"wait" "-1"
"angle" "90"
"classname" "func_door"
"targetname" "t98"
"model" "*64"
}
{
"light" "150"
"origin" "1152 1328 584"
"classname" "light"
}
{
"origin" "1376 1480 864"
"classname" "item_health"
}
{
"sounds" "1"
"classname" "trigger_secret"
"model" "*65"
}
{
"classname" "func_button"
"sounds" "1"
"angle" "0"
"wait" "-1"
"target" "t97"
"model" "*66"
}
{
"classname" "func_button"
"wait" "-1"
"angle" "0"
"sounds" "1"
"target" "t97"
"model" "*67"
}
{
"classname" "trigger_counter"
"targetname" "t97"
"target" "t98"
"model" "*68"
}
{
"classname" "light"
"origin" "880 -888 968"
"light" "150"
}
{
"light" "150"
"origin" "880 -264 968"
"classname" "light"
}
{
"angle" "180"
"origin" "1112 2344 944"
"classname" "monster_ogre"
"spawnflags" "769"
}
{
"angle" "270"
"origin" "1120 880 1412"
"classname" "monster_ogre"
"spawnflags" "257"
}
{
"map" "e1m8"
"classname" "trigger_changelevel"
"model" "*69"
}
{
"light" "175"
"origin" "824 -756 1168"
"classname" "light"
}
{
"classname" "light"
"origin" "1080 -528 1168"
"light" "175"
}
{
"classname" "monster_wizard"
"origin" "672 -392 1024"
"angle" "315"
"spawnflags" "257"
}
{
"classname" "monster_knight"
"origin" "1008 -656 1128"
"angle" "180"
"spawnflags" "768"
}
{
"origin" "520 1064 440"
"classname" "air_bubbles"
}
{
"classname" "item_spikes"
"origin" "16 1432 892"
}
{
"classname" "trigger_once"
"message" "A secret cave has opened..."
"targetname" "t98"
"model" "*70"
}
{
"target" "t4"
"health" "1"
"wait" "-1"
"angle" "0"
"classname" "func_button"
"model" "*71"
}
{
"target" "t2"
"health" "1"
"wait" "-1"
"angle" "180"
"classname" "func_button"
"model" "*72"
}
{
"target" "t49"
"spawnflags" "769"
"angle" "135"
"origin" "1208 128 904"
"classname" "monster_demon1"
}
{
"spawnflags" "769"
"angle" "45"
"origin" "288 160 896"
"classname" "monster_demon1"
}
{
"spawnflags" "768"
"classname" "monster_ogre"
"origin" "692 -884 952"
"angle" "90"
}
{
"classname" "monster_ogre"
"origin" "-312 1648 1372"
"angle" "90"
"targetname" "t23"
"spawnflags" "768"
}
{
"angle" "90"
"origin" "-192 1648 1372"
"classname" "monster_ogre"
"targetname" "t23"
"spawnflags" "768"
}
{
"classname" "monster_ogre"
"origin" "704 1288 540"
"angle" "270"
"spawnflags" "768"
}
{
"targetname" "t101"
"target" "t106"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*73"
}
{
"spawnflags" "768"
"targetname" "t101"
"angle" "270"
"origin" "-256 2424 1288"
"classname" "monster_wizard"
}
{
"targetname" "t101"
"origin" "-248 2440 1280"
"classname" "trigger_relay"
}
{
"targetname" "t29"
"spawnflags" "256"
"angle" "0"
"origin" "144 2648 1024"
"classname" "monster_wizard"
}
{
"targetname" "t29"
"spawnflags" "768"
"classname" "monster_wizard"
"origin" "144 2592 1024"
"angle" "0"
}
{
"targetname" "t29"
"spawnflags" "768"
"angle" "0"
"origin" "144 2536 1024"
"classname" "monster_wizard"
}
{
"targetname" "t29"
"target" "t102"
"spawnflags" "258"
"classname" "trigger_teleport"
"model" "*74"
}
{
"targetname" "t29"
"target" "t103"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*75"
}
{
"targetname" "t29"
"target" "t104"
"spawnflags" "770"
"classname" "trigger_teleport"
"model" "*76"
}
{
"angle" "270"
"targetname" "t102"
"spawnflags" "256"
"origin" "704 2656 1008"
"classname" "info_teleport_destination"
}
{
"angle" "270"
"targetname" "t103"
"spawnflags" "768"
"classname" "info_teleport_destination"
"origin" "920 2520 1008"
}
{
"angle" "0"
"targetname" "t104"
"spawnflags" "768"
"origin" "592 2192 1008"
"classname" "info_teleport_destination"
}
{
"sounds" "1"
"classname" "func_door"
"angle" "0"
"wait" "-1"
"speed" "150"
"targetname" "t105"
"model" "*77"
}
{
"classname" "monster_demon1"
"origin" "1056 -880 1128"
"angle" "90"
"spawnflags" "768"
"targetname" "t105"
}
{
"classname" "trigger_once"
"spawnflags" "768"
"target" "t105"
"model" "*78"
}
{
"classname" "light"
"origin" "1056 -920 1184"
"light" "125"
}
{
"classname" "trigger_relay"
"origin" "1104 -864 1120"
"target" "t105"
}
{
"classname" "monster_ogre"
"origin" "1120 768 1416"
"angle" "180"
"spawnflags" "769"
}
{
"classname" "air_bubbles"
"origin" "884 1616 440"
}
{
"targetname" "t106"
"spawnflags" "768"
"angle" "270"
"origin" "-264 2232 1296"
"classname" "info_teleport_destination"
}
{
"classname" "path_corner"
"origin" "568 1984 928"
"targetname" "t107"
"target" "t108"
"spawnflags" "256"
}
{
"origin" "424 1960 928"
"classname" "path_corner"
"target" "t107"
"spawnflags" "256"
"targetname" "t111"
}
{
"classname" "path_corner"
"origin" "704 2024 928"
"targetname" "t108"
"target" "t109"
"spawnflags" "256"
}
{
"origin" "712 1712 928"
"classname" "path_corner"
"targetname" "t109"
"target" "t110"
"spawnflags" "256"
}
{
"classname" "path_corner"
"origin" "712 1416 928"
"targetname" "t110"
"target" "t109"
"spawnflags" "256"
}
{
"classname" "func_door"
"angle" "-2"
"wait" "-1"
"lip" "-24"
"targetname" "t26"
"spawnflags" "2304"
"model" "*79"
}
{
"classname" "monster_ogre"
"origin" "240 2048 944"
"angle" "0"
"spawnflags" "257"
"target" "t111"
}
{
"target" "t23"
"spawnflags" "1792"
"classname" "trigger_once"
"model" "*80"
}
{
"classname" "monster_knight"
"origin" "576 2768 536"
"angle" "0"
"spawnflags" "256"
}
{
"spawnflags" "256"
"angle" "180"
"origin" "824 2776 536"
"classname" "monster_knight"
}
{
"classname" "monster_wizard"
"origin" "704 -1032 1024"
"angle" "90"
"spawnflags" "256"
"targetname" "t52"
}
{
"angle" "90"
"origin" "760 -1032 1024"
"classname" "monster_wizard"
"spawnflags" "768"
"targetname" "t114"
}
{
"classname" "monster_wizard"
"origin" "816 -1032 1024"
"angle" "90"
"spawnflags" "768"
"targetname" "t114"
}
{
"targetname" "t52"
"classname" "trigger_teleport"
"spawnflags" "258"
"target" "t112"
"model" "*81"
}
{
"classname" "trigger_teleport"
"spawnflags" "770"
"target" "t113"
"targetname" "t114"
"model" "*82"
}
{
"targetname" "t114"
"classname" "trigger_teleport"
"spawnflags" "770"
"target" "t115"
"model" "*83"
}
{
"classname" "info_teleport_destination"
"origin" "896 224 1352"
"angle" "135"
"spawnflags" "256"
"targetname" "t112"
}
{
"classname" "info_teleport_destination"
"origin" "488 1648 1016"
"angle" "315"
"spawnflags" "768"
"targetname" "t113"
}
{
"classname" "trigger_once"
"spawnflags" "768"
"target" "t114"
"model" "*84"
}
{
"classname" "info_teleport_destination"
"origin" "800 904 928"
"angle" "90"
"spawnflags" "768"
"targetname" "t115"
}
{
"angle" "270"
"origin" "-256 2232 1242"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "-256 2096 1218"
"classname" "weapon_supershotgun"
}
{
"angle" "270"
"origin" "704 424 1266"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 2488 946"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 1968 546"
"classname" "info_player_deathmatch"
}
{
"angle" "90"
"origin" "704 104 898"
"classname" "info_player_deathmatch"
}
{
"angle" "270"
"origin" "704 1568 938"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "704 1344 912"
"classname" "weapon_rocketlauncher"
}
{
"angle" "0"
"origin" "712 -576 840"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "944 -576 816"
"classname" "weapon_nailgun"
}
{
"angle" "180"
"origin" "1064 -576 1128"
"classname" "info_player_deathmatch"
}
{
"spawnflags" "1792"
"origin" "696 584 1256"
"classname" "weapon_grenadelauncher"
}
{
"classname" "light"
"origin" "316 804 780"
"light" "150"
}
{
"classname" "light"
"origin" "316 804 644"
"light" "75"
}
{
"classname" "item_rockets"
"origin" "298 710 706"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "988 -928 1104"
"spawnflags" "1"
}
{
"classname" "item_health"
"origin" "-56 2112 1220"
"spawnflags" "3584"
}
{
"classname" "item_health"
"origin" "-56 2072 1220"
"spawnflags" "2305"
}
{
"spawnflags" "1"
"origin" "584 2416 512"
"classname" "item_spikes"
}
{
"origin" "688 1392 516"
"classname" "item_spikes"
}
{
"classname" "item_artifact_invulnerability"
"origin" "712 2312 948"
"spawnflags" "1792"
}
{
"origin" "32 1392 916"
"classname" "item_artifact_envirosuit"
}
{
"mangle" "26 310 0"
"origin" "384 488 1552"
"classname" "info_intermission"
}
{
"light" "100"
"origin" "800 1160 464"
"classname" "light"
}
{
"classname" "light"
"origin" "608 1160 464"
"light" "100"
}
{
"light" "100"
"origin" "604 1472 464"
"classname" "light"
}
{
"target" "t40"
"classname" "trigger_teleport"
"model" "*85"
}
{
"mangle" "-20 75 0"
"origin" "456 2144 568"
"classname" "info_intermission"
}
{
"mangle" "10 80 0"
"origin" "464 1032 1000"
"classname" "info_intermission"
}
{
"mangle" "20 135 0"
"origin" "1080 -752 1008"
"classname" "info_intermission"
}
{
"classname" "trigger_secret"
"model" "*86"
}
{
"classname" "path_corner"
"origin" "1632 216 896"
"targetname" "t116"
"target" "t84"
}
{
"classname" "item_spikes"
"origin" "1200 48 872"
"spawnflags" "1"
}
{
"classname" "item_spikes"
"origin" "928 2664 320"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "1240 768 1384"
"spawnflags" "1"
}
{
"classname" "item_shells"
"origin" "-88 2160 1224"
"spawnflags" "2049"
}
{
"classname" "info_player_coop"
"origin" "-208 2272 1240"
"angle" "270"
}
{
"angle" "270"
"origin" "-304 2272 1240"
"classname" "info_player_coop"
}
{
"classname" "info_player_coop"
"origin" "-352 2272 1240"
"angle" "270"
}
{
"light" "200"
"origin" "1288 1648 956"
"classname" "light"
}
{
"classname" "item_spikes"
"origin" "-264 1464 888"
}
{
"spawnflags" "1792"
"origin" "1296 1488 888"
"classname" "item_artifact_invisibility"
}
{
"spawnflags" "1792"
"classname" "func_wall"
"model" "*87"
}
{
"classname" "func_wall"
"spawnflags" "1792"
"model" "*88"
}
{
"target" "t118"
"targetname" "t117"
"origin" "-176 1640 888"
"classname" "path_corner"
}
{
"targetname" "t118"
"target" "t117"
"classname" "path_corner"
"origin" "-320 1640 888"
}
{
"target" "t117"
"origin" "-256 1632 904"
"classname" "monster_knight"
"spawnflags" "1"
}
{
"origin" "1376 1424 864"
"classname" "weapon_grenadelauncher"
}
{
"spawnflags" "1"
"targetname" "t120"
"target" "t119"
"classname" "trigger_counter"
"model" "*89"
}
{
"target" "t120"
"targetname" "t53"
"classname" "trigger_once"
"model" "*90"
}
{
"target" "t120"
"targetname" "t39"
"classname" "trigger_once"
"model" "*91"
}
{
"classname" "light"
"origin" "480 2568 568"
"light" "125"
}
{
"origin" "162 1482 976"
"classname" "ambient_drip"
}
{
"origin" "786 1010 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "778 1210 584"
}
{
"origin" "594 1202 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "602 1010 584"
}
{
"origin" "786 1514 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "794 1698 584"
}
{
"origin" "618 1690 584"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "618 1522 584"
}
{
"origin" "698 1362 584"
"classname" "ambient_drip"
}
{
"origin" "714 1970 592"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "898 2170 592"
}
{
"origin" "938 2346 592"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "682 2298 592"
}
{
"origin" "458 2306 592"
"classname" "ambient_drip"
}
{
"origin" "458 1690 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "322 1506 880"
}
{
"origin" "338 1226 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "466 1090 880"
}
{
"origin" "394 882 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "674 810 880"
}
{
"origin" "914 818 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "922 1034 880"
}
{
"origin" "1082 1266 880"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "994 1442 880"
}
{
"origin" "898 1714 880"
"classname" "ambient_drip"
}
{
"origin" "706 1362 1080"
"classname" "ambient_drip"
}
{
"origin" "1194 1522 1032"
"classname" "ambient_drip"
}
{
"classname" "ambient_drip"
"origin" "1314 1354 1032"
}
{
"origin" "442 354 920"
"classname" "ambient_swamp1"
}
{
"origin" "978 314 920"
"classname" "ambient_swamp2"
}
quakespasm-0.93.0/Misc/qs_pak/default.cfg 0000644 0000000 0000000 00000004173 12665410352 016742 0 ustar root root //
// load keybindings
//
// commands with a leading + will also be called for key up events with
// the + changed to a -
unbindall
//
// character controls
//
bind ALT +strafe
bind , +moveleft
bind a +moveleft
bind . +moveright
bind d +moveright
bind DEL +lookdown
bind PGDN +lookup
bind END centerview
bind e +moveup
bind c +movedown
bind SHIFT +speed
bind CTRL +attack
bind UPARROW +forward
bind w +forward
bind DOWNARROW +back
bind s +back
bind LEFTARROW +left
bind RIGHTARROW +right
bind SPACE +jump
//bind ENTER +jump
bind TAB +showscores
bind 1 "impulse 1"
bind 2 "impulse 2"
bind 3 "impulse 3"
bind 4 "impulse 4"
bind 5 "impulse 5"
bind 6 "impulse 6"
bind 7 "impulse 7"
bind 8 "impulse 8"
bind 0 "impulse 0"
bind / "impulse 10" // change weapon
bind MWHEELDOWN "impulse 10"
bind MWHEELUP "impulse 12"
// zoom
alias zoom_in "sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;bind F11 zoom_out"
alias zoom_out "sensitivity 4;fov 5;wait;fov 10;wait;fov 30;wait;fov 50;wait;fov 70;wait;fov 90;bind F11 zoom_in; sensitivity 3"
bind F11 zoom_in
// Function keys
bind F1 "help"
bind F2 "menu_save"
bind F3 "menu_load"
bind F4 "menu_options"
bind F5 "menu_multiplayer"
bind F6 "echo Quicksaving...; wait; save quick"
bind F9 "echo Quickloading...; wait; load quick"
bind F10 "quit"
bind F12 "screenshot"
// mouse options
bind \ +mlook
//
// client environment commands
//
bind PAUSE "pause"
bind ESCAPE "togglemenu"
bind ~ "toggleconsole"
bind ` "toggleconsole"
bind t "messagemode"
bind + "sizeup"
bind = "sizeup"
bind - "sizedown"
bind INS +klook
//
// mouse buttons
//
bind MOUSE1 +attack
//bind MOUSE2 +forward
bind MOUSE2 +jump
//bind MOUSE3 +mlook
//
// game controller
//
bind LSHOULDER "impulse 12"
bind RSHOULDER "impulse 10"
bind LTRIGGER +jump
bind RTRIGGER +attack
//
// default cvars
//
gamma 1.0
volume 0.7
sensitivity 3
//viewsize 100
viewsize 110
scr_conscale 1.6
scr_menuscale 1.6
scr_sbarscale 1.6
// default to mouse-look enabled
+mlook
quakespasm-0.93.0/Misc/qs_pak/mkpak.sh 0000755 0000000 0000000 00000005240 12375064103 016270 0 ustar root root #!/bin/sh
#
# Copyright (c) 2014, Sander van Dijk
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
error() {
echo "$(basename "$0"): $*" >&2
exit 1
}
assert_valid_stdout() {
if test -t 1
then
error "Usage: $(basename "$0") [file ...] > output.pak"
fi
}
assert_valid_file() {
if test ! -e "$1"
then
error "$1: No such file"
fi
if test ! -f "$1"
then
error "$f: Not a regular file"
fi
if test ! -r "$1"
then
error "$1: Permission denied"
fi
if test $(echo -n "$1" | wc -c) -gt 55
then
error "$1: Name too long"
fi
}
assert_valid_int32() {
if test $1 -lt -2147483648 -o $1 -gt 2147483647
then
error "Too much data"
fi
}
octal() {
if test $1 -gt 7
then
octal $(expr $1 / 8)
fi
echo -n $(expr $1 % 8)
}
byte() {
echo -en \\0$(octal $1)
}
little_endian_uint32() {
byte $(expr $1 % 256)
byte $(expr $1 / 256 % 256)
byte $(expr $1 / 65536 % 256)
byte $(expr $1 / 16777216 % 256)
}
little_endian_int32() {
if test $1 -lt 0
then
little_endian_uint32 $(expr $1 + 4294967296)
else
little_endian_uint32 $1
fi
}
zero_padding() {
if test $1 -lt 1
then
return
fi
byte 0
zero_padding $(expr $1 - 1)
}
header() {
echo -n PACK
little_endian_int32 $1
little_endian_int32 $2
}
directory_entry() {
echo -n "$1"
zero_padding $(expr 56 - $(echo -n "$1" | wc -c))
little_endian_int32 $2
little_endian_int32 $3
}
assert_valid_stdout
directory_offset=12
directory_size=0
for file in "$@"
do
assert_valid_file "$file"
file_offset=$directory_offset
assert_valid_int32 $file_offset
file_size=$(wc -c < "$file")
assert_valid_int32 $file_size
directory_offset=$(expr $directory_offset + $file_size)
assert_valid_int32 $directory_offset
directory_size=$(expr $directory_size + 64)
assert_valid_int32 $directory_size
done
header $directory_offset $directory_size
for file in "$@"
do
cat "$file"
done
file_offset=12
for file in "$@"
do
file_size=$(wc -c < "$file")
directory_entry "$file" $file_offset $file_size
file_offset=$(expr $file_offset + $file_size)
done
quakespasm-0.93.0/Misc/qs_pak/default.cfg.orig 0000644 0000000 0000000 00000003430 12327137640 017675 0 ustar root root //
// load keybindings
//
// commands with a leading + will also be called for key up events with
// the + changed to a -
unbindall
//
// character controls
//
bind ALT +strafe
bind , +moveleft
bind . +moveright
bind DEL +lookdown
bind PGDN +lookup
bind END centerview
bind z +lookdown
bind a +lookup
bind d +moveup
bind c +movedown
bind SHIFT +speed
bind CTRL +attack
bind UPARROW +forward
bind DOWNARROW +back
bind LEFTARROW +left
bind RIGHTARROW +right
bind SPACE +jump
bind ENTER +jump
bind TAB +showscores
bind 1 "impulse 1"
bind 2 "impulse 2"
bind 3 "impulse 3"
bind 4 "impulse 4"
bind 5 "impulse 5"
bind 6 "impulse 6"
bind 7 "impulse 7"
bind 8 "impulse 8"
bind 0 "impulse 0"
bind / "impulse 10" // change weapon
// zoom
alias zoom_in "sensitivity 2;fov 90;wait;fov 70;wait;fov 50;wait;fov 30;wait;fov 10;wait;fov 5;bind F11 zoom_out"
alias zoom_out "sensitivity 4;fov 5;wait;fov 10;wait;fov 30;wait;fov 50;wait;fov 70;wait;fov 90;bind F11 zoom_in; sensitivity 3"
bind F11 zoom_in
// Function keys
bind F1 "help"
bind F2 "menu_save"
bind F3 "menu_load"
bind F4 "menu_options"
bind F5 "menu_multiplayer"
bind F6 "echo Quicksaving...; wait; save quick"
bind F9 "echo Quickloading...; wait; load quick"
bind F10 "quit"
bind F12 "screenshot"
// mouse options
bind \ +mlook
//
// client environment commands
//
bind PAUSE "pause"
bind ESCAPE "togglemenu"
bind ~ "toggleconsole"
bind ` "toggleconsole"
bind t "messagemode"
bind + "sizeup"
bind = "sizeup"
bind - "sizedown"
bind INS +klook
//
// mouse buttons
//
bind MOUSE1 +attack
bind MOUSE2 +forward
bind MOUSE3 +mlook
//
// default cvars
//
viewsize 100
gamma 1.0
volume 0.7
sensitivity 3
quakespasm-0.93.0/Misc/qs_pak/gfx/ 0000755 0000000 0000000 00000000000 13204512422 015403 5 ustar root root quakespasm-0.93.0/Misc/qs_pak/gfx/conback.lmp 0000644 0000000 0000000 00001200010 12327137640 017521 0 ustar root root € ®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¿111¿11¿¿1¿¿1¿¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¿11¿1111111111¿¿¿1®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¿¿¿¿¿¿1¿1111¿¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¿¿¿¿¿¿¿11111¿¿1¿1¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬««¬¬¬¬¬¬¬¬¬®®®®®¿¿¿11¿¿11111111¿1111111111®®®®®®®®®®®¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¿1111¿¿¿111111¿11111111¿®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿1111¿¿¿¿1¿1111¿1¿1¿1¿¿¿¿®®®®®®®®®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿11¿1¿¿¿1¿¿11¿1¿¿¿¿®®®®®®®®®®¬¬®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿111¿¿¿1¿¿¿11¿¿¿¿®®®®®®®®®®®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿11¿¿¿1¿¿1¿¿¿1®®®®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®1¿¿¿¿¿11¿¿¿¿¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿¿¿¿1111111¿®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿¿111111¿¿¿¿¿®®®®®®®®®®®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿1¿1¿¿¿¿¿®®®®®®®®®®®®®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬«««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®11¿¿¿1¿®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®1¿®¿¿¿¿®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬«««««¬««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿1¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««¬«««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿®¿¿¿®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬«««¬«««««««««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®1¿®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«««««««««¬««««««¬«¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿¿¿®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬«««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿1¿1¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿1¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««¬«««««««¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿¿¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿11®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿®¿¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬«««««««««««««««««««««««¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿11®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬«¬«««««««««««««««««««««««¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬««¬«««««««««««««««¬««««¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿¿¿1¿®1®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«¬¬¬¬«««¬¬«¬«¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬«¬«¬¬¬¬«¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬«¬¬«¬«¬¬¬¬¬¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬«««¬««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««¬¬¬¬««¬«¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬««¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬«¬¬«¬¬¬¬«¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬®®®®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®11¿®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®¿¿1®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®®®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¿1®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®®®®®®®®®®¿¿®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®¿®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®¬¬¬®®®®®®®®®1®¿®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®1111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®1®1®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®1¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®1¿¿®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®11®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬®®®®®®®®¿1¿¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬¬¬¬®®®®®¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®11¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬®®®®®¿1¿®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®®®®®®®®¿¿®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®1¿¿1¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬®®®®®®®®®®¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬®®®®®¿¿1¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®11111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬¬¬¬¬¬®®®®®1¿¿1¿¿®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®1111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬®®®®¿11111®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®11¿¿®®®®®®®®®®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®11¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬®®®¿1¿¿®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®1111¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬®®®®®®¿¿¿¿®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®1¿11¿1¿¿1¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬®¬¬¬¬¬¬®®®®®¿¿11¿¿¿®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®11111¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬®¬¬¬¬¬¬®¬¬®®®®®®®®®®¿¿¿¿¿11®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®111¿1¿¿¿1¿¿¿¿¿¿¿1¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®¿¿¿11¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1¿1111¿1¿1111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®¬¬¬¬®®®®®®®®®®®®®®®®®®®1¿1¿¿1¿1¿1¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111¿111¿1¿¿¿1¿1111¿11®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®¿1¿¿¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11¿1111¿11¿¿1¿¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®1¿¿¿1¿¿¿11¿11111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®111111¿¿111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¬¬¬¬®®®®®®®®®®®®®¿¿¿¿111¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿1111¿1¿¿¿¿1¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®¿11111111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿111¿¿1¿11¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®111¿111111111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®¿1111¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®1¿1¿1¿¿¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®11¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿1¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿1¿¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿1¿¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®1¿¿1¿11¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿1¿¿1¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¿1¿¿1¿¿¿¿11¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿¿¿1¿¿1111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¿¿®¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿1¿¿¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿¿®¿¿1¿¿11¿¿¿¿¿¿1¿¿¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿¿®¿1¿¿¿¿¿¿¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿1¿11¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1¿¿¿¿1111¿¿¿¿¿¿¿¿¿¿1¿¿¿¿11111111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿1¿1¿¿1¿11¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬1¿¿¿¿1¿1¿¿111111¿¿1¿11111¿¿¿¿¿¿¿¿¿¿1111111111¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿1¿¿¿¿¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿¿¿¿1¿11¿111®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿¿¿¿¿11¿1111111111111111111¿11¿1¿¿1¿¿1¿¿11111111111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿1¿¿1¿¿1¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®¿1¿¿¿¿1¿1¿11®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿¿¿¿¿1¿¿11¿¿11111111¿¿¿1111111111¿11¿¿¿¿¿¿11111111111¿¿¿1¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿¿1¿11¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®¿11¿¿¿1®®®®®®®®¬®®®®®®®®¬¬®®®®®®®®®®®®®®®®®®¬¬¬««««¬«««««¬¬¬¬¬¬¬¿¿¿¿¿1¿1¿¿11¿¿111¿¿¿11111¿1¿¿¿¿¿111111111111¿¿¿11¿1111111111¿1¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®111¿1¿1®®®®¬¬¬¬¬®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬««««««¬«««««««««««««««««¬¬¬¬¬¬¬¬¿¿¿1¿¿11¿¿¿111¿¿1¿¿1¿¿¿11¿1¿11¿¿¿¿¿1¿111111¿1¿1¿¿11111111111111¿¿¿¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿111¿®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬««««««««¬««««««««««««««««««««¬¬¬¬¬¿¿¿¿¿¿¿¿¿111¿¿¿11¿¿¿11¿¿111¿¿¿¿¿¿¿¿¿¿1¿¿1111¿¿111111111111¿¿1¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬««««««««««««««««««««««««««¬¬¬¬11¿1¿¿1111¿¿¿1¿¿¿11111111111111¿1111111111111¿¿1¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®¬®®®®®®®¬¬¬¬¬¬¬««««««««««««««««««««««¬¬¬¬¿111¿111111¿¿¿1¿¿¿1¿1111111111111111111111111¿11¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬«««««««««¬«««««««««««¬««¬¬¬¬11¿¿1¿¿111¿111¿¿¿1¿11111111111111111111111111¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¬¬¬¬¬¬««««««««««««««««««««««««««««¬¬¬¬¿11111¿¿¿¿111¿1111111111111¿¿¿¿1111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬¬¬¬¬¬««««««««««««««««««««««¬¬¬¬¬¬111¿¿¿¿¿¿¿¿¿11111111¿¿¿¿¿¿111®®®11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¬¬¬¬¬¬««««««««««««««««««««««««¬¬¬¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿1®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®¬¬¬¬««¬«««¬««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬®®®¬¬¬««««««««««««««««««««¬¬¬®¬¬¬¬¬¬«««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««¬¬¬¬¬¬¬¬¬®¬¬¬««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬®¬¬¬««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬®¬¬«««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬«¬«««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬«««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬«¬¬««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬®¬¬¬¬«¬«¬«««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬«««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬«««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬¬¬¬¬¬¬¬®¬¬¬¬¬¬««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««¬¬¬¬¬®¬®®¬¬®¬¬««««««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««¬««««««««««««««««¬¬®®®¬¬¬¬¬¬«««««««««««««««««®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««¬««¬«««««««««««««««««««««««««««««««¬¬®¬¬«««««««««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««¬¬««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬««¬¬«««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬«««««««««««««««««««««®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬«««««««««««««««««««««««««««««««««¬®¬¬¬¬«¬«««««««««««««««®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬««««««««««««««««««««««««««««««««««®¬¬¬¬««««««««««««®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««¬¬®¬¬¬¬«««««««««««««««««««««®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬««¬¬«««««««««««««««««««««¬¬«««¬¬¬¬¬¬¬®¬¬««««««««««««««««««®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««««««««««««««««««««««¬¬¬®¬¬¬¬¬¬¬«¬««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««««««««®¬¬¬¬¬¬¬««««««««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬«««««««««««««««¬«««««««««««««««¬¬¬¬¬¬¬¬¬«¬¬«««««««««««««««««®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬¬¬««««««««««««««««««««««««««««««««¬¬¬¬¬«¬«¬««««««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬«¬«««««««««««««««««««««««««««¬¬¬®¬¬¬¬¬¬««««««««««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬«««¬««¬¬««¬«««««««««««««««««««««««¬«¬¬¬¬®¬¬¬¬¬¬¬¬¬«««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬««««¬««««««««««««««««««««««««¬¬¬¬¬¬¬¬««««««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««¬¬¬¬¬««««««««««««««««®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬«««««««««««««««¬«««««««««««««¬®¬¬¬¬¬¬«««««««««««««««««««®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««¬««««««««««««««««««««««««««««¬«¬¬¬¬®¬¬¬®®¬¬®¬¬««««««««««««««««®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬«¬¬«¬«««««««««««««««««¬«««««««««««««««««««¬¬®¬¬®¬¬¬¬¬««««««««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««¬«««««««««««««««««¬««««¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««««««««««««««®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬«««««¬««««««««««««««««««««««««««««¬««¬¬¬®¬¬¬¬¬¬¬«¬«««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬«««««««««««««¬«««««¬¬®¬¬¬®¬¬¬¬®¬®®¬¬¬¬¬¬¬¬«««««««««««««««««®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««¬¬¬¬®¬¬¬¬¬®¬¬«««««««««««««««««««««®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««««««««««««««««¬««««¬¬¬¬®®®¬¬¬¬¬¬¬¬«««««««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««¬¬««¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««¬««««««««««««««««««¬«®®¬¬¬¬¬¬¬¬««««««««««««««««®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬««¬«««««««««««««®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬«¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬««««««««««««««««««««®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬««««¬«««««¬«««««««««««««««««««««««««««««««««««¬«««««««««««««««««¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬«¬¬««¬«««««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬®¬¬¬¬¬¬¬¬«¬¬¬«¬¬««««««««««««®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬«¬¬««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬«««¬¬«««««««««««««««««««««««««««««¬««««««««««««««««««««««¬«««««««««««¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬«««¬«««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬®¬¬¬¬¬¬¬¬«««¬¬¬«««««««««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬«««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««¬«¬¬¬¬¬¬¬¬®¬¬¬¬¬¬«««¬¬««««««««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬«««¬««««««««««««««««¬«®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬«¬«««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬«¬¬¬«¬¬¬¬¬¬¬¬«¬«««««««««««««®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬««««««««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««¬««««««««««««««««««®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««¬«««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬««««««««««««««««««®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬¬¬®¬¬¬¬¬¬¬¬«««««««««««««««««««««««®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬¬««««««««««««««««««««««««««¬«««««««««««««««««««««««¬¬¬¬¬¬®¬¬¬¬¬¬¬««««¬««««««««««««««««««®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬¬¬®®®¬®¬¬¬«««««««¬««¬«««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«®¬¬¬¬¬¬¬«««¬«««¬«««««««««««¬««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬««¬«««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬«¬®®¬«««««¬««««««««¬«««¬¬««««««®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬«««¬¬«««¬«««««««««¬¬«««««««««««««««««««««««««««««««««««««««¬¬«¬¬¬¬®¬«««««««««¬««««««««««««¬««««®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««¬¬®®¬¬¬«««««««««¬¬«««««««««««¬«««¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬®¬¬¬««««««¬«««««««««««««««««««¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬««¬¬¬¬«««««««««««¬«««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬®¬««««««««¬«««««««««¬««««®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬««««««««««¬««««««««««««««««««««««««««««««««««««««««««««««««««¬««¬¬¬¬«¬¬«¬¬««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬««¬«««««««««««««¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬®¬¬¬««««««««««««««««¬«®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬«¬¬¬«««««««««««««««¬««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬«¬««««««««««««««««¬¬««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬««®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬«¬¬«««««««««¬«««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬«««¬¬««¬¬«¬««««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬®¬¬«««««««¬¬¬««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬«¬¬¬««¬««««««¬«¬«««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬®¬«««««««««««¬««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««¬¬««««««««««««¬««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬«««««¬¬¬¬««««««««««««¬¬«««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬««««¬««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬«««««««««««««««««««¬««««««««««««««««««««««««««««««««««««¬¬¬¬¬®¬««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬¬«®««««««««««««««««¬««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««««««¬«««««««««««««««««««««««««««««««««««««««««¬¬««««««««««««««««««««««¬««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬««¬«««¬«««««««««¬««««««««««««««««««««««««««««««««««««««««¬«¬¬¬««««««««««««««««««««««¬««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬«¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬«««««««««««««««««««««««¬¬¬«««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬«««««««¬«««««««««««««««««««««««««««««««««««««««««««««««¬¬««®¬««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬«¬¬¬¬¬¬¬««¬«««««««««««««««««««««««««««««««««««««««««««««««¬«¬«¬¬¬««¬«««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬««®¬«««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬«®««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««¬«««¬¬¬¬««¬«««««««¬««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««««««««««««««««««¬««««««««««««««««««««««««««««««««««««««««««®¬«««««««««¬«««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬«¬¬¬¬««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬«««««¬««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬««««¬¬«««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬«®¬««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««¬««¬«¬«««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬««®¬¬««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬««««««¬«««¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬««®¬¬¬¬««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬«««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««¬®¬¬««««¬««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««««¬««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬®¬¬¬«««««««««¬«««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬®¬¬««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬«««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬®¬¬¬¬«««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««¬««««««««««««««««««««««««««««««««««««¬«««««««««««««««¬¬®¬¬«¬«««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««¬¬¬¬««««««««««««««««««¬«®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««¬¬¬®¬«««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬««««¬««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««¬¬«¬««¬«««««««««««««««««««««««®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬««««««««««««««««««««««««««««««««««««««¬«¬«««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««¬««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬««««««««««««««««¬««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««««««««««««««««««¬«««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««««««««««««««««««««««««««««««««««««««««««««¬««««««««««««¬«««««¬««««««««««««««««««¬«««¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«¬««««««««««««««««««««««¬¬¬¬¬¿¿¿1¿1¿¿¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««®¬««¬«««««¬««««««««««««««««¬¿1¿11¿1¿11¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬««««««««««¬«««««««««««¬¿¿1¿¿¿11¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««¬¬«¬1¿¿1¿¿1¿¿11¿¿¿1¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««¬¬«««««««««¬¬¬¬¿¿11¿¿¿1111¿¿¿11¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬«««««««««««««««¬««««««««««««««««««««««««««««««««««««««««¬«««««««««««««¬¬««««««¬1111111¿¿1¿11¿¿11¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««¬««««««««««««««¬«««¬«««««««««««««««««¬«««««««««««««««¬¬¿¿111111¿¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬««««««««««««««««««¬¬¬¬¬¬¿¿11¿1¿¿¿1¿1¿11¿¿1¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«««««««¬«««««««««¬«««««««««¬¬¬¬¿¿¿1111¿1¿¿¿¿11111111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««««««««¬¬««««««««««««««««««««¬¬«¬¬¬¬«111¿¿11111¿1¿¿11111111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬®¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬«««««««««««««««««««««««¬«1¿¿11¿11111111¿¿1111¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««««««««««««¬¬¬«««««««««««¬«¬«««««««¬¿¿1¿1111¿¿11¿¿1¿1111111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«««««««¬««««««««««¬¬1¿¿1¿¿1¿¿1¿111¿11111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬«¬«««««««««««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««¬«¬¬«««««««««««¬««««««««««¬¬¬¬«¿¿¿11¿1¿¿111¿1111¿¿1¿¿¿1¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««««¬¬««««««««««¬«««««««¬¬¬«1¿1111¿¿1¿1111¿¿¿¿¿¿1¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«««««««««««««««««««««««¬¬¬¬¬¬¿¿¿¿¿¿¿¿¿¿111¿¿¿1¿1¿¿1¿¿¿¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬««««««««««««««¬««««¬¬¬¬1¿¿¿¿¿¿1¿11¿11¿¿11¿1¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««««¬««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬«««««««««««««««¬¬¬¬«¬¬¬¿¿¿¿¿¿11¿11¿¿¿1¿1¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«¬«««««««««¬¬¬¬¬¬¬¬¿¿111¿¿¿¿¿¿¿1¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««¬¬««««««««««««««««««««««¬¬««««««¬««««««¬¬¿1¿¿1¿¿¿11¿¿11¿¿1¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««¬¬¬¬¬¬¬««««««««««¬¬¬¬¬¿¿¿¿¿1¿¿¿¿¿1¿¿1¿¿1¿¿1¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬««««««««¬¬¬««¬¬¬¬¬¿¿¿¿¿¿¿11¿¿¿1¿¿1¿¿¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬««««¬¬««««««««¬««««¬¬¬¬¬¬¬¿¿¿¿11¿¿¿¿11¿¿¿¿1111¿111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬«««¬¬¬«««««¬¬««¬¬¬¬¬¬¬¬«¿¿111¿¿1111¿¿¿¿¿1¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬««¬¬¬¬¬«««««¬««¬¬¬¬¬¬¿111¿¿¿¿¿¿¿¿¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«¬¬¬¬«««««««««¬¬««««¬««¬¬¬¬¬¬¬1111¿¿¿¿¿¿111¿¿¿11¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬««««««««««««««««««««««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬««««««««««««««¬¬¬¬¬¬¬¿1111¿¿¿¿¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬111¿¿¿11¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬««««¬«««¬«««««¬¬¬¬¬¬¬¿¿11¿¿¿111¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««««««¬«««««««««««««««««««««««««««««««¬««¬¬¬¬¬¬¬««««««««««««¬¬¬¬¬¬¬¬¬¬¬¿¿11¿¿¿¿11¿¿11¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬«««¬¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬«««««««««««¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬¿11¿¿¿¿¿1¿1111¿¿¿¿¿¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬1¿¿¿11¿¿¿¿1¿111¿¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««¬¬¬¬«««««««««¬¬¬¬¬¬««««««««««««««««««««««««««¬««¬««««««««««««««¬¬¬¬¬««««««««««¬¬¬¬¬«1¿¿¿111¿11¿11¿111¿®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«««««««««««««««««««¬«««««««««««««««¬«¬¬¬¬«««««««««««««««««««««««««««««««««««««««««««««««««¬¬¬««««««««¬¬¬¬¬¬¬¬1¿¿¿11¿¿¿111¿11¿11¿¿1¿¿¿¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««««««««¬¬«¬¬¬¬«««««««««««««¬¬¬¬¬«««««««««««««««««««««««««««««««««««««««««¬¬¬¬««««¬¬¬¬¬¬¬¬¬1¿¿¿¿¿¿111¿11111111¿¿¿¿¿¿¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬«««««««««««¬¬¬¬¬««««««¬«««««««««««««««««««««««««««««««¬««««¬«¬¬¬¬¬¬¬¬¬1¿¿1¿¿¿¿¿¿11¿1111¿¿1¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««««««««¬¬««¬¬¬¬¬««««««««¬¬¬«¬««««««««««««««««««««««««««««¬«¬«¬«««««¬«««««««¬«¬«¬«««««¬¬¬¬¬¬¬¬¬¬1¿¿¿1¿1¿1¿111¿¿¿1¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««¬¬¬¬¬¬««««««««¬¬¬¬««¬¬««««««««««««««««««««««««««««««¬¬¬«««««««««««¬««««««¬¬«¬¬¬¬¬11¿1¿11¿¿1¿¿¿1¿1¿¿11111¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬«««¬¬««««««««¬««¬«¬¬««««««««««¬¬¬¬«««¬««««««««««««««¬«¬«««¬«««««««««««««««¬¬¬«««¬¬¬¬¬¬11111111¿¿1¿1¿¿11¿¿¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬««««««««««««««««««««¬¬¬¬««««««¬«¬¬¬¬««««««««««««««««««««««¬¬¬¬«««««««««««««««««¬¬««¬¬¬«¬¬¬¬¬¬¬1111111111¿¿111111¿11¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««¬¬««««««««««¬¬«««««««««««««««««««««¬«««««««««««««««¬¬®¬¬¬««««¬¬¬¬«111111111¿11¿¿111¿111¿1¿®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬«¬¬¬¬¬««««««««««¬¬¬¬««««««««««««««««««««¬««««««««««««««««««¬¬¬««««««¬¬¬¬¬¬111111111111¿¿¿¿¿¿¿1¿1®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««¬¬««««««««««««««¬«¬««¬¬««««««««««««««««¬««««««««««««««««««««««««¬¬¬¬¿111¿1111¿¿¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««¬¬¬¬¬¬¬¬««««««««««««¬¬«««¬««««««««««««««¬««««««««««««««««««¬¬«««««««««¬¬¬¬¬«¿111111¿¿¿¿¿¿¿11¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬««««««¬««¬¬¬¬««««««««««««««««««««««««««««««««««««««««««¬¬««««««««¬«¬¬¬¬11111111¿¿¿11111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬««««««««««««««¬¬¬¬¬«««¬¬««¬¬¬¬««««¬«¬««««««««««««««««««««««««««««««««««««¬¬¬«««««««««¬¬¿1111111¿¿11111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬«¬¬¬¬¬««««««««««¬¬¬«¬¬«¬¬««««««««««««¬¬«««¬«««««««««««««««¬¬¬«««««««««¬««¬¬¬¬¬¬¬11111111¿¿¿¿¿¿¿¿1111¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««¬¬¬¬¬¬«««««««¬¬«¬«¬«««««««««««««««¬«««««¬««««««««««««««««««««««««««¬¬1111111¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬¬¬¬¬«¬«««««««¬¬«¬¬«««««««««««««¬«««««««««««««««¬«¬¬¬«««««««««««««¬¬«¬¬1111111¿¿¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬«««««¬««««¬¬««¬¬¬¬«««««««¬««¬«««««««««««««««««««««¬¬¬¬¬«««««««¬¬¬¬11111111¿11¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««¬¬¬¬¬¬¬¬««««««¬¬¬¬¬««¬¬«««««««¬««««««««««««««««««««««««««¬¬¬¬««««¬¬¬¬¬¬11111111¿11¿11¿1®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«¬¬¬¬¬¬¬¬«««¬««««««««¬¬«««««¬«««««««««««««¬«««««««««««««««««««¬¬¬¬«««««««¬¬¬¬¬¬¬¬¬111111111111¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬««««««««««¬«¬¬¬««««««««««««««««««««««««««««««¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬11¿11111111111¿1¿¿®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬«««««««««««««¬«««¬¬¬¬««««««««¬«««««¬««««««««««««¬¬¬¬¬¬««««««««««««««¬¬¬¬¬¬¬1111111111¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬««««««««««««««¬««¬«««««««««««««««««««««««««««««¬¬¬¬¬«««««««««««¬¬¬¬¿1111111111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬«««««««¬««««««¬¬««««««««««¬««««««««««««««««««¬¬¬¬¬¬¬¬¬«««««««««¬¬¬¬¬¬¬¬¬¬11111111111¿¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬«««««¬««««««««««««««««««««««««««¬¬¬¬¬«««««««««««¬¬¬¬1111111111¿¿1¿¿¿11¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬««««««««¬¬««¬¬¬¬¬««¬«¬¬««««««««««««««««««««««««««««««¬¬¬¬¬¬¬«««««««««««««««««¬¬«¬¿11111111¿1¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬¬¬««««««««««««««¬¬««««¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬««««««««««««««¬¬¿111111111¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬«¬¬¬¬¬¬««««««««««««¬¬¬««««««««««¬«««««««««««««««««««««¬¬¬¬¬¬¬«««««««««««««««¬¬¬1111¿11111¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬««««««««««¬««¬¬«¬«««««««««««««««««««««««««««¬«¬¬®¬¬¬¬¬¬«««««««««««¬¬¬¬¬«1¿1¿¿111¿¿¿1¿¿1¿¿®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««¬¬««¬¬«¬««¬««««««««««««««¬«««««««¬¬¬¬¬«««««««««««««««¬¬¬¬¬¿1¿¿¿¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬«««¬¬««¬«««¬¬¬¬««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬«««««««««¬¬¬¬¬¬¬¬111¿¿1¿¿¿1111¿11®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬«««««««¬««¬¬«¬¬««««««««««««««««««««««««««««««¬¬¬¬««««««««««««««¬¬¬11¿¿11¿11¿¿11¿1¿¿¿¿¿¿¿®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111111¿11¿¿¿¿1¿111¿¿¿¿®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬««««¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111111¿¿11¿11¿¿¿®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬««««««««¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111111¿¿111¿1¿¿¿®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬«««««««¬¬««¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111111¿¿1111¿¿¿¿¿¿®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬«««««¬««¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111¿¿¿1¿11¿¿1¿111¿¿®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111¿1¿¿1111¿¿1¿111¿¿¿1®¿®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬««¬«««¬««««¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111111¿¿11¿¿1¿1¿¿¿¿¿¿¿1®¿®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬«««««««¬««««¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11¿1¿111111¿¿¿1¿1¿¿®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬«««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1¿1¿11¿1111¿¿¿¿¿¿®¿¿1¿®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«¬¬¬¬¬¬¬¬¬¬¬¬«¬«««¬«««¬«««¬««¬¬¬¬¬¬¬«¬««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1¿11111111¿¿¿¿¿®®¿®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬««««¬««¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1111111111111¿111®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11111111111111¿¿¿1¿®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬«¬¬¬¬¬«««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿111111111111¿¿¿¿11¿®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111111¿111¿1¿1¿¿1®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬«««««««««««««¬«««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿11111111¿11111¿¿1¿¿1¿®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111¿¿1111¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111¿1¿¿11¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111¿1¿1¿¿1¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿11111¿¿¿1¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111¿¿1¿¿¿¿¿¿11¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿¿1¿1¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬««¬¬¬¬¬¬¬¬¬«««««««««««¬««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11¿1111¿¿¿¿¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬¬«¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿111¿1¿¿11111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111111¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11111¿1111¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬««««««««««¬«¬¬«¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111111¿111¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿11111¿¿1¿¿111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬«««««««««««¬«¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11111¿¿¿¿¿¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬««««««««¬¬«««¬¬¬¬¬¬««««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11111¿1¿¿1111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®¬®¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111¿1¿¿1¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬«««««««««««««««««««««««««««««««««««««¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬««¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««««««««¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿1¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««¬««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿¿®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿¿®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿®®®®®®®®¿®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬««««««¬«««««««««««««¬®«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬®¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬«««««««««««««¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®¬¬¬®®¬¬¬¬¬¬®®®®®®®®®®®®®¬¬¬¬®¬¬¬®®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬®¬¬®¬¬¬¬®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬««««««««¬««««««««««««¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬«¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬«««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬«««««««¬«««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬«««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬¬¬¬««««««««««¬«««««««««¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬««««««««¬««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®1¿¿¿1¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬««««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿1¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬«««¬««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿1¿¿¿¿¿¿¿1®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬«««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬®®¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««««¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««««¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««¬¬¬¬®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬®¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««««««¬¬¬¬¬¬®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««««««¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬¬¬¬®¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬®¬®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬«««««««««««¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬««¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬««««««¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬®®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬¬¬¬®¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««««¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««««¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««««««¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««««¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««««¬¬¬¬®¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««««¬¬¬¬¬¬¬®¬¬¬¬¬®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬®®®®®®®1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬®®®®®®®¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¿1111®¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®111111111111®¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®111111111¿1111111111111®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬¬®1111111111111¿11¿111111111111111111111111111®®®®®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬®®®¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬¬¬¬¬11111111111111111111111111111111111111111111111111111®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬111111111111111111111111¿111111111111111111111®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«««¬¬¬¬¬¬¬¬¬¬¬®11111111111111®®®¿¿11111111111111111111®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬¬¬¬¬11111111111111®®®®®®®111¿1111111111111111111®®1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®®®¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬«¬¬¬¬¬1111111111111®®®®®®11111111111111111111111111®®¿¿¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬««¬¬¬¬¬¬¬¬¬¬11111¿11111111111®111111111111111111111111111111®®®¿1¿¿11®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1111111111111111111¿111111111111111111111111111111111®®®¿11111¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®111111111¿111111¿11¿11111111111111111111111®11111111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®11111®®®11111111111111111¿1111111111®¿11¿11¿11¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®¿11111¿®®1111111®®®1111111®®1111111®¿11¿1¿11¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11111®111¿1®®®®®1®®®®¿1111111®¿¿¿¿¿¿¿¿¿¿¿®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®1111®®1111®®®11®®®®®®®®®®¿1111111®¿1¿11¿¿¿¿¿¿¿¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11®®®111111111¿®®®®®1111111®1¿¿¿111¿¿¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11®®®111111111111¿®®®®1111111®1¿11¿¿¿¿¿1¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®111®®®111111111111¿®®®®®1111111®¿1¿¿¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿11¿®®®11111111111111®®®®®1111111®®¿¿¿¿¿1¿¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬®¬®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11®111111111111111111®®®®®®®®1111111®®¿1¿¿1¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®11®®111111111111111111®®®®®®®1111111®®¿¿¿¿¿¿¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®111®®®1111111111111111111®®®®®1111111®¿¿¿¿¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®®®®®®®®®®¬¬®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®1111¿11111111111111111111111®®®®®1111111®¿¿¿¿¿¿¿¿¿®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®®®®®®®®®¬¬®¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®11111111111111111®111®®®®®®®1111111®¿¿¿1¿¿¿¿®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬®¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®1111111®®®®1111¿®®®®®®®®®®®1111111®®®¿¿11¿1¿¿¿®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬®¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11®®®®®®®®®®111®®®®®®®®®®1111111®®®1¿¿11¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬®®®¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿11®®®®®®®®®®11®®®®®®®®®®®1111111®®1¿1111¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®®®®®¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1®®®®®®1®®®®®®®®®®1111111®®®¿1¿¿¿¿¿1¿¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®¬¬¬¬¬®®®®¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬1®®®®®®®®®®®®®®®®®1111111®®®®®¿¿¿¿¿¿111¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬®®®®®®®®®®®¬¬¬®®®®¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11®®®®®®®1®®®®®®®®¿111111®®®®®¿¿¿1¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬®®®¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11¿1®®®1®®111111®®®®®®®®111111®®®®®¿¿¿¿¿1¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®¬¬¬¬®®®®®¬¬¬¬¬¬®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11111®®11111111®®®®®®®111111®®®®®®11¿¿1¿¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬®®®®¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1111®11®¿11111111®®®®®111111®®®®1¿1¿1¿¿1¿¿¿1¿®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111111®111111111®®®®®®®®®®®®®®®¿11¿¿111¿¿¿¿111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111111111111111®®®®®1®®®®®®®1111111¿¿¿¿11¿®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111111®®1111111111®®®®111®®®®®®®¿¿¿11111111¿¿¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬®¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿¿111¿®1111111111111®®111®®®®®®1¿1¿¿1111111¿¿1¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬®¬¬¬¬®®®®®®®®®®®®®®®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111®1111111111111®®®®®®1111®®®¿11¿1111¿11¿11¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬®®¬¬¬®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¿1¿11®111®1111111111®®®®1111®®®®11¿1111¿11¿¿¿¿1¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬®®¬¬¬¬®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11¿1®111®1111111111®®®11111®®®1¿11¿¿11¿¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1®1111111111111®®®®®11111®¿11111111¿¿¿¿1111¿¿¿®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬®¬¬¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1¬®1111111111111®®111111111111111¿111¿111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿®1111111111111®®®11111111111111¿¿11¿1¿11¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®¬¬¬¬®¬¬®®®¬¬®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®111®111111111®11111111111111¿11111¿¿1¿¿1®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®111®111111111®®1111111111111111111¿11111¿¿¿¿¿¿®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬®¬®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®1®11111111111®®111111¿¿1¿11111¿¿1111111¿¿¿1¿¿¿1¿®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®¬¬¬¬¬¬¬¬®®®¬¬®¬¬®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1111®1111111®®®111111®¿11111111¿1111111¿1¿¿1¿11¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®¬¬¬¬¬®®¬¬¬¬¬®¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11®1®1111®®®111111®1111111111¿1111¿¿¿1111¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬11®®®®®1¿11111111111¿¿1¿¿11¿¿¿11111¿11¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1¿®®¬®111®®®®®®11®®11111111111111111¿1111111111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬11®®®111®®®®®®11®11111111111111111111111111®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬®®¬¬¬¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11®®11®®®®®®®®®11®111111111111111111¿111¿11111111®®®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®111®®®®®®1®11111111¿111111111111111111111¿¿®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬®®®¬¬®¬¬¬®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®111®®®®®®¿1®®®®®®®®®®®11¿11111111111¿1111111111111¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬®¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®1111111111¿1111111111111¿1111111111¿®®®11111111111¿¿111¿1111111¿¿11¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®1111111111111111111111111111111111111111111111®®111111111¿111111¿¿11111¿¿¿¿®®®®®®®®®®®®®®®®®®®¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®¿11111111111111111111111¿111111111111111111111¿®1111111111111111¿111111¿¿¿11®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬®®¿¿11111¿111¿1111111111111111111111®®111111111¿111111111111¿¿¿¿¿®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¿111®®¿1111111111111111111111®111111111¿1111111111111111¿¿1®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®¬¬®®®®®®®¿11111®®¿1¿11111111111111111111®11¿11111111111111¿1111¿11¿11¿1®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®11111111111®®®¿1111¿®®®®¿11¿¿11111111111111111¿11¿1¿¿¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬®®®¿®®®®®®®®®®®®®1111111111111¿111111111¿1¿¿1¿11®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®1®®®®®®®®®®®®®111111111111¿¿11111111¿¿1¿11111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®¬¬®®®®®®®®111111111111¿1111111111¿1111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®®®®®®111111¿11111111111111¿¿¿1¿¿¿11®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬®®®®®®®®®¬®¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬1111111111111111111111¿¿1¿¿1¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬®¬®®®®®®®®®¬¬®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®111111111111111111111¿¿1¿¿1111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11¿¿11111111111111111¿111¿¿111®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®¬¬®¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1¿¿1111111111111¿¿111¿11¿11¿1¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®1¿11111111111111¿1¿¿¿1¿11¿¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬¬¬¬¬®®®®®®®®®®®®®®®®¬¬®¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®®®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¿1111111111111111¿¿¿¿1¿¿111¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®¬¬¬¬®®®®®®®®®®®®®®®®®®¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®®®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬®11111111111111111111111111111111111¿1¿¿1¿¿11¿1¿¿¿¿¿¿¿¿¿¿¿11¿¿¿1¿¿¿¿¿¿®®®®®®®®®®®®®®®®®®®®®®®®¿®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®®® quakespasm-0.93.0/Misc/fitzquake080sdl.txt 0000644 0000000 0000000 00000006763 11513277221 017062 0 ustar root root ================================================================================
Beta release of an SDL port of Fitzquake version 0.80, July 5, 2008
Author : Kristian Duske
Email Address : deceive.inveigle.obfuscate@gmail.com
Author's Homepage : http://www.kristianduske.com/fitzquake
Minimum SDL version : 1.2.10
This is a port of the Fitzquake engine to SDL. The main goal of this port is to
allow fitzquake to run on all major platforms. Currently there are builds for
Windows, Linux and Mac OS X.
To run this engine, you need to install the SDL and SDL_net library binaries. For
Linux, you should probably use the packages for your distribution which should be
available through your package manager of choice. The minimum SDL version you
need to run this is 1.2.10. On Windows, you can download the SDL and SDL_net dlls
from http://www.libsdl.org/. On Mac, the SDL framework is included in the
application bundle.
The Mac OS X version includes a simple launcher program.
Known issues:
- Mouse sensitivity is different than in the original Fitzquake (or vanilla Quake,
for that matter).
- Pasting from the clipboard does not work.
- It is not possible to switch the screen refresh rates from within the engine.
- On Linux, there are problems with the default sound sampling rate of 11025Hz.
This can be fixed by supplying -sndspeed 48000 on the commandline.
Changes since the March 7 beta:
- discard mouse movement while input is deactivated
- implement maps and mods commands using POSIX functions and added a POSIX wrapper
for Win32
- activate mouse input when binding a key, otherwise mouse keys cannot be bound
through the menu
- fixed shift key behaviour
- implemented TCP networking
- fixed fog command (use fmax instead of max in Fog_FogCommand_f)
- fixed bug that lead to the screen being set to minimum size when the sizedown
command is issued multiple times
- LSHIFT + ESC and circomflex always opens the console
- print everything to stdout
- and more...
ChangeLog:
----------
01/22/2008
- release mouse pointer when console is active.
- enable key repeats (doesn't work on OS X, test in Win32).c
01/23/2008
- implement Sys_SendKeyEvents
- disable mouse input when console is inactive using SDL_SetEventFilter
- move mouse input processing to main event loop
- add vid.mode to determine window mode
- fixed Sys_printf()
- enable key repeats when console is active only
- return 0 if any of the cl_bob vars is 0 in V_CalcBob
01/24/2008
- changed in_deactivate so that it does not always release the mouse cursor
- adapted all calls to in_activate and in_deactive, because they need to be called regardless of the current mode
- added platform dependent messagebox code for fatal errors on OS X and Windows
02/06/2008
- fixed numlock acting as caps lock issue
- fixed: input is not activated on map command (hopefull got them all this time)
- center window in windowed modes
2008/03/14
- discard mouse movement while input is deactivated
- implement maps and mods commands using POSIX functions and added a POSIX wrapper for Win32
- activate mouse input when binding a key, otherwise mouse keys cannot be bound through the menu
- fixed shift key behaviour
2008/06/3
- fixed numerous bugs in sdl_net.c
2008/06/4
- fixed fog command (use fmax instead of max in Fog_FogCommand_f)
- fixed bug that lead to the screen being set to minimum size when the sizedown command is issued multiple times
2008/07/4
- LSHIFT + ESC and circomflex always opens the console
2008/07/5
- print everything to stdout
quakespasm-0.93.0/Misc/QuakeSpasm_512.png 0000644 0000000 0000000 00000143665 12027635624 016543 0 ustar root root ‰PNG
IHDR ôxÔú IDATxÚì½yœeWußû[ûœs皺»ªGu·º5¢ !²À̘Ù8ãg<ãÇÆñ þ8q ácÇ/ö‹_‰c^ÀŽƒñ#˜`cl3 , $¤–z®î®î®éÞs‡sö^ï}æ{ouµººêv÷úÖç¨îXÏ:çì5ì5 ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ‚ ! BJ£Qßàå Þ
ày @øÀÿ™]n5›")A AöíœùaÇu^ç8Î^¿Õ™""Â7 |ôÐìÜ}"!aÊÿ™ ¾ ‘}]¥K¥ÑÆ,1ø£¾ß~HL@6€zv/$ð˜ñ ¯UPrÈ^ÝÑÎ࿬zÞ;;<{B$'â–ëöÌ