/* mga_ucode.h -- Matrox G200/G400 WARP engine microcode -*- linux-c -*- * Created: Thu Jan 11 21:20:43 2001 by gareth@valinux.com * * Copyright 1999 Matrox Graphics Inc. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * MATROX GRAPHICS INC., OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Kernel-based WARP engine management: * Gareth Hughes */ /* * WARP pipes are named according to the functions they perform, where: * * - T stands for computation of texture stage 0 * - T2 stands for computation of both texture stage 0 and texture stage 1 * - G stands for computation of triangle intensity (Gouraud interpolation) * - Z stands for computation of Z buffer interpolation * - S stands for computation of specular highlight * - A stands for computation of the alpha channel * - F stands for computation of vertex fog interpolation */ static unsigned char warp_g200_tgz[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x72, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x60, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x03, 0x80, 0x0A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x3C, 0x27, 0x4F, 0xE9, 0x57, 0x39, 0x20, 0xE9, 0x28, 0x19, 0x60, 0xEC, 0x2B, 0x32, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0xB3, 0x05, 0x00, 0xE0, 0x16, 0x28, 0x20, 0xE9, 0x23, 0x3B, 0x33, 0xAD, 0x1E, 0x2B, 0x20, 0xE9, 0x1C, 0x80, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x85, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x84, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x82, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x7F, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgza[] = { 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x7D, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x6B, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2D, 0x44, 0x4C, 0xB6, 0x25, 0x44, 0x54, 0xB6, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x2D, 0x20, 0x25, 0x20, 0x07, 0xC0, 0x44, 0xC6, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x3C, 0x27, 0x4F, 0xE9, 0x1F, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x3F, 0x3D, 0x5D, 0x9F, 0x00, 0xE0, 0x07, 0x20, 0x00, 0x80, 0x00, 0xE8, 0x28, 0x19, 0x60, 0xEC, 0xB3, 0x05, 0x00, 0xE0, 0x00, 0x80, 0x00, 0xE8, 0x23, 0x3B, 0x33, 0xAD, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0x26, 0x1F, 0xDF, 0x9D, 0x1F, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x9E, 0x3F, 0x4F, 0xE9, 0x07, 0x07, 0x1F, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x9C, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x7A, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x79, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x77, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x74, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzaf[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x83, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x6F, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0D, 0x21, 0x1A, 0xB6, 0x05, 0x21, 0x31, 0xB6, 0x2D, 0x44, 0x4C, 0xB6, 0x25, 0x44, 0x54, 0xB6, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x0D, 0x20, 0x05, 0x20, 0x2F, 0xC0, 0x21, 0xC6, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x3C, 0x27, 0x4F, 0xE9, 0x00, 0xE0, 0x25, 0x20, 0x07, 0xC0, 0x44, 0xC6, 0x17, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x2D, 0x20, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x1F, 0x62, 0x57, 0x9F, 0x00, 0xE0, 0x07, 0x20, 0x3F, 0x3D, 0x5D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x28, 0x19, 0x60, 0xEC, 0xB3, 0x05, 0x00, 0xE0, 0x17, 0x26, 0x17, 0xDF, 0x23, 0x3B, 0x33, 0xAD, 0x35, 0x17, 0x4F, 0xE9, 0x1F, 0x26, 0x1F, 0xDF, 0x9D, 0x1F, 0x4F, 0xE9, 0x9E, 0x3F, 0x4F, 0xE9, 0x39, 0x37, 0x4F, 0xE9, 0x2F, 0x2F, 0x17, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0x07, 0x07, 0x1F, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0x31, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x9C, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x74, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x73, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x71, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x6E, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzf[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x7F, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x6B, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0D, 0x21, 0x1A, 0xB6, 0x05, 0x21, 0x31, 0xB6, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x0D, 0x20, 0x05, 0x20, 0x2F, 0xC0, 0x21, 0xC6, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x3C, 0x27, 0x4F, 0xE9, 0x17, 0x50, 0x56, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x00, 0x80, 0x00, 0xE8, 0x28, 0x19, 0x60, 0xEC, 0xB3, 0x05, 0x00, 0xE0, 0x00, 0x80, 0x00, 0xE8, 0x23, 0x3B, 0x33, 0xAD, 0x00, 0x80, 0x00, 0xE8, 0x17, 0x26, 0x17, 0xDF, 0x35, 0x17, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x39, 0x37, 0x4F, 0xE9, 0x2F, 0x2F, 0x17, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x31, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x78, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x77, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x75, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x72, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzs[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x8B, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x77, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2D, 0x21, 0x1A, 0xB0, 0x25, 0x21, 0x31, 0xB0, 0x0D, 0x21, 0x1A, 0xB2, 0x05, 0x21, 0x31, 0xB2, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x2D, 0x20, 0x25, 0x20, 0x05, 0x20, 0x0D, 0x20, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x2F, 0xC0, 0x21, 0xC0, 0x16, 0x42, 0x56, 0x9F, 0x3C, 0x27, 0x4F, 0xE9, 0x1E, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x21, 0x31, 0xB4, 0x2D, 0x21, 0x1A, 0xB4, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x33, 0x05, 0x00, 0xE0, 0x28, 0x19, 0x60, 0xEC, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x23, 0x3B, 0x33, 0xAD, 0x1E, 0x26, 0x1E, 0xDF, 0xA7, 0x1E, 0x4F, 0xE9, 0x17, 0x26, 0x16, 0xDF, 0x2D, 0x20, 0x00, 0xE0, 0xA8, 0x3F, 0x4F, 0xE9, 0x2F, 0x2F, 0x1E, 0xAF, 0x25, 0x20, 0x00, 0xE0, 0xA4, 0x16, 0x4F, 0xE9, 0x0F, 0xC0, 0x21, 0xC2, 0xA6, 0x80, 0x4F, 0xE9, 0x1F, 0x62, 0x57, 0x9F, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0xE0, 0x8F, 0x20, 0xA5, 0x37, 0x4F, 0xE9, 0x0F, 0x17, 0x0F, 0xAF, 0x06, 0xC0, 0x21, 0xC4, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA3, 0x80, 0x4F, 0xE9, 0x06, 0x20, 0x00, 0xE0, 0x1F, 0x26, 0x1F, 0xDF, 0xA1, 0x1F, 0x4F, 0xE9, 0xA2, 0x3F, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x06, 0x06, 0x1F, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x6C, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x6B, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x69, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x66, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzsa[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x8F, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x7B, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2D, 0x21, 0x1A, 0xB0, 0x25, 0x21, 0x31, 0xB0, 0x0D, 0x21, 0x1A, 0xB2, 0x05, 0x21, 0x31, 0xB2, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x2D, 0x20, 0x25, 0x20, 0x05, 0x20, 0x0D, 0x20, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x2F, 0xC0, 0x21, 0xC0, 0x16, 0x42, 0x56, 0x9F, 0x3C, 0x27, 0x4F, 0xE9, 0x1E, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x21, 0x31, 0xB4, 0x2D, 0x21, 0x1A, 0xB4, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x33, 0x05, 0x00, 0xE0, 0x28, 0x19, 0x60, 0xEC, 0x0D, 0x44, 0x4C, 0xB6, 0x05, 0x44, 0x54, 0xB6, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x23, 0x3B, 0x33, 0xAD, 0x1E, 0x26, 0x1E, 0xDF, 0xA7, 0x1E, 0x4F, 0xE9, 0x17, 0x26, 0x16, 0xDF, 0x2D, 0x20, 0x00, 0xE0, 0xA8, 0x3F, 0x4F, 0xE9, 0x2F, 0x2F, 0x1E, 0xAF, 0x25, 0x20, 0x00, 0xE0, 0xA4, 0x16, 0x4F, 0xE9, 0x0F, 0xC0, 0x21, 0xC2, 0xA6, 0x80, 0x4F, 0xE9, 0x1F, 0x62, 0x57, 0x9F, 0x0D, 0x20, 0x05, 0x20, 0x00, 0x80, 0x00, 0xE8, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0xE0, 0x0F, 0x20, 0x17, 0x50, 0x56, 0x9F, 0xA5, 0x37, 0x4F, 0xE9, 0x06, 0xC0, 0x21, 0xC4, 0x0F, 0x17, 0x0F, 0xAF, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x2F, 0xC0, 0x44, 0xC6, 0xA3, 0x80, 0x4F, 0xE9, 0x06, 0x20, 0x00, 0xE0, 0x1F, 0x26, 0x1F, 0xDF, 0x17, 0x26, 0x17, 0xDF, 0x9D, 0x17, 0x4F, 0xE9, 0xA1, 0x1F, 0x4F, 0xE9, 0xA2, 0x3F, 0x4F, 0xE9, 0x06, 0x06, 0x1F, 0xAF, 0x00, 0xE0, 0xAF, 0x20, 0x9E, 0x37, 0x4F, 0xE9, 0x2F, 0x17, 0x2F, 0xAF, 0xA0, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x9C, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x68, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x67, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x65, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x62, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzsaf[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x94, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x80, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2D, 0x21, 0x1A, 0xB0, 0x25, 0x21, 0x31, 0xB0, 0x0D, 0x21, 0x1A, 0xB2, 0x05, 0x21, 0x31, 0xB2, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x2D, 0x20, 0x25, 0x20, 0x05, 0x20, 0x0D, 0x20, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x2F, 0xC0, 0x21, 0xC0, 0x16, 0x42, 0x56, 0x9F, 0x3C, 0x27, 0x4F, 0xE9, 0x1E, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x21, 0x31, 0xB4, 0x2D, 0x21, 0x1A, 0xB4, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x33, 0x05, 0x00, 0xE0, 0x28, 0x19, 0x60, 0xEC, 0x0D, 0x21, 0x1A, 0xB6, 0x05, 0x21, 0x31, 0xB6, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x23, 0x3B, 0x33, 0xAD, 0x1E, 0x26, 0x1E, 0xDF, 0xA7, 0x1E, 0x4F, 0xE9, 0x17, 0x26, 0x16, 0xDF, 0x2D, 0x20, 0x00, 0xE0, 0xA8, 0x3F, 0x4F, 0xE9, 0x2F, 0x2F, 0x1E, 0xAF, 0x25, 0x20, 0x00, 0xE0, 0xA4, 0x16, 0x4F, 0xE9, 0x0F, 0xC0, 0x21, 0xC2, 0xA6, 0x80, 0x4F, 0xE9, 0x1F, 0x62, 0x57, 0x9F, 0x0D, 0x20, 0x05, 0x20, 0x2F, 0xC0, 0x21, 0xC6, 0x2D, 0x44, 0x4C, 0xB6, 0x25, 0x44, 0x54, 0xB6, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0xE0, 0x0F, 0x20, 0x2D, 0x20, 0x25, 0x20, 0x07, 0xC0, 0x44, 0xC6, 0x17, 0x50, 0x56, 0x9F, 0xA5, 0x37, 0x4F, 0xE9, 0x06, 0xC0, 0x21, 0xC4, 0x0F, 0x17, 0x0F, 0xAF, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x1E, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x3E, 0x3D, 0x5D, 0x9F, 0x00, 0xE0, 0x07, 0x20, 0x2F, 0x20, 0x00, 0xE0, 0xA3, 0x0F, 0x4F, 0xE9, 0x06, 0x20, 0x00, 0xE0, 0x1F, 0x26, 0x1F, 0xDF, 0x17, 0x26, 0x17, 0xDF, 0xA1, 0x1F, 0x4F, 0xE9, 0x1E, 0x26, 0x1E, 0xDF, 0x9D, 0x1E, 0x4F, 0xE9, 0x35, 0x17, 0x4F, 0xE9, 0xA2, 0x3F, 0x4F, 0xE9, 0x06, 0x06, 0x1F, 0xAF, 0x39, 0x37, 0x4F, 0xE9, 0x2F, 0x2F, 0x17, 0xAF, 0x07, 0x07, 0x1E, 0xAF, 0xA0, 0x80, 0x4F, 0xE9, 0x9E, 0x3E, 0x4F, 0xE9, 0x31, 0x80, 0x4F, 0xE9, 0x9C, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x63, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x62, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x60, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x5D, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g200_tgzsf[] = { 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x98, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x81, 0x04, 0x89, 0x04, 0x01, 0x04, 0x09, 0x04, 0xC9, 0x41, 0xC0, 0xEC, 0x11, 0x04, 0x00, 0xE0, 0x41, 0xCC, 0x41, 0xCD, 0x49, 0xCC, 0x49, 0xCD, 0xD1, 0x41, 0xC0, 0xEC, 0x51, 0xCC, 0x51, 0xCD, 0x80, 0x04, 0x10, 0x04, 0x08, 0x04, 0x00, 0xE0, 0x00, 0xCC, 0xC0, 0xCD, 0xD1, 0x49, 0xC0, 0xEC, 0x8A, 0x1F, 0x20, 0xE9, 0x8B, 0x3F, 0x20, 0xE9, 0x41, 0x3C, 0x41, 0xAD, 0x49, 0x3C, 0x49, 0xAD, 0x10, 0xCC, 0x10, 0xCD, 0x08, 0xCC, 0x08, 0xCD, 0xB9, 0x41, 0x49, 0xBB, 0x1F, 0xF0, 0x41, 0xCD, 0x51, 0x3C, 0x51, 0xAD, 0x00, 0x98, 0x80, 0xE9, 0x8F, 0x80, 0x07, 0xEA, 0x24, 0x1F, 0x20, 0xE9, 0x21, 0x45, 0x80, 0xE8, 0x1A, 0x4D, 0x80, 0xE8, 0x31, 0x55, 0x80, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x15, 0x41, 0x49, 0xBD, 0x1D, 0x41, 0x51, 0xBD, 0x2E, 0x41, 0x2A, 0xB8, 0x34, 0x53, 0xA0, 0xE8, 0x15, 0x30, 0x1D, 0x30, 0x58, 0xE3, 0x00, 0xE0, 0xB5, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x24, 0x43, 0xA0, 0xE8, 0x2C, 0x4B, 0xA0, 0xE8, 0x15, 0x72, 0x09, 0xE3, 0x00, 0xE0, 0x1D, 0x72, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0x97, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x6C, 0x64, 0xC8, 0xEC, 0x98, 0xE1, 0xB5, 0x05, 0xBD, 0x05, 0x2E, 0x30, 0x32, 0xC0, 0xA0, 0xE8, 0x33, 0xC0, 0xA0, 0xE8, 0x74, 0x64, 0xC8, 0xEC, 0x40, 0x3C, 0x40, 0xAD, 0x32, 0x6A, 0x2A, 0x30, 0x20, 0x73, 0x33, 0x6A, 0x00, 0xE0, 0x28, 0x73, 0x1C, 0x72, 0x83, 0xE2, 0x7B, 0x80, 0x15, 0xEA, 0xB8, 0x3D, 0x28, 0xDF, 0x30, 0x35, 0x20, 0xDF, 0x40, 0x30, 0x00, 0xE0, 0xCC, 0xE2, 0x64, 0x72, 0x25, 0x42, 0x52, 0xBF, 0x2D, 0x42, 0x4A, 0xBF, 0x30, 0x2E, 0x30, 0xDF, 0x38, 0x2E, 0x38, 0xDF, 0x18, 0x1D, 0x45, 0xE9, 0x1E, 0x15, 0x45, 0xE9, 0x2B, 0x49, 0x51, 0xBD, 0x00, 0xE0, 0x1F, 0x73, 0x38, 0x38, 0x40, 0xAF, 0x30, 0x30, 0x40, 0xAF, 0x24, 0x1F, 0x24, 0xDF, 0x1D, 0x32, 0x20, 0xE9, 0x2C, 0x1F, 0x2C, 0xDF, 0x1A, 0x33, 0x20, 0xE9, 0xB0, 0x10, 0x08, 0xE3, 0x40, 0x10, 0xB8, 0x10, 0x26, 0xF0, 0x30, 0xCD, 0x2F, 0xF0, 0x38, 0xCD, 0x2B, 0x80, 0x20, 0xE9, 0x2A, 0x80, 0x20, 0xE9, 0xA6, 0x20, 0x88, 0xE2, 0x00, 0xE0, 0xAF, 0x20, 0x28, 0x2A, 0x26, 0xAF, 0x20, 0x2A, 0xC0, 0xAF, 0x34, 0x1F, 0x34, 0xDF, 0x46, 0x24, 0x46, 0xDF, 0x28, 0x30, 0x80, 0xBF, 0x20, 0x38, 0x80, 0xBF, 0x47, 0x24, 0x47, 0xDF, 0x4E, 0x2C, 0x4E, 0xDF, 0x4F, 0x2C, 0x4F, 0xDF, 0x56, 0x34, 0x56, 0xDF, 0x28, 0x15, 0x28, 0xDF, 0x20, 0x1D, 0x20, 0xDF, 0x57, 0x34, 0x57, 0xDF, 0x00, 0xE0, 0x1D, 0x05, 0x04, 0x80, 0x10, 0xEA, 0x89, 0xE2, 0x2B, 0x30, 0x3F, 0xC1, 0x1D, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x68, 0xBF, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x20, 0xC0, 0x20, 0xAF, 0x28, 0x05, 0x97, 0x74, 0x00, 0xE0, 0x2A, 0x10, 0x16, 0xC0, 0x20, 0xE9, 0x04, 0x80, 0x10, 0xEA, 0x8C, 0xE2, 0x95, 0x05, 0x28, 0xC1, 0x28, 0xAD, 0x1F, 0xC1, 0x15, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xA8, 0x67, 0x9F, 0x6B, 0x00, 0x80, 0x00, 0xE8, 0x28, 0xC0, 0x28, 0xAD, 0x1D, 0x25, 0x20, 0x05, 0x28, 0x32, 0x80, 0xAD, 0x40, 0x2A, 0x40, 0xBD, 0x1C, 0x80, 0x20, 0xE9, 0x20, 0x33, 0x20, 0xAD, 0x20, 0x73, 0x00, 0xE0, 0xB6, 0x49, 0x51, 0xBB, 0x26, 0x2F, 0xB0, 0xE8, 0x19, 0x20, 0x20, 0xE9, 0x35, 0x20, 0x35, 0xDF, 0x3D, 0x20, 0x3D, 0xDF, 0x15, 0x20, 0x15, 0xDF, 0x1D, 0x20, 0x1D, 0xDF, 0x26, 0xD0, 0x26, 0xCD, 0x29, 0x49, 0x2A, 0xB8, 0x26, 0x40, 0x80, 0xBD, 0x3B, 0x48, 0x50, 0xBD, 0x3E, 0x54, 0x57, 0x9F, 0x00, 0xE0, 0x82, 0xE1, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x26, 0x30, 0x29, 0x30, 0x48, 0x3C, 0x48, 0xAD, 0x2B, 0x72, 0xC2, 0xE1, 0x2C, 0xC0, 0x44, 0xC2, 0x05, 0x24, 0x34, 0xBF, 0x0D, 0x24, 0x2C, 0xBF, 0x2D, 0x46, 0x4E, 0xBF, 0x25, 0x46, 0x56, 0xBF, 0x20, 0x1D, 0x6F, 0x8F, 0x32, 0x3E, 0x5F, 0xE9, 0x3E, 0x50, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x30, 0x1E, 0x8F, 0x51, 0x9F, 0x33, 0x1E, 0x5F, 0xE9, 0x05, 0x44, 0x54, 0xB2, 0x0D, 0x44, 0x4C, 0xB2, 0x19, 0xC0, 0xB0, 0xE8, 0x34, 0xC0, 0x44, 0xC4, 0x33, 0x73, 0x00, 0xE0, 0x3E, 0x62, 0x57, 0x9F, 0x1E, 0xAF, 0x59, 0x9F, 0x00, 0xE0, 0x0D, 0x20, 0x84, 0x3E, 0x58, 0xE9, 0x28, 0x1D, 0x6F, 0x8F, 0x05, 0x20, 0x00, 0xE0, 0x85, 0x1E, 0x58, 0xE9, 0x9B, 0x3B, 0x33, 0xDF, 0x20, 0x20, 0x42, 0xAF, 0x30, 0x42, 0x56, 0x9F, 0x80, 0x3E, 0x57, 0xE9, 0x3F, 0x8F, 0x51, 0x9F, 0x30, 0x80, 0x5F, 0xE9, 0x28, 0x28, 0x24, 0xAF, 0x81, 0x1E, 0x57, 0xE9, 0x05, 0x47, 0x57, 0xBF, 0x0D, 0x47, 0x4F, 0xBF, 0x88, 0x80, 0x58, 0xE9, 0x1B, 0x29, 0x1B, 0xDF, 0x30, 0x1D, 0x6F, 0x8F, 0x3A, 0x30, 0x4F, 0xE9, 0x1C, 0x30, 0x26, 0xDF, 0x09, 0xE3, 0x3B, 0x05, 0x3E, 0x50, 0x56, 0x9F, 0x3B, 0x3F, 0x4F, 0xE9, 0x1E, 0x8F, 0x51, 0x9F, 0x00, 0xE0, 0xAC, 0x20, 0x2D, 0x44, 0x4C, 0xB4, 0x2C, 0x1C, 0xC0, 0xAF, 0x25, 0x44, 0x54, 0xB4, 0x00, 0xE0, 0xC8, 0x30, 0x30, 0x46, 0x30, 0xAF, 0x1B, 0x1B, 0x48, 0xAF, 0x00, 0xE0, 0x25, 0x20, 0x38, 0x2C, 0x4F, 0xE9, 0x86, 0x80, 0x57, 0xE9, 0x38, 0x1D, 0x6F, 0x8F, 0x28, 0x74, 0x00, 0xE0, 0x0D, 0x44, 0x4C, 0xB0, 0x05, 0x44, 0x54, 0xB0, 0x2D, 0x20, 0x9B, 0x10, 0x82, 0x3E, 0x57, 0xE9, 0x32, 0xF0, 0x1B, 0xCD, 0x1E, 0xBD, 0x59, 0x9F, 0x83, 0x1E, 0x57, 0xE9, 0x38, 0x47, 0x38, 0xAF, 0x34, 0x20, 0x2A, 0x30, 0x00, 0xE0, 0x0D, 0x20, 0x32, 0x20, 0x05, 0x20, 0x87, 0x80, 0x57, 0xE9, 0x1F, 0x54, 0x57, 0x9F, 0x17, 0x42, 0x56, 0x9F, 0x00, 0xE0, 0x3B, 0x6A, 0x3F, 0x8F, 0x51, 0x9F, 0x37, 0x1E, 0x4F, 0xE9, 0x37, 0x32, 0x2A, 0xAF, 0x00, 0xE0, 0x32, 0x00, 0x00, 0x80, 0x00, 0xE8, 0x27, 0xC0, 0x44, 0xC0, 0x36, 0x1F, 0x4F, 0xE9, 0x1F, 0x1F, 0x26, 0xDF, 0x37, 0x1B, 0x37, 0xBF, 0x17, 0x26, 0x17, 0xDF, 0x3E, 0x17, 0x4F, 0xE9, 0x3F, 0x3F, 0x4F, 0xE9, 0x34, 0x1F, 0x34, 0xAF, 0x2B, 0x05, 0xA7, 0x20, 0x33, 0x2B, 0x37, 0xDF, 0x27, 0x17, 0xC0, 0xAF, 0x34, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2D, 0x21, 0x1A, 0xB0, 0x25, 0x21, 0x31, 0xB0, 0x0D, 0x21, 0x1A, 0xB2, 0x05, 0x21, 0x31, 0xB2, 0x03, 0x80, 0x2A, 0xEA, 0x17, 0xC1, 0x2B, 0xBD, 0x2D, 0x20, 0x25, 0x20, 0x05, 0x20, 0x0D, 0x20, 0xB3, 0x68, 0x97, 0x25, 0x00, 0x80, 0x00, 0xE8, 0x33, 0xC0, 0x33, 0xAF, 0x2F, 0xC0, 0x21, 0xC0, 0x16, 0x42, 0x56, 0x9F, 0x3C, 0x27, 0x4F, 0xE9, 0x1E, 0x62, 0x57, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x21, 0x31, 0xB4, 0x2D, 0x21, 0x1A, 0xB4, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x33, 0x05, 0x00, 0xE0, 0x28, 0x19, 0x60, 0xEC, 0x0D, 0x21, 0x1A, 0xB6, 0x05, 0x21, 0x31, 0xB6, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0xE0, 0x2F, 0x20, 0x23, 0x3B, 0x33, 0xAD, 0x1E, 0x26, 0x1E, 0xDF, 0xA7, 0x1E, 0x4F, 0xE9, 0x17, 0x26, 0x16, 0xDF, 0x2D, 0x20, 0x00, 0xE0, 0xA8, 0x3F, 0x4F, 0xE9, 0x2F, 0x2F, 0x1E, 0xAF, 0x25, 0x20, 0x00, 0xE0, 0xA4, 0x16, 0x4F, 0xE9, 0x0F, 0xC0, 0x21, 0xC2, 0xA6, 0x80, 0x4F, 0xE9, 0x1F, 0x62, 0x57, 0x9F, 0x0D, 0x20, 0x05, 0x20, 0x2F, 0xC0, 0x21, 0xC6, 0x3F, 0x2F, 0x5D, 0x9F, 0x00, 0xE0, 0x0F, 0x20, 0x17, 0x50, 0x56, 0x9F, 0xA5, 0x37, 0x4F, 0xE9, 0x06, 0xC0, 0x21, 0xC4, 0x0F, 0x17, 0x0F, 0xAF, 0x37, 0x0F, 0x5C, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x2F, 0x20, 0x00, 0xE0, 0xA3, 0x80, 0x4F, 0xE9, 0x06, 0x20, 0x00, 0xE0, 0x1F, 0x26, 0x1F, 0xDF, 0x17, 0x26, 0x17, 0xDF, 0x35, 0x17, 0x4F, 0xE9, 0xA1, 0x1F, 0x4F, 0xE9, 0xA2, 0x3F, 0x4F, 0xE9, 0x06, 0x06, 0x1F, 0xAF, 0x39, 0x37, 0x4F, 0xE9, 0x2F, 0x2F, 0x17, 0xAF, 0x00, 0x80, 0x00, 0xE8, 0xA0, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x31, 0x80, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x57, 0x39, 0x20, 0xE9, 0x16, 0x28, 0x20, 0xE9, 0x1D, 0x3B, 0x20, 0xE9, 0x1E, 0x2B, 0x20, 0xE9, 0x2B, 0x32, 0x20, 0xE9, 0x1C, 0x23, 0x20, 0xE9, 0x57, 0x36, 0x20, 0xE9, 0x00, 0x80, 0xA0, 0xE9, 0x40, 0x40, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x90, 0xE2, 0x00, 0xE0, 0x68, 0xFF, 0x20, 0xEA, 0x19, 0xC8, 0xC1, 0xCD, 0x1F, 0xD7, 0x18, 0xBD, 0x3F, 0xD7, 0x22, 0xBD, 0x9F, 0x41, 0x49, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x41, 0x49, 0xBD, 0x2D, 0x41, 0x51, 0xBD, 0x0D, 0x80, 0x07, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x35, 0x40, 0x48, 0xBD, 0x3D, 0x40, 0x50, 0xBD, 0x00, 0x80, 0x00, 0xE8, 0x25, 0x30, 0x2D, 0x30, 0x35, 0x30, 0xB5, 0x30, 0xBD, 0x30, 0x3D, 0x30, 0x9C, 0xA7, 0x5B, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x67, 0xFF, 0x0A, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0xC9, 0x41, 0xC8, 0xEC, 0x42, 0xE1, 0x00, 0xE0, 0x65, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0xC8, 0x40, 0xC0, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x62, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0x00, 0xE8, }; static unsigned char warp_g400_t2gz[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x78, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x69, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x3D, 0xCF, 0x74, 0xC0, 0x37, 0xCF, 0x74, 0xC4, 0x31, 0x53, 0x2F, 0x9F, 0x34, 0x80, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3C, 0x3D, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x25, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x3D, 0xCF, 0x74, 0xC2, 0x2A, 0x20, 0x1A, 0x20, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x2A, 0x44, 0x54, 0xB4, 0x1A, 0x44, 0x64, 0xB4, 0x39, 0xE5, 0x2C, 0x9F, 0x38, 0x3D, 0x20, 0xE9, 0x88, 0x73, 0x5E, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x36, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x37, 0x39, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x9F, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0x56, 0x33, 0x56, 0xCF, 0x67, 0x3B, 0x67, 0xCF, 0x0B, 0x48, 0xA0, 0xE8, 0x1B, 0x58, 0xA0, 0xE8, 0x2B, 0x68, 0xA0, 0xE8, 0x0C, 0x49, 0xA0, 0xE8, 0x1C, 0x59, 0xA0, 0xE8, 0x2C, 0x69, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x34, 0xD7, 0x34, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3C, 0xD7, 0x3C, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x34, 0x80, 0x34, 0xBD, 0x3C, 0x80, 0x3C, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x48, 0x80, 0x48, 0xCF, 0x59, 0x80, 0x59, 0xCF, 0x68, 0x33, 0x68, 0xCF, 0x49, 0x3B, 0x49, 0xCF, 0xBE, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x58, 0x33, 0x58, 0xCF, 0x69, 0x3B, 0x69, 0xCF, 0x7D, 0xFF, 0x20, 0xEA, 0x57, 0xC0, 0xBF, 0xEA, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, }; static unsigned char warp_g400_t2gza[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x7C, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x6D, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x3D, 0xCF, 0x74, 0xC0, 0x37, 0xCF, 0x74, 0xC4, 0x31, 0x53, 0x2F, 0x9F, 0x34, 0x80, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3C, 0x3D, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x29, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x0F, 0xCF, 0x74, 0xC6, 0x3D, 0xCF, 0x74, 0xC2, 0x88, 0x73, 0x5E, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x9C, 0x0F, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB4, 0x02, 0x44, 0x64, 0xB4, 0x2A, 0x44, 0x54, 0xB6, 0x1A, 0x44, 0x64, 0xB6, 0x39, 0xE5, 0x2C, 0x9F, 0x38, 0x3D, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x2A, 0x20, 0x1A, 0x20, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x36, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x37, 0x38, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x9D, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x9E, 0x39, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x9B, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0x56, 0x33, 0x56, 0xCF, 0x67, 0x3B, 0x67, 0xCF, 0x0B, 0x48, 0xA0, 0xE8, 0x1B, 0x58, 0xA0, 0xE8, 0x2B, 0x68, 0xA0, 0xE8, 0x0C, 0x49, 0xA0, 0xE8, 0x1C, 0x59, 0xA0, 0xE8, 0x2C, 0x69, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x34, 0xD7, 0x34, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3C, 0xD7, 0x3C, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x34, 0x80, 0x34, 0xBD, 0x3C, 0x80, 0x3C, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x48, 0x80, 0x48, 0xCF, 0x59, 0x80, 0x59, 0xCF, 0x68, 0x33, 0x68, 0xCF, 0x49, 0x3B, 0x49, 0xCF, 0xBA, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x58, 0x33, 0x58, 0xCF, 0x69, 0x3B, 0x69, 0xCF, 0x79, 0xFF, 0x20, 0xEA, 0x57, 0xC0, 0xBF, 0xEA, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, }; static unsigned char warp_g400_t2gzaf[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x81, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x72, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x3D, 0xCF, 0x74, 0xC0, 0x37, 0xCF, 0x74, 0xC4, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x31, 0x53, 0x2F, 0x9F, 0x34, 0x37, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3C, 0x3D, 0x20, 0xE9, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x2E, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x88, 0x73, 0x5E, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0x3D, 0xCF, 0x74, 0xC2, 0x0F, 0xCF, 0x74, 0xC6, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x9C, 0x0F, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB4, 0x02, 0x44, 0x64, 0xB4, 0x2A, 0x44, 0x54, 0xB6, 0x1A, 0x44, 0x64, 0xB6, 0x39, 0xE5, 0x2C, 0x9F, 0x38, 0x3D, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x2A, 0x20, 0x1A, 0x20, 0x3D, 0xCF, 0x75, 0xC6, 0x00, 0x80, 0x00, 0xE8, 0x30, 0x50, 0x2E, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x0A, 0x45, 0x55, 0xB6, 0x02, 0x45, 0x65, 0xB6, 0x31, 0x53, 0x2F, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x31, 0x3D, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x36, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x37, 0x38, 0x4F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x9D, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x9E, 0x39, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x35, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x39, 0x38, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x96, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0x56, 0x33, 0x56, 0xCF, 0x67, 0x3B, 0x67, 0xCF, 0x0B, 0x48, 0xA0, 0xE8, 0x1B, 0x58, 0xA0, 0xE8, 0x2B, 0x68, 0xA0, 0xE8, 0x0C, 0x49, 0xA0, 0xE8, 0x1C, 0x59, 0xA0, 0xE8, 0x2C, 0x69, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x34, 0xD7, 0x34, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3C, 0xD7, 0x3C, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x34, 0x80, 0x34, 0xBD, 0x3C, 0x80, 0x3C, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x48, 0x80, 0x48, 0xCF, 0x59, 0x80, 0x59, 0xCF, 0x68, 0x33, 0x68, 0xCF, 0x49, 0x3B, 0x49, 0xCF, 0xB5, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x58, 0x33, 0x58, 0xCF, 0x69, 0x3B, 0x69, 0xCF, 0x74, 0xFF, 0x20, 0xEA, 0x57, 0xC0, 0xBF, 0xEA, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, }; static unsigned char warp_g400_t2gzf[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x7D, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x6E, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x3D, 0xCF, 0x74, 0xC0, 0x37, 0xCF, 0x74, 0xC4, 0x39, 0xE5, 0x2C, 0x9F, 0x34, 0x80, 0x20, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x88, 0x73, 0x5E, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0F, 0xCF, 0x75, 0xC6, 0x3C, 0x3D, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x28, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x3D, 0xCF, 0x74, 0xC2, 0x2A, 0x20, 0x1A, 0x20, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x31, 0x0F, 0x20, 0xE9, 0x0A, 0x44, 0x54, 0xB4, 0x02, 0x44, 0x64, 0xB4, 0x2A, 0x45, 0x55, 0xB6, 0x1A, 0x45, 0x65, 0xB6, 0x39, 0xE5, 0x2C, 0x9F, 0x38, 0x3D, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x2A, 0x20, 0x1A, 0x20, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x36, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x37, 0x38, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x35, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x39, 0x39, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x9A, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0x56, 0x33, 0x56, 0xCF, 0x67, 0x3B, 0x67, 0xCF, 0x0B, 0x48, 0xA0, 0xE8, 0x1B, 0x58, 0xA0, 0xE8, 0x2B, 0x68, 0xA0, 0xE8, 0x0C, 0x49, 0xA0, 0xE8, 0x1C, 0x59, 0xA0, 0xE8, 0x2C, 0x69, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x34, 0xD7, 0x34, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3C, 0xD7, 0x3C, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x34, 0x80, 0x34, 0xBD, 0x3C, 0x80, 0x3C, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x48, 0x80, 0x48, 0xCF, 0x59, 0x80, 0x59, 0xCF, 0x68, 0x33, 0x68, 0xCF, 0x49, 0x3B, 0x49, 0xCF, 0xBB, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x58, 0x33, 0x58, 0xCF, 0x69, 0x3B, 0x69, 0xCF, 0x78, 0xFF, 0x20, 0xEA, 0x57, 0xC0, 0xBF, 0xEA, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, }; static unsigned char warp_g400_t2gzs[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x85, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x76, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x0F, 0xCF, 0x74, 0xC2, 0x37, 0xCF, 0x74, 0xC4, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x3D, 0xCF, 0x74, 0xC0, 0x34, 0x37, 0x20, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x38, 0x0F, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3C, 0x3D, 0x20, 0xE9, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x31, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x0F, 0xCF, 0x75, 0xC0, 0x2A, 0x20, 0x1A, 0x20, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x3D, 0xCF, 0x75, 0xC2, 0x37, 0xCF, 0x75, 0xC4, 0x31, 0x53, 0x2F, 0x9F, 0xA6, 0x0F, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA3, 0x3D, 0x20, 0xE9, 0x2A, 0x44, 0x54, 0xB4, 0x1A, 0x44, 0x64, 0xB4, 0x0A, 0x45, 0x55, 0xB0, 0x02, 0x45, 0x65, 0xB0, 0x88, 0x73, 0x5E, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0xA0, 0x37, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x31, 0x53, 0x2F, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x30, 0x50, 0x2E, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x2A, 0x45, 0x55, 0xB2, 0x1A, 0x45, 0x65, 0xB2, 0x0A, 0x45, 0x55, 0xB4, 0x02, 0x45, 0x65, 0xB4, 0x38, 0x21, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0x0A, 0x20, 0x02, 0x20, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x36, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x37, 0x39, 0x4F, 0xE9, 0x30, 0x50, 0x2E, 0x9F, 0xA7, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0xA8, 0x38, 0x4F, 0xE9, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0xA4, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA5, 0x39, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0xA1, 0x30, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0xA2, 0x38, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x92, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0x56, 0x33, 0x56, 0xCF, 0x67, 0x3B, 0x67, 0xCF, 0x0B, 0x48, 0xA0, 0xE8, 0x1B, 0x58, 0xA0, 0xE8, 0x2B, 0x68, 0xA0, 0xE8, 0x0C, 0x49, 0xA0, 0xE8, 0x1C, 0x59, 0xA0, 0xE8, 0x2C, 0x69, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x34, 0xD7, 0x34, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3C, 0xD7, 0x3C, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x34, 0x80, 0x34, 0xBD, 0x3C, 0x80, 0x3C, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x48, 0x80, 0x48, 0xCF, 0x59, 0x80, 0x59, 0xCF, 0x68, 0x33, 0x68, 0xCF, 0x49, 0x3B, 0x49, 0xCF, 0xB2, 0xFF, 0x20, 0xEA, 0x00, 0x80, 0x00, 0xE8, 0x58, 0x33, 0x58, 0xCF, 0x69, 0x3B, 0x69, 0xCF, 0x70, 0xFF, 0x20, 0xEA, 0x57, 0xC0, 0xBF, 0xEA, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, }; static unsigned char warp_g400_t2gzsa[] = { 0x00, 0x8A, 0x98, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x00, 0x80, 0xA0, 0xE9, 0x00, 0x00, 0xD8, 0xEC, 0xFF, 0x80, 0xC0, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x0A, 0x40, 0x50, 0xBF, 0x2A, 0x40, 0x60, 0xBF, 0x32, 0x41, 0x51, 0xBF, 0x3A, 0x41, 0x61, 0xBF, 0xC3, 0x6B, 0xD3, 0x6B, 0x00, 0x8A, 0x98, 0xE9, 0x73, 0x7B, 0xC8, 0xEC, 0x96, 0xE2, 0x41, 0x04, 0x7B, 0x43, 0xA0, 0xE8, 0x73, 0x53, 0xA0, 0xE8, 0xAD, 0xEE, 0x23, 0x9F, 0x00, 0xE0, 0x51, 0x04, 0x90, 0xE2, 0x61, 0x04, 0x31, 0x46, 0xB1, 0xE8, 0x51, 0x41, 0xE0, 0xEC, 0x39, 0x67, 0xB1, 0xE8, 0x00, 0x04, 0x46, 0xE2, 0x73, 0x63, 0xA0, 0xE8, 0x61, 0x41, 0xE0, 0xEC, 0x31, 0x00, 0x39, 0x00, 0x8A, 0x80, 0x15, 0xEA, 0x10, 0x04, 0x20, 0x04, 0x61, 0x51, 0xE0, 0xEC, 0x2F, 0x41, 0x60, 0xEA, 0x31, 0x20, 0x39, 0x20, 0x1F, 0x42, 0xA0, 0xE8, 0x2A, 0x42, 0x52, 0xBF, 0x0F, 0x52, 0xA0, 0xE8, 0x1A, 0x42, 0x62, 0xBF, 0x1E, 0x51, 0x60, 0xEA, 0x73, 0x7B, 0xC8, 0xEC, 0x0E, 0x61, 0x60, 0xEA, 0x32, 0x40, 0x50, 0xBD, 0x22, 0x40, 0x60, 0xBD, 0x12, 0x41, 0x51, 0xBD, 0x3A, 0x41, 0x61, 0xBD, 0xBF, 0x2F, 0x0E, 0xBD, 0x97, 0xE2, 0x7B, 0x72, 0x32, 0x20, 0x22, 0x20, 0x12, 0x20, 0x3A, 0x20, 0x35, 0x48, 0xB1, 0xE8, 0x3D, 0x59, 0xB1, 0xE8, 0x46, 0x31, 0x46, 0xBF, 0x56, 0x31, 0x56, 0xBF, 0xB3, 0xE2, 0x2D, 0x9F, 0x00, 0x80, 0x00, 0xE8, 0x66, 0x31, 0x66, 0xBF, 0x47, 0x39, 0x47, 0xBF, 0x57, 0x39, 0x57, 0xBF, 0x67, 0x39, 0x67, 0xBF, 0x7B, 0x80, 0x07, 0xEA, 0x24, 0x41, 0x20, 0xE9, 0x35, 0x00, 0x3D, 0x00, 0x00, 0xE0, 0x2D, 0x73, 0x33, 0x72, 0x0C, 0xE3, 0x8D, 0x2F, 0x1E, 0xBD, 0x43, 0x75, 0xF8, 0xEC, 0x35, 0x20, 0x3D, 0x20, 0x43, 0x43, 0x2D, 0xDF, 0x53, 0x53, 0x2D, 0xDF, 0xAE, 0x1E, 0x0E, 0xBD, 0x58, 0xE3, 0x33, 0x66, 0x48, 0x35, 0x48, 0xBF, 0x58, 0x35, 0x58, 0xBF, 0x68, 0x35, 0x68, 0xBF, 0x49, 0x3D, 0x49, 0xBF, 0x59, 0x3D, 0x59, 0xBF, 0x69, 0x3D, 0x69, 0xBF, 0x63, 0x63, 0x2D, 0xDF, 0x4D, 0x7D, 0xF8, 0xEC, 0x59, 0xE3, 0x00, 0xE0, 0xB8, 0x38, 0x33, 0xBF, 0x2D, 0x73, 0x30, 0x76, 0x18, 0x3A, 0x41, 0xE9, 0x3F, 0x53, 0xA0, 0xE8, 0x05, 0x80, 0x3D, 0xEA, 0x37, 0x43, 0xA0, 0xE8, 0x3D, 0x63, 0xA0, 0xE8, 0x50, 0x70, 0xF8, 0xEC, 0x2B, 0x50, 0x3C, 0xE9, 0x1F, 0x0F, 0xBC, 0xE8, 0x00, 0x80, 0x00, 0xE8, 0x59, 0x78, 0xF8, 0xEC, 0x00, 0x80, 0x00, 0xE8, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x15, 0xC0, 0x20, 0xE9, 0x1E, 0x12, 0x41, 0xE9, 0x1A, 0x22, 0x41, 0xE9, 0x46, 0x37, 0x46, 0xDF, 0x56, 0x3F, 0x56, 0xDF, 0x2B, 0x40, 0x3D, 0xE9, 0x66, 0x3D, 0x66, 0xDF, 0x1D, 0x32, 0x41, 0xE9, 0x67, 0x3D, 0x67, 0xDF, 0x47, 0x37, 0x47, 0xDF, 0x57, 0x3F, 0x57, 0xDF, 0x2A, 0x40, 0x20, 0xE9, 0x59, 0x3F, 0x59, 0xDF, 0x16, 0x30, 0x20, 0xE9, 0x69, 0x3D, 0x69, 0xDF, 0x48, 0x37, 0x48, 0xDF, 0x58, 0x3F, 0x58, 0xDF, 0x68, 0x3D, 0x68, 0xDF, 0x49, 0x37, 0x49, 0xDF, 0x32, 0x32, 0x2D, 0xDF, 0x22, 0x22, 0x2D, 0xDF, 0x12, 0x12, 0x2D, 0xDF, 0x3A, 0x3A, 0x2D, 0xDF, 0x0F, 0xCF, 0x74, 0xC2, 0x37, 0xCF, 0x74, 0xC4, 0x0A, 0x44, 0x54, 0xB0, 0x02, 0x44, 0x64, 0xB0, 0x3D, 0xCF, 0x74, 0xC0, 0x34, 0x37, 0x20, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x38, 0x0F, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3C, 0x3D, 0x20, 0xE9, 0x2A, 0x44, 0x54, 0xB2, 0x1A, 0x44, 0x64, 0xB2, 0x36, 0x80, 0x3A, 0xEA, 0x0A, 0x20, 0x02, 0x20, 0x0F, 0xCF, 0x75, 0xC0, 0x2A, 0x20, 0x1A, 0x20, 0x30, 0x50, 0x2E, 0x9F, 0x32, 0x31, 0x5F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x33, 0x39, 0x5F, 0xE9, 0x3D, 0xCF, 0x75, 0xC2, 0x37, 0xCF, 0x75, 0xC4, 0x31, 0x53, 0x2F, 0x9F, 0xA6, 0x0F, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA3, 0x3D, 0x20, 0xE9, 0x2A, 0x44, 0x54, 0xB4, 0x1A, 0x44, 0x64, 0xB4, 0x0A, 0x45, 0x55, 0xB0, 0x02, 0x45, 0x65, 0xB0, 0x88, 0x73, 0x5E, 0xE9, 0x2A, 0x20, 0x1A, 0x20, 0xA0, 0x37, 0x20, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x31, 0x53, 0x2F, 0x9F, 0x3E, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x3F, 0x38, 0x4F, 0xE9, 0x30, 0x50, 0x2E, 0x9F, 0x3A, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x3B, 0x39, 0x4F, 0xE9, 0x2A, 0x45, 0x55, 0xB2, 0x1A, 0x45, 0x65, 0xB2, 0x0A, 0x45, 0x55, 0xB4, 0x02, 0x45, 0x65, 0xB4, 0x0F, 0xCF, 0x74, 0xC6, 0x2A, 0x20, 0x1A, 0x20, 0xA7, 0x30, 0x4F, 0xE9, 0x0A, 0x20, 0x02, 0x20, 0x31, 0x53, 0x2F, 0x9F, 0x9C, 0x0F, 0x20, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA8, 0x38, 0x4F, 0xE9, 0x2A, 0x44, 0x54, 0xB6, 0x1A, 0x44, 0x64, 0xB6, 0x30, 0x50, 0x2E, 0x9F, 0x36, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x37, 0x39, 0x4F, 0xE9, 0x00, 0x80, 0x00, 0xE8, 0x2A, 0x20, 0x1A, 0x20, 0x2A, 0x46, 0x56, 0xBF, 0x1A, 0x46, 0x66, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0xA4, 0x31, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA5, 0x39, 0x4F, 0xE9, 0x0A, 0x47, 0x57, 0xBF, 0x02, 0x47, 0x67, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0xA1, 0x30, 0x4F, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0xA2, 0x38, 0x4F, 0xE9, 0x2A, 0x43, 0x53, 0xBF, 0x1A, 0x43, 0x63, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x9D, 0x31, 0x4F, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x9E, 0x39, 0x4F, 0xE9, 0x0A, 0x48, 0x58, 0xBF, 0x02, 0x48, 0x68, 0xBF, 0x31, 0x53, 0x2F, 0x9F, 0x80, 0x31, 0x57, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x81, 0x39, 0x57, 0xE9, 0x2A, 0x49, 0x59, 0xBF, 0x1A, 0x49, 0x69, 0xBF, 0x30, 0x50, 0x2E, 0x9F, 0x82, 0x30, 0x57, 0xE9, 0x38, 0x21, 0x2C, 0x9F, 0x83, 0x38, 0x57, 0xE9, 0x31, 0x53, 0x2F, 0x9F, 0x84, 0x31, 0x5E, 0xE9, 0x39, 0xE5, 0x2C, 0x9F, 0x85, 0x39, 0x5E, 0xE9, 0x86, 0x76, 0x57, 0xE9, 0x8A, 0x36, 0x20, 0xE9, 0x87, 0x77, 0x57, 0xE9, 0x8B, 0x3E, 0xBF, 0xEA, 0x80, 0x30, 0x57, 0xE9, 0x81, 0x38, 0x57, 0xE9, 0x82, 0x31, 0x57, 0xE9, 0x86, 0x78, 0x57, 0xE9, 0x83, 0x39, 0x57, 0xE9, 0x87, 0x79, 0x57, 0xE9, 0x30, 0x1F, 0x5F, 0xE9, 0x8A, 0x34, 0x20, 0xE9, 0x8B, 0x3C, 0x20, 0xE9, 0x37, 0x50, 0x60, 0xBD, 0x57, 0x0D, 0x20, 0xE9, 0x35, 0x51, 0x61, 0xBD, 0x2B, 0x50, 0x20, 0xE9, 0x1D, 0x37, 0xE1, 0xEA, 0x1E, 0x35, 0xE1, 0xEA, 0x00, 0xE0, 0x0E, 0x77, 0x24, 0x51, 0x20, 0xE9, 0x8D, 0xFF, 0x20, 0xEA, 0x16, 0x0E, 0x20, 0xE9, 0x57, 0x2E, 0xBF, 0xEA, 0x0B, 0x46, 0xA0, 0xE8, 0x1B, 0x56, 0xA0, 0xE8, 0x2B, 0x66, 0xA0, 0xE8, 0x0C, 0x47, 0xA0, 0xE8, 0x1C, 0x57, 0xA0, 0xE8, 0x2C, 0x67, 0xA0, 0xE8, 0x0B, 0x00, 0x1B, 0x00, 0x2B, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x1C, 0x00, 0x2C, 0x00, 0x00, 0xE0, 0x0B, 0x65, 0x1B, 0x65, 0x2B, 0x65, 0x00, 0xE0, 0x0C, 0x65, 0x1C, 0x65, 0x2C, 0x65, 0x00, 0xE0, 0x0B, 0x1B, 0x60, 0xEC, 0x36, 0xD7, 0x36, 0xAD, 0x2B, 0x80, 0x60, 0xEC, 0x0C, 0x1C, 0x60, 0xEC, 0x3E, 0xD7, 0x3E, 0xAD, 0x2C, 0x80, 0x60, 0xEC, 0x0B, 0x2B, 0xDE, 0xE8, 0x1B, 0x80, 0xDE, 0xE8, 0x36, 0x80, 0x36, 0xBD, 0x3E, 0x80, 0x3E, 0xBD, 0x33, 0xD7, 0x0B, 0xBD, 0x3B, 0xD7, 0x1B, 0xBD, 0x46, 0x80, 0x46, 0xCF, 0x57, 0x80, 0x57, 0xCF, 0x66, 0x33, 0x66, 0xCF, 0x47, 0x3B, 0x47, 0xCF, 0 BCI_SET_REGISTERS(SAVAGE_VERTBUFADDR, 1); BCI_WRITE(dmabuf->bus_address | dev_priv->dma_type); dev_priv->state.common.vbaddr = dmabuf->bus_address; } if (S3_SAVAGE3D_SERIES(dev_priv->chipset) && dev_priv->waiting) { /* Workaround for what looks like a hardware bug. If a * WAIT_3D_IDLE was emitted some time before the * indexed drawing command then the engine will lock * up. There are two known workarounds: * WAIT_IDLE_EMPTY or emit at least 63 NOPs. */ BEGIN_BCI(63); for (i = 0; i < 63; ++i) BCI_WRITE(BCI_CMD_WAIT); dev_priv->waiting = 0; } prim <<= 25; while (n != 0) { /* Can emit up to 255 indices (85 triangles) at once. */ unsigned int count = n > 255 ? 255 : n; /* check indices */ for (i = 0; i < count; ++i) { if (idx[i] > dmabuf->total / 32) { DRM_ERROR("idx[%u]=%u out of range (0-%u)\n", i, idx[i], dmabuf->total / 32); return -EINVAL; } } if (reorder) { /* Need to reorder indices for correct flat * shading while preserving the clock sense * for correct culling. Only on Savage3D. */ int reorder[3] = { 2, -1, -1 }; BEGIN_BCI((count + 1 + 1) / 2); BCI_DRAW_INDICES_S3D(count, prim, idx[2]); for (i = 1; i + 1 < count; i += 2) BCI_WRITE(idx[i + reorder[i % 3]] | (idx[i + 1 + reorder[(i + 1) % 3]] << 16)); if (i < count) BCI_WRITE(idx[i + reorder[i % 3]]); } else if (S3_SAVAGE3D_SERIES(dev_priv->chipset)) { BEGIN_BCI((count + 1 + 1) / 2); BCI_DRAW_INDICES_S3D(count, prim, idx[0]); for (i = 1; i + 1 < count; i += 2) BCI_WRITE(idx[i] | (idx[i + 1] << 16)); if (i < count) BCI_WRITE(idx[i]); } else { BEGIN_BCI((count + 2 + 1) / 2); BCI_DRAW_INDICES_S4(count, prim, skip); for (i = 0; i + 1 < count; i += 2) BCI_WRITE(idx[i] | (idx[i + 1] << 16)); if (i < count) BCI_WRITE(idx[i]); } idx += count; n -= count; prim |= BCI_CMD_DRAW_CONT; } return 0; } static int savage_dispatch_vb_idx(drm_savage_private_t *dev_priv, const drm_savage_cmd_header_t *cmd_header, const uint16_t *idx, const uint32_t *vtxbuf, unsigned int vb_size, unsigned int vb_stride) { unsigned char reorder = 0; unsigned int prim = cmd_header->idx.prim; unsigned int skip = cmd_header->idx.skip; unsigned int n = cmd_header->idx.count; unsigned int vtx_size; unsigned int i; DMA_LOCALS; if (!n) return 0; switch (prim) { case SAVAGE_PRIM_TRILIST_201: reorder = 1; prim = SAVAGE_PRIM_TRILIST; case SAVAGE_PRIM_TRILIST: if (n % 3 != 0) { DRM_ERROR("wrong number of indices %u in TRILIST\n", n); return -EINVAL; } break; case SAVAGE_PRIM_TRISTRIP: case SAVAGE_PRIM_TRIFAN: if (n < 3) { DRM_ERROR ("wrong number of indices %u in TRIFAN/STRIP\n", n); return -EINVAL; } break; default: DRM_ERROR("invalid primitive type %u\n", prim); return -EINVAL; } if (S3_SAVAGE3D_SERIES(dev_priv->chipset)) { if (skip > SAVAGE_SKIP_ALL_S3D) { DRM_ERROR("invalid skip flags 0x%04x\n", skip); return -EINVAL; } vtx_size = 8; /* full vertex */ } else { if (skip > SAVAGE_SKIP_ALL_S4) { DRM_ERROR("invalid skip flags 0x%04x\n", skip); return -EINVAL; } vtx_size = 10; /* full vertex */ } vtx_size -= (skip & 1) + (skip >> 1 & 1) + (skip >> 2 & 1) + (skip >> 3 & 1) + (skip >> 4 & 1) + (skip >> 5 & 1) + (skip >> 6 & 1) + (skip >> 7 & 1); if (vtx_size > vb_stride) { DRM_ERROR("vertex size greater than vb stride (%u > %u)\n", vtx_size, vb_stride); return -EINVAL; } prim <<= 25; while (n != 0) { /* Can emit up to 255 vertices (85 triangles) at once. */ unsigned int count = n > 255 ? 255 : n; /* Check indices */ for (i = 0; i < count; ++i) { if (idx[i] > vb_size / (vb_stride * 4)) { DRM_ERROR("idx[%u]=%u out of range (0-%u)\n", i, idx[i], vb_size / (vb_stride * 4)); return -EINVAL; } } if (reorder) { /* Need to reorder vertices for correct flat * shading while preserving the clock sense * for correct culling. Only on Savage3D. */ int reorder[3] = { 2, -1, -1 }; BEGIN_DMA(count * vtx_size + 1); DMA_DRAW_PRIMITIVE(count, prim, skip); for (i = 0; i < count; ++i) { unsigned int j = idx[i + reorder[i % 3]]; DMA_COPY(&vtxbuf[vb_stride * j], vtx_size); } DMA_COMMIT(); } else { BEGIN_DMA(count * vtx_size + 1); DMA_DRAW_PRIMITIVE(count, prim, skip); for (i = 0; i < count; ++i) { unsigned int j = idx[i]; DMA_COPY(&vtxbuf[vb_stride * j], vtx_size); } DMA_COMMIT(); } idx += count; n -= count; prim |= BCI_CMD_DRAW_CONT; } return 0; } static int savage_dispatch_clear(drm_savage_private_t *dev_priv, const drm_savage_cmd_header_t *cmd_header, const drm_savage_cmd_header_t *data, unsigned int nbox, const struct drm_clip_rect *boxes) { unsigned int flags = cmd_header->clear0.flags; unsigned int clear_cmd; unsigned int i, nbufs; DMA_LOCALS; if (nbox == 0) return 0; clear_cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP | BCI_CMD_SEND_COLOR | BCI_CMD_DEST_PBD_NEW; BCI_CMD_SET_ROP(clear_cmd,0xCC); nbufs = ((flags & SAVAGE_FRONT) ? 1 : 0) + ((flags & SAVAGE_BACK) ? 1 : 0) + ((flags & SAVAGE_DEPTH) ? 1 : 0); if (nbufs == 0) return 0; if (data->clear1.mask != 0xffffffff) { /* set mask */ BEGIN_DMA(2); DMA_SET_REGISTERS(SAVAGE_BITPLANEWTMASK, 1); DMA_WRITE(data->clear1.mask); DMA_COMMIT(); } for (i = 0; i < nbox; ++i) { unsigned int x, y, w, h; unsigned int buf; x = boxes[i].x1, y = boxes[i].y1; w = boxes[i].x2 - boxes[i].x1; h = boxes[i].y2 - boxes[i].y1; BEGIN_DMA(nbufs * 6); for (buf = SAVAGE_FRONT; buf <= SAVAGE_DEPTH; buf <<= 1) { if (!(flags & buf)) continue; DMA_WRITE(clear_cmd); switch (buf) { case SAVAGE_FRONT: DMA_WRITE(dev_priv->front_offset); DMA_WRITE(dev_priv->front_bd); break; case SAVAGE_BACK: DMA_WRITE(dev_priv->back_offset); DMA_WRITE(dev_priv->back_bd); break; case SAVAGE_DEPTH: DMA_WRITE(dev_priv->depth_offset); DMA_WRITE(dev_priv->depth_bd); break; } DMA_WRITE(data->clear1.value); DMA_WRITE(BCI_X_Y(x, y)); DMA_WRITE(BCI_W_H(w, h)); } DMA_COMMIT(); } if (data->clear1.mask != 0xffffffff) { /* reset mask */ BEGIN_DMA(2); DMA_SET_REGISTERS(SAVAGE_BITPLANEWTMASK, 1); DMA_WRITE(0xffffffff); DMA_COMMIT(); } return 0; } static int savage_dispatch_swap(drm_savage_private_t *dev_priv, unsigned int nbox, const struct drm_clip_rect *boxes) { unsigned int swap_cmd; unsigned int i; DMA_LOCALS; if (nbox == 0) return 0; swap_cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP | BCI_CMD_SRC_PBD_COLOR_NEW | BCI_CMD_DEST_GBD; BCI_CMD_SET_ROP(swap_cmd,0xCC); for (i = 0; i < nbox; ++i) { BEGIN_DMA(6); DMA_WRITE(swap_cmd); DMA_WRITE(dev_priv->back_offset); DMA_WRITE(dev_priv->back_bd); DMA_WRITE(BCI_X_Y(boxes[i].x1, boxes[i].y1)); DMA_WRITE(BCI_X_Y(boxes[i].x1, boxes[i].y1)); DMA_WRITE(BCI_W_H(boxes[i].x2 - boxes[i].x1, boxes[i].y2 - boxes[i].y1)); DMA_COMMIT(); } return 0; } static int savage_dispatch_draw(drm_savage_private_t *dev_priv, const drm_savage_cmd_header_t *start, const drm_savage_cmd_header_t *end, const struct drm_buf *dmabuf, const unsigned int *vtxbuf, unsigned int vb_size, unsigned int vb_stride, unsigned int nbox, const struct drm_clip_rect *boxes) { unsigned int i, j; int ret; for (i = 0; i < nbox; ++i) { const drm_savage_cmd_header_t *cmdbuf; dev_priv->emit_clip_rect(dev_priv, &boxes[i]); cmdbuf = start; while (cmdbuf < end) { drm_savage_cmd_header_t cmd_header; cmd_header = *cmdbuf; cmdbuf++; switch (cmd_header.cmd.cmd) { case SAVAGE_CMD_DMA_PRIM: ret = savage_dispatch_dma_prim( dev_priv, &cmd_header, dmabuf); break; case SAVAGE_CMD_VB_PRIM: ret = savage_dispatch_vb_prim( dev_priv, &cmd_header, vtxbuf, vb_size, vb_stride); break; case SAVAGE_CMD_DMA_IDX: j = (cmd_header.idx.count + 3) / 4; /* j was check in savage_bci_cmdbuf */ ret = savage_dispatch_dma_idx(dev_priv, &cmd_header, (const uint16_t *)cmdbuf, dmabuf); cmdbuf += j; break; case SAVAGE_CMD_VB_IDX: j = (cmd_header.idx.count + 3) / 4; /* j was check in savage_bci_cmdbuf */ ret = savage_dispatch_vb_idx(dev_priv, &cmd_header, (const uint16_t *)cmdbuf, (const uint32_t *)vtxbuf, vb_size, vb_stride); cmdbuf += j; break; default: /* What's the best return code? EFAULT? */ DRM_ERROR("IMPLEMENTATION ERROR: " "non-drawing-command %d\n", cmd_header.cmd.cmd); return -EINVAL; } if (ret != 0) return ret; } } return 0; } int savage_bci_cmdbuf(struct drm_device *dev, void *data, struct drm_file *file_priv) { drm_savage_private_t *dev_priv = dev->dev_private; struct drm_device_dma *dma = dev->dma; struct drm_buf *dmabuf; drm_savage_cmdbuf_t *cmdbuf = data; drm_savage_cmd_header_t *kcmd_addr = NULL; drm_savage_cmd_header_t *first_draw_cmd; unsigned int *kvb_addr = NULL; struct drm_clip_rect *kbox_addr = NULL; unsigned int i, j; int ret = 0; DRM_DEBUG("\n"); LOCK_TEST_WITH_RETURN(dev, file_priv); if (dma && dma->buflist) { if (cmdbuf->dma_idx > dma->buf_count) { DRM_ERROR ("vertex buffer index %u out of range (0-%u)\n", cmdbuf->dma_idx, dma->buf_count - 1); return -EINVAL; } dmabuf = dma->buflist[cmdbuf->dma_idx]; } else { dmabuf = NULL; } /* Copy the user buffers into kernel temporary areas. This hasn't been * a performance loss compared to VERIFYAREA_READ/ * COPY_FROM_USER_UNCHECKED when done in other drivers, and is correct * for locking on FreeBSD. */ if (cmdbuf->size) { kcmd_addr = drm_alloc(cmdbuf->size * 8, DRM_MEM_DRIVER); if (kcmd_addr == NULL) return -ENOMEM; if (DRM_COPY_FROM_USER(kcmd_addr, cmdbuf->cmd_addr, cmdbuf->size * 8)) { drm_free(kcmd_addr, cmdbuf->size * 8, DRM_MEM_DRIVER); return -EFAULT; } cmdbuf->cmd_addr = kcmd_addr; } if (cmdbuf->vb_size) { kvb_addr = drm_alloc(cmdbuf->vb_size, DRM_MEM_DRIVER); if (kvb_addr == NULL) { ret = -ENOMEM; goto done; } if (DRM_COPY_FROM_USER(kvb_addr, cmdbuf->vb_addr, cmdbuf->vb_size)) { ret = -EFAULT; goto done; } cmdbuf->vb_addr = kvb_addr; } if (cmdbuf->nbox) { kbox_addr = drm_alloc(cmdbuf->nbox * sizeof(struct drm_clip_rect), DRM_MEM_DRIVER); if (kbox_addr == NULL) { ret = -ENOMEM; goto done; } if (DRM_COPY_FROM_USER(kbox_addr, cmdbuf->box_addr, cmdbuf->nbox * sizeof(struct drm_clip_rect))) { ret = -EFAULT; goto done; } cmdbuf->box_addr = kbox_addr; } /* Make sure writes to DMA buffers are finished before sending * DMA commands to the graphics hardware. */ DRM_MEMORYBARRIER(); /* Coming from user space. Don't know if the Xserver has * emitted wait commands. Assuming the worst. */ dev_priv->waiting = 1; i = 0; first_draw_cmd = NULL; while (i < cmdbuf->size) { drm_savage_cmd_header_t cmd_header; cmd_header = *(drm_savage_cmd_header_t *)cmdbuf->cmd_addr; cmdbuf->cmd_addr++; i++; /* Group drawing commands with same state to minimize * iterations over clip rects. */ j = 0; switch (cmd_header.cmd.cmd) { case SAVAGE_CMD_DMA_IDX: case SAVAGE_CMD_VB_IDX: j = (cmd_header.idx.count + 3) / 4; if (i + j > cmdbuf->size) { DRM_ERROR("indexed drawing command extends " "beyond end of command buffer\n"); DMA_FLUSH(); return -EINVAL; } /* fall through */ case SAVAGE_CMD_DMA_PRIM: case SAVAGE_CMD_VB_PRIM: if (!first_draw_cmd) first_draw_cmd = cmdbuf->cmd_addr - 1; cmdbuf->cmd_addr += j; i += j; break; default: if (first_draw_cmd) { ret = savage_dispatch_draw( dev_priv, first_draw_cmd, cmdbuf->cmd_addr - 1, dmabuf, cmdbuf->vb_addr, cmdbuf->vb_size, cmdbuf->vb_stride, cmdbuf->nbox, cmdbuf->box_addr); if (ret != 0) return ret; first_draw_cmd = NULL; } } if (first_draw_cmd) continue; switch (cmd_header.cmd.cmd) { case SAVAGE_CMD_STATE: j = (cmd_header.state.count + 1) / 2; if (i + j > cmdbuf->size) { DRM_ERROR("command SAVAGE_CMD_STATE extends " "beyond end of command buffer\n"); DMA_FLUSH(); ret = -EINVAL; goto done; } ret = savage_dispatch_state(dev_priv, &cmd_header, (const uint32_t *)cmdbuf->cmd_addr); cmdbuf->cmd_addr += j; i += j; break; case SAVAGE_CMD_CLEAR: if (i + 1 > cmdbuf->size) { DRM_ERROR("command SAVAGE_CMD_CLEAR extends " "beyond end of command buffer\n"); DMA_FLUSH(); ret = -EINVAL; goto done; } ret = savage_dispatch_clear(dev_priv, &cmd_header, cmdbuf->cmd_addr, cmdbuf->nbox, cmdbuf->box_addr); cmdbuf->cmd_addr++; i++; break; case SAVAGE_CMD_SWAP: ret = savage_dispatch_swap(dev_priv, cmdbuf->nbox, cmdbuf->box_addr); break; default: DRM_ERROR("invalid command 0x%x\n", cmd_header.cmd.cmd); DMA_FLUSH(); ret = -EINVAL; goto done; } if (ret != 0) { DMA_FLUSH(); goto done; } } if (first_draw_cmd) { ret = savage_dispatch_draw( dev_priv, first_draw_cmd, cmdbuf->cmd_addr, dmabuf, cmdbuf->vb_addr, cmdbuf->vb_size, cmdbuf->vb_stride, cmdbuf->nbox, cmdbuf->box_addr); if (ret != 0) { DMA_FLUSH(); goto done; } } DMA_FLUSH(); if (dmabuf && cmdbuf->discard) { drm_savage_buf_priv_t *buf_priv = dmabuf->dev_private; uint16_t event; event = savage_bci_emit_event(dev_priv, SAVAGE_WAIT_3D); SET_AGE(&buf_priv->age, event, dev_priv->event_wrap); savage_freelist_put(dev, dmabuf); } done: /* If we didn't need to allocate them, these'll be NULL */ drm_free(kcmd_addr, cmdbuf->size * 8, DRM_MEM_DRIVER); drm_free(kvb_addr, cmdbuf->vb_size, DRM_MEM_DRIVER); drm_free(kbox_addr, cmdbuf->nbox * sizeof(struct drm_clip_rect), DRM_MEM_DRIVER); return ret; }