Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: WinAPI-funktiot QBasic- ym. ohjelmissa

Sivun loppuun

Juhko [17.12.2008 16:20:23]

#

Tämä saattaa olla tyhmä kysymys, mutta kysyn sen silti :)

WinAPI:n funktioita pystyy toki kutsumaan EXE-tiedoston avulla, johon kirjoitetaan binäärikoodi, mutta olisiko tälle mitään hienostuneempaaa tapaa? Jos ei ole, tiedättekö mistä saisin selvityksen win32 binäärien toiminnasta?

Metabolix [17.12.2008 17:45:29]

#

QB ei ole 32-bittinen eikä Windows-ohjelma. Sen pituinen se. Sen sijaan FreeBASIC tukee WinAPIa ihan suoraan.

Juhko [26.12.2008 19:16:57]

#

Siis, meinaan tällä "epähienostuneemmalla" tavalla tätä:

ON ERROR GOTO ErrorHandler
OPEN "NAPPTMP.EXE" FOR OUTPUT AS #1
DO
  READ i%
  PRINT #1, CHR$(i%);
LOOP
Aloita:
CLOSE #1
DO
  IF INKEY$ = CHR$(27) THEN
    KILL "NAPPTMP.EXE"
    KILL "GETKOUT.TMP"
    END
  END IF
  SHELL "NAPPTMP.EXE" 'suoritetaan ohjelma
  OPEN "GETKOUT.TMP" FOR INPUT AS #1
  FOR i% = 1 TO LOF(1)
    IF INPUT$(1, #1) = "1" THEN
      PRINT CHR$(i% - 1);
    END IF
  NEXT i%
  CLOSE #1
  WAIT &H3DA, 8
LOOP

ErrorHandler:
IF ERR = 4 THEN GOTO Aloita 'jos datataulukko loppuu, aloitetaan ohjelma
PRINT "Tuntematon virhe!"
END

'BinÑÑrimuotoinen ohjelma, joka lukee nÑppÑimet GetAsyncKeyState-funktiolla
'ja tallentaa ne GETKOUT.TMP-tiedostoon:
DATA 77, 90, 144, 0, 3, 0, 0, 0, 4, 0, 0, 0, 255, 255, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0
DATA 0, 0, 14, 31, 186, 14, 0, 180, 9, 205, 33, 184, 1, 76, 205, 33, 84, 104, 105, 115, 32, 112, 114, 111, 103, 114, 97, 109, 32, 99, 97
DATA 110, 110, 111, 116, 32, 98, 101, 32, 114, 117, 110, 32, 105, 110, 32, 68, 79, 83, 32, 109, 111, 100, 101, 46, 13, 13, 10, 36, 0, 0, 0
DATA 0, 0, 0, 0, 80, 69, 0, 0, 76, 1, 5, 0, 242, 152, 63, 73, 0, 22, 0, 0, 239, 1, 0, 0, 224, 0, 7, 3, 11, 1, 2
DATA 56, 0, 10, 0, 0, 0, 18, 0, 0, 0, 2, 0, 0, 32, 18, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 64, 0, 0, 16
DATA 0, 0, 0, 2, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 233
DATA 70, 0, 0, 3, 0, 0, 0, 0, 0, 32, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 16, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 224, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 68, 9, 0, 0, 0, 16, 0, 0, 0, 10, 0, 0, 0, 4, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 96, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 0, 32, 0, 0, 0, 2
DATA 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 192, 46, 114, 100, 97, 116, 97, 0, 0, 0
DATA 1, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 64
DATA 46, 98, 115, 115, 0, 0, 0, 0, 176, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 128, 0, 0, 192, 46, 105, 100, 97, 116, 97, 0, 0, 224, 2, 0, 0, 0, 80, 0, 0, 0, 4, 0, 0, 0, 18
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 85, 137, 229, 131, 236, 24, 137, 93, 248, 139, 85, 8, 49, 219, 137, 117, 252, 139, 2, 49, 246, 139, 0, 61, 145, 0, 0, 192, 119, 67
DATA 61, 141, 0, 0, 192, 114, 91, 190, 1, 0, 0, 0, 199, 4, 36, 8, 0, 0, 0, 49, 192, 137, 68, 36, 4, 232, 228, 7, 0, 0, 131
DATA 248, 1, 116, 108, 133, 192, 116, 42, 199, 4, 36, 8, 0, 0, 0, 255, 208, 187, 255, 255, 255, 255, 137, 216, 139, 117, 252, 139, 93, 248, 137
DATA 236, 93, 194, 4, 0, 61, 147, 0, 0, 192, 116, 189, 61, 148, 0, 0, 192, 116, 187, 137, 216, 139, 117, 252, 139, 93, 248, 137, 236, 93, 194
DATA 4, 0, 141, 118, 0, 61, 5, 0, 0, 192, 117, 232, 199, 4, 36, 11, 0, 0, 0, 49, 246, 137, 116, 36, 4, 232, 135, 7, 0, 0, 131
DATA 248, 1, 116, 52, 133, 192, 116, 205, 199, 4, 36, 11, 0, 0, 0, 255, 208, 235, 161, 199, 4, 36, 8, 0, 0, 0, 187, 1, 0, 0, 0
DATA 137, 92, 36, 4, 232, 94, 7, 0, 0, 133, 246, 116, 136, 232, 149, 2, 0, 0, 187, 255, 255, 255, 255, 235, 129, 199, 4, 36, 11, 0, 0
DATA 0, 185, 1, 0, 0, 0, 187, 255, 255, 255, 255, 137, 76, 36, 4, 232, 52, 7, 0, 0, 233, 98, 255, 255, 255, 235, 13, 144, 144, 144, 144
DATA 144, 144, 144, 144, 144, 144, 144, 144, 144, 85, 137, 229, 83, 131, 236, 36, 141, 93, 248, 199, 4, 36, 0, 16, 64, 0, 232, 186, 7, 0, 0
DATA 131, 236, 4, 232, 66, 2, 0, 0, 199, 69, 248, 0, 0, 0, 0, 184, 0, 64, 64, 0, 141, 85, 244, 137, 92, 36, 16, 139, 13, 0, 32
DATA 64, 0, 137, 68, 36, 4, 137, 84, 36, 8, 137, 76, 36, 12, 199, 4, 36, 4, 64, 64, 0, 232, 1, 7, 0, 0, 161, 16, 64, 64, 0
DATA 133, 192, 116, 88, 163, 16, 32, 64, 0, 139, 21, 244, 80, 64, 0, 133, 210, 15, 133, 139, 0, 0, 0, 131, 250, 224, 116, 32, 161, 16, 64
DATA 64, 0, 137, 68, 36, 4, 139, 29, 244, 80, 64, 0, 139, 75, 48, 137, 12, 36, 232, 182, 6, 0, 0, 139, 21, 244, 80, 64, 0, 131, 250
DATA 192, 116, 27, 139, 29, 16, 64, 64, 0, 137, 92, 36, 4, 139, 13, 244, 80, 64, 0, 139, 81, 80, 137, 20, 36, 232, 144, 6, 0, 0, 232
DATA 123, 6, 0, 0, 139, 29, 16, 32, 64, 0, 137, 24, 232, 110, 1, 0, 0, 131, 228, 240, 232, 70, 6, 0, 0, 139, 8, 137, 76, 36, 8
DATA 139, 21, 0, 64, 64, 0, 137, 84, 36, 4, 161, 4, 64, 64, 0, 137, 4, 36, 232, 169, 0, 0, 0, 137, 195, 232, 18, 6, 0, 0, 137
DATA 28, 36, 232, 234, 6, 0, 0, 137, 68, 36, 4, 139, 21, 244, 80, 64, 0, 139, 66, 16, 137, 4, 36, 232, 53, 6, 0, 0, 139, 21, 244
DATA 80, 64, 0, 233, 85, 255, 255, 255, 141, 118, 0, 141, 188, 39, 0, 0, 0, 0, 85, 137, 229, 131, 236, 8, 199, 4, 36, 1, 0, 0, 0
DATA 255, 21, 236, 80, 64, 0, 232, 200, 254, 255, 255, 144, 141, 180, 38, 0, 0, 0, 0, 85, 137, 229, 131, 236, 8, 199, 4, 36, 2, 0, 0
DATA 0, 255, 21, 236, 80, 64, 0, 232, 168, 254, 255, 255, 144, 141, 180, 38, 0, 0, 0, 0, 85, 139, 13, 4, 81, 64, 0, 137, 229, 93, 255
DATA 225, 141, 116, 38, 0, 85, 139, 13, 248, 80, 64, 0, 137, 229, 93, 255, 225, 144, 144, 144, 144, 85, 137, 229, 93, 233, 167, 2, 0, 0, 144
DATA 144, 144, 144, 144, 144, 144, 85, 137, 229, 131, 236, 24, 131, 228, 240, 184, 0, 0, 0, 0, 131, 192, 15, 131, 192, 15, 193, 232, 4, 193, 224
DATA 4, 137, 69, 244, 139, 69, 244, 232, 187, 4, 0, 0, 232, 86, 1, 0, 0, 199, 68, 36, 4, 0, 48, 64, 0, 199, 4, 36, 2, 48, 64
DATA 0, 232, 162, 5, 0, 0, 137, 69, 248, 102, 199, 69, 254, 0, 0, 102, 129, 125, 254, 255, 0, 127, 71, 15, 191, 69, 254, 137, 4, 36, 232
DATA 213, 5, 0, 0, 131, 236, 4, 102, 133, 192, 117, 21, 199, 68, 36, 4, 14, 48, 64, 0, 139, 69, 248, 137, 4, 36, 232, 90, 5, 0, 0
DATA 235, 19, 199, 68, 36, 4, 16, 48, 64, 0, 139, 69, 248, 137, 4, 36, 232, 69, 5, 0, 0, 15, 183, 69, 254, 64, 102, 137, 69, 254, 235
DATA 177, 184, 0, 0, 0, 0, 201, 195, 144, 144, 144, 85, 185, 0, 49, 64, 0, 137, 229, 235, 20, 141, 182, 0, 0, 0, 0, 139, 81, 4, 139
DATA 1, 131, 193, 8, 1, 130, 0, 0, 64, 0, 129, 249, 0, 49, 64, 0, 114, 234, 93, 195, 144, 144, 144, 144, 144, 144, 144, 144, 85, 137, 229
DATA 219, 227, 93, 195, 144, 144, 144, 144, 144, 144, 144, 144, 144, 85, 137, 229, 131, 236, 8, 161, 32, 32, 64, 0, 139, 8, 133, 201, 116, 38, 235
DATA 13, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 255, 16, 139, 13, 32, 32, 64, 0, 139, 81, 4, 141, 65, 4, 163, 32, 32
DATA 64, 0, 133, 210, 117, 233, 201, 195, 141, 180, 38, 0, 0, 0, 0, 85, 137, 229, 83, 131, 236, 4, 161, 48, 25, 64, 0, 131, 248, 255, 116
DATA 41, 133, 192, 137, 195, 116, 19, 137, 246, 141, 188, 39, 0, 0, 0, 0, 255, 20, 157, 48, 25, 64, 0, 75, 117, 246, 199, 4, 36, 112, 19
DATA 64, 0, 232, 122, 254, 255, 255, 91, 91, 93, 195, 139, 13, 52, 25, 64, 0, 49, 192, 133, 201, 235, 10, 64, 139, 20, 133, 52, 25, 64, 0
DATA 133, 210, 117, 244, 235, 189, 141, 182, 0, 0, 0, 0, 141, 191, 0, 0, 0, 0, 85, 137, 229, 83, 131, 236, 4, 161, 32, 64, 64, 0, 133
DATA 192, 117, 54, 161, 48, 25, 64, 0, 187, 1, 0, 0, 0, 137, 29, 32, 64, 64, 0, 131, 248, 255, 116, 37, 133, 192, 137, 195, 116, 15, 144
DATA 141, 116, 38, 0, 255, 20, 157, 48, 25, 64, 0, 75, 117, 246, 199, 4, 36, 112, 19, 64, 0, 232, 10, 254, 255, 255, 91, 91, 93, 195, 139
DATA 13, 52, 25, 64, 0, 49, 192, 133, 201, 235, 10, 64, 139, 20, 133, 52, 25, 64, 0, 133, 210, 117, 244, 235, 193, 144, 144, 144, 144, 144, 144
DATA 144, 144, 144, 144, 144, 144, 85, 161, 112, 64, 64, 0, 137, 229, 93, 139, 72, 4, 255, 225, 137, 246, 85, 186, 66, 0, 0, 0, 137, 229, 83
DATA 15, 183, 192, 131, 236, 100, 137, 84, 36, 8, 141, 85, 168, 49, 219, 137, 84, 36, 4, 137, 4, 36, 255, 21, 208, 80, 64, 0, 186, 31, 0
DATA 0, 0, 185, 1, 0, 0, 0, 131, 236, 12, 133, 192, 117, 7, 235, 70, 1, 201, 74, 120, 14, 128, 124, 42, 168, 65, 117, 244, 9, 203, 1
DATA 201, 74, 121, 242, 131, 59, 60, 117, 7, 137, 216, 139, 93, 252, 201, 195, 185, 68, 48, 64, 0, 186, 234, 0, 0, 0, 137, 76, 36, 12, 137
DATA 84, 36, 8, 199, 4, 36, 113, 48, 64, 0, 184, 144, 48, 64, 0, 137, 68, 36, 4, 232, 146, 2, 0, 0, 184, 188, 48, 64, 0, 187, 228
DATA 0, 0, 0, 137, 68, 36, 12, 137, 92, 36, 8, 235, 215, 141, 180, 38, 0, 0, 0, 0, 141, 188, 39, 0, 0, 0, 0, 85, 137, 229, 87
DATA 86, 83, 129, 236, 204, 0, 0, 0, 139, 13, 112, 64, 64, 0, 133, 201, 116, 8, 141, 101, 244, 91, 94, 95, 93, 195, 199, 69, 152, 65, 65
DATA 65, 65, 161, 32, 48, 64, 0, 141, 117, 152, 199, 69, 156, 65, 65, 65, 65, 199, 69, 160, 65, 65, 65, 65, 137, 69, 184, 161, 36, 48, 64
DATA 0, 199, 69, 164, 65, 65, 65, 65, 199, 69, 168, 65, 65, 65, 65, 137, 69, 188, 161, 40, 48, 64, 0, 199, 69, 172, 65, 65, 65, 65, 199
DATA 69, 176, 65, 65, 65, 65, 137, 69, 192, 161, 44, 48, 64, 0, 199, 69, 180, 65, 65, 65, 65, 137, 69, 196, 161, 48, 48, 64, 0, 137, 69
DATA 200, 161, 52, 48, 64, 0, 137, 69, 204, 161, 56, 48, 64, 0, 137, 69, 208, 161, 60, 48, 64, 0, 137, 69, 212, 15, 183, 5, 64, 48, 64
DATA 0, 102, 137, 69, 216, 137, 52, 36, 255, 21, 204, 80, 64, 0, 15, 183, 192, 131, 236, 4, 133, 192, 137, 133, 68, 255, 255, 255, 15, 133, 59
DATA 1, 0, 0, 199, 4, 36, 60, 0, 0, 0, 232, 147, 2, 0, 0, 133, 192, 137, 195, 15, 132, 89, 1, 0, 0, 252, 137, 199, 139, 133, 68
DATA 255, 255, 255, 185, 15, 0, 0, 0, 243, 171, 199, 67, 4, 160, 24, 64, 0, 185, 1, 0, 0, 0, 199, 67, 8, 128, 20, 64, 0, 161, 64
DATA 64, 64, 0, 199, 3, 60, 0, 0, 0, 139, 21, 68, 64, 64, 0, 199, 67, 40, 0, 0, 0, 0, 137, 67, 20, 161, 48, 32, 64, 0, 137
DATA 83, 24, 139, 21, 52, 32, 64, 0, 137, 67, 28, 161, 80, 64, 64, 0, 137, 83, 32, 199, 67, 48, 255, 255, 255, 255, 137, 67, 44, 139, 21
DATA 60, 32, 64, 0, 161, 56, 32, 64, 0, 137, 83, 56, 186, 31, 0, 0, 0, 137, 67, 52, 137, 246, 137, 216, 33, 200, 131, 248, 1, 25, 192
DATA 36, 32, 1, 201, 4, 65, 136, 132, 42, 72, 255, 255, 255, 74, 121, 231, 161, 32, 48, 64, 0, 137, 133, 104, 255, 255, 255, 161, 36, 48, 64
DATA 0, 137, 133, 108, 255, 255, 255, 161, 40, 48, 64, 0, 137, 133, 112, 255, 255, 255, 161, 44, 48, 64, 0, 137, 133, 116, 255, 255, 255, 161, 48
DATA 48, 64, 0, 137, 133, 120, 255, 255, 255, 161, 52, 48, 64, 0, 137, 133, 124, 255, 255, 255, 161, 56, 48, 64, 0, 137, 69, 128, 161, 60, 48
DATA 64, 0, 137, 69, 132, 15, 183, 5, 64, 48, 64, 0, 102, 137, 69, 136, 141, 133, 72, 255, 255, 255, 137, 4, 36, 255, 21, 196, 80, 64, 0
DATA 15, 183, 248, 131, 236, 4, 133, 255, 117, 66, 49, 210, 133, 210, 117, 30, 137, 28, 36, 232, 99, 1, 0, 0, 137, 52, 36, 255, 21, 204, 80
DATA 64, 0, 131, 236, 4, 15, 183, 192, 232, 95, 253, 255, 255, 137, 195, 137, 29, 112, 64, 64, 0, 141, 67, 4, 163, 96, 64, 64, 0, 141, 67
DATA 8, 163, 128, 64, 64, 0, 141, 101, 244, 91, 94, 95, 93, 195, 137, 248, 232, 56, 253, 255, 255, 57, 216, 137, 250, 117, 177, 235, 177, 232, 59
DATA 1, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 81, 137, 225, 131, 193, 8, 61, 0, 16, 0, 0, 114, 16, 129, 233, 0, 16
DATA 0, 0, 131, 9, 0, 45, 0, 16, 0, 0, 235, 233, 41, 193, 131, 9, 0, 137, 224, 137, 204, 139, 8, 139, 64, 4, 255, 224, 144, 144, 144
DATA 85, 137, 229, 131, 236, 24, 139, 69, 20, 137, 68, 36, 16, 139, 69, 16, 137, 68, 36, 12, 139, 69, 12, 137, 68, 36, 8, 139, 69, 8, 137
DATA 68, 36, 4, 161, 244, 80, 64, 0, 131, 192, 64, 137, 4, 36, 232, 142, 0, 0, 0, 161, 244, 80, 64, 0, 131, 192, 64, 137, 4, 36, 232
DATA 206, 0, 0, 0, 232, 185, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 255, 37, 236, 80, 64, 0, 144, 144, 0, 0, 0, 0, 0
DATA 0, 0, 0, 255, 37, 240, 80, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 228, 80, 64, 0, 144, 144, 0, 0, 0, 0
DATA 0, 0, 0, 0, 255, 37, 28, 81, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 232, 80, 64, 0, 144, 144, 0, 0, 0
DATA 0, 0, 0, 0, 0, 255, 37, 252, 80, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 224, 80, 64, 0, 144, 144, 0, 0
DATA 0, 0, 0, 0, 0, 0, 255, 37, 16, 81, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 12, 81, 64, 0, 144, 144, 0
DATA 0, 0, 0, 0, 0, 0, 0, 255, 37, 20, 81, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 24, 81, 64, 0, 144, 144
DATA 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 0, 81, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 8, 81, 64, 0, 144
DATA 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 40, 81, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 212, 80, 64, 0
DATA 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 200, 80, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 208, 80, 64
DATA 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 204, 80, 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 255, 37, 196, 80
DATA 64, 0, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 85, 137, 229, 93, 233, 87, 249, 255, 255, 144, 144, 144, 144, 144, 144, 144, 255, 255, 255
DATA 255, 32, 25, 64, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 25, 64, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 119, 0, 71, 69, 84, 75, 79, 85, 84, 46, 84, 77, 80, 0, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 45, 76, 73, 66, 71, 67, 67, 87, 51, 50, 45, 69, 72, 45, 50, 45, 83, 74, 76, 74, 45, 71, 84, 72, 82, 45
DATA 77, 73, 78, 71, 87, 51, 50, 0, 0, 0, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 45, 62, 115, 105, 122, 101, 32, 61
DATA 61, 32, 115, 105, 122, 101, 111, 102, 40, 87, 51, 50, 95, 69, 72, 95, 83, 72, 65, 82, 69, 68, 41, 0, 37, 115, 58, 37, 117, 58, 32
DATA 102, 97, 105, 108, 101, 100, 32, 97, 115, 115, 101, 114, 116, 105, 111, 110, 32, 96, 37, 115, 39, 10, 0, 0, 46, 46, 47, 46, 46, 47, 103
DATA 99, 99, 47, 103, 99, 99, 47, 99, 111, 110, 102, 105, 103, 47, 105, 51, 56, 54, 47, 119, 51, 50, 45, 115, 104, 97, 114, 101, 100, 45, 112
DATA 116, 114, 46, 99, 0, 0, 71, 101, 116, 65, 116, 111, 109, 78, 97, 109, 101, 65, 32, 40, 97, 116, 111, 109, 44, 32, 115, 44, 32, 115, 105
DATA 122, 101, 111, 102, 40, 115, 41, 41, 32, 33, 61, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 116, 82, 0, 0, 196, 80, 0, 0, 112, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 82, 0, 0, 224, 80, 0, 0, 184, 80
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 82, 0, 0, 40, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 81, 0, 0, 60, 81, 0, 0, 76, 81, 0, 0, 88, 81, 0, 0, 104, 81, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 136, 81, 0, 0, 152, 81, 0, 0, 168, 81, 0, 0, 184, 81, 0, 0, 204, 81, 0, 0, 216, 81, 0
DATA 0, 224, 81, 0, 0, 236, 81, 0, 0, 248, 81, 0, 0, 0, 82, 0, 0, 12, 82, 0, 0, 24, 82, 0, 0, 32, 82, 0, 0, 44, 82
DATA 0, 0, 52, 82, 0, 0, 64, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48
DATA 81, 0, 0, 60, 81, 0, 0, 76, 81, 0, 0, 88, 81, 0, 0, 104, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 81, 0, 0
DATA 152, 81, 0, 0, 168, 81, 0, 0, 184, 81, 0, 0, 204, 81, 0, 0, 216, 81, 0, 0, 224, 81, 0, 0, 236, 81, 0, 0, 248, 81, 0
DATA 0, 0, 82, 0, 0, 12, 82, 0, 0, 24, 82, 0, 0, 32, 82, 0, 0, 44, 82, 0, 0, 52, 82, 0, 0, 64, 82, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 76, 82, 0, 0, 0, 0, 0, 0, 1, 0, 65, 100, 100, 65, 116, 111, 109, 65, 0, 0, 155, 0, 69, 120, 105
DATA 116, 80, 114, 111, 99, 101, 115, 115, 0, 0, 0, 175, 0, 70, 105, 110, 100, 65, 116, 111, 109, 65, 0, 220, 0, 71, 101, 116, 65, 116, 111
DATA 109, 78, 97, 109, 101, 65, 0, 0, 223, 2, 83, 101, 116, 85, 110, 104, 97, 110, 100, 108, 101, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110
DATA 70, 105, 108, 116, 101, 114, 0, 0, 0, 39, 0, 95, 95, 103, 101, 116, 109, 97, 105, 110, 97, 114, 103, 115, 0, 60, 0, 95, 95, 112, 95
DATA 95, 101, 110, 118, 105, 114, 111, 110, 0, 0, 62, 0, 95, 95, 112, 95, 95, 102, 109, 111, 100, 101, 0, 0, 0, 0, 80, 0, 95, 95, 115
DATA 101, 116, 95, 97, 112, 112, 95, 116, 121, 112, 101, 0, 0, 0, 0, 121, 0, 95, 99, 101, 120, 105, 116, 0, 0, 0, 0, 233, 0, 95, 105
DATA 111, 98, 0, 0, 94, 1, 95, 111, 110, 101, 120, 105, 116, 0, 0, 0, 132, 1, 95, 115, 101, 116, 109, 111, 100, 101, 0, 0, 21, 2, 97
DATA 98, 111, 114, 116, 0, 28, 2, 97, 116, 101, 120, 105, 116, 0, 0, 0, 0, 48, 2, 102, 102, 108, 117, 115, 104, 0, 0, 0, 0, 56, 2
DATA 102, 111, 112, 101, 110, 0, 57, 2, 102, 112, 114, 105, 110, 116, 102, 0, 0, 0, 63, 2, 102, 114, 101, 101, 0, 0, 114, 2, 109, 97, 108
DATA 108, 111, 99, 0, 0, 0, 0, 144, 2, 115, 105, 103, 110, 97, 108, 0, 0, 0, 0, 222, 0, 71, 101, 116, 65, 115, 121, 110, 99, 75, 101
DATA 121, 83, 116, 97, 116, 101, 0, 0, 0, 80, 0, 0, 0, 80, 0, 0, 0, 80, 0, 0, 0, 80, 0, 0, 0, 80, 0, 0, 75, 69, 82
DATA 78, 69, 76, 51, 50, 46, 100, 108, 108, 0, 0, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80
DATA 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20
DATA 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 20, 80, 0, 0, 109, 115, 118, 99, 114, 116, 46, 100, 108, 108, 0, 0, 40, 80, 0, 0
DATA 85, 83, 69, 82, 51, 50, 46, 100, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 15, 0
DATA 0, 0, 254, 255, 0, 0, 103, 1, 99, 114, 116, 49, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4
DATA 0, 0, 0, 0, 0, 0, 0, 1, 0, 32, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 30, 0, 0, 0, 0, 1, 0, 0, 1, 0, 32, 0, 3, 0, 0, 0, 0, 0, 50, 0, 0, 0, 32, 2, 0, 0, 1
DATA 0, 32, 0, 2, 0, 0, 0, 0, 0, 66, 0, 0, 0, 64, 2, 0, 0, 1, 0, 32, 0, 2, 0, 95, 97, 116, 101, 120, 105, 116, 0
DATA 96, 2, 0, 0, 1, 0, 32, 0, 2, 0, 95, 95, 111, 110, 101, 120, 105, 116, 112, 2, 0, 0, 1, 0, 32, 0, 2, 0, 46, 116, 101
DATA 120, 116, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 1, 124, 2, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 3, 1, 8, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 25, 0, 0, 0, 254, 255, 0, 0, 103, 1, 99
DATA 114, 116, 115, 116, 117, 102, 102, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 128, 2, 0, 0, 1, 0
DATA 32, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 128
DATA 2, 0, 0, 1, 0, 0, 0, 3, 1, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116
DATA 97, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 46, 98, 115, 115, 0, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 36, 0, 0, 0, 254, 255, 0, 0, 103, 1, 71, 101, 116, 75, 101, 121, 77
DATA 97, 105, 110, 46, 99, 112, 112, 0, 0, 0, 0, 95, 109, 97, 105, 110, 0, 0, 0, 144, 2, 0, 0, 1, 0, 32, 0, 2, 0, 46, 116
DATA 101, 120, 116, 0, 0, 0, 144, 2, 0, 0, 1, 0, 0, 0, 3, 1, 157, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 114, 100, 97, 116, 97, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 1
DATA 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 44, 0, 0, 0, 254
DATA 255, 0, 0, 103, 1, 67, 82, 84, 103, 108, 111, 98, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0
DATA 48, 3, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97
DATA 116, 97, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 52, 0, 0, 0, 254, 255, 0, 0, 103, 1, 67, 82, 84, 102, 109, 111
DATA 100, 101, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 48, 3, 0, 0, 1, 0, 0, 0, 3, 1, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 16, 0, 0, 0, 2, 0
DATA 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 16
DATA 0, 0, 0, 4, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108
DATA 101, 0, 0, 0, 60, 0, 0, 0, 254, 255, 0, 0, 103, 1, 116, 120, 116, 109, 111, 100, 101, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 46, 116, 101, 120, 116, 0, 0, 0, 48, 3, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 70, 0, 0, 0, 254, 255, 0
DATA 0, 103, 1, 112, 115, 101, 117, 100, 111, 45, 114, 101, 108, 111, 99, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 48, 3
DATA 0, 0, 1, 0, 32, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116
DATA 0, 0, 0, 48, 3, 0, 0, 1, 0, 0, 0, 3, 1, 40, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 46, 100, 97, 116, 97, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 81, 0, 0, 0, 254, 255, 0, 0, 103, 1, 67, 82, 84
DATA 95, 102, 112, 49, 48, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 95, 102, 112, 114, 101, 115, 101, 116, 96, 3, 0, 0, 1, 0, 32, 0
DATA 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 96, 3, 0
DATA 0, 1, 0, 32, 0, 2, 0, 46, 116, 101, 120, 116, 0, 0, 0, 96, 3, 0, 0, 1, 0, 0, 0, 3, 1, 7, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 32, 0, 0, 0, 4, 0
DATA 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 95
DATA 0, 0, 0, 254, 255, 0, 0, 103, 1, 103, 99, 99, 109, 97, 105, 110, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 138, 0, 0, 0, 32, 0, 0, 0, 4, 0, 0, 0, 3, 0, 112, 46, 48, 0, 0, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 3
DATA 0, 0, 0, 0, 0, 151, 0, 0, 0, 112, 3, 0, 0, 1, 0, 32, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 0, 0, 0, 176, 3, 0, 0, 1, 0, 32, 0, 2, 0, 95, 95, 95, 109, 97, 105, 110
DATA 0, 16, 4, 0, 0, 1, 0, 32, 0, 2, 0, 46, 116, 101, 120, 116, 0, 0, 0, 112, 3, 0, 0, 1, 0, 0, 0, 3, 1, 4, 1
DATA 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0
DATA 0, 3, 1, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 32, 0
DATA 0, 0, 4, 0, 0, 0, 3, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101
DATA 0, 0, 0, 254, 0, 0, 0, 254, 255, 0, 0, 103, 1, 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 46, 116, 101, 120, 116, 0, 0, 0, 128, 4, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 48, 0, 0, 0, 4, 0, 0, 0, 3, 1, 2, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0
DATA 3, 0, 0, 0, 0, 0, 226, 0, 0, 0, 128, 4, 0, 0, 1, 0, 32, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 144, 4, 0, 0, 1, 0, 32, 0, 3, 0, 0, 0, 0, 0, 27, 1
DATA 0, 0, 64, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 46, 1, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0
DATA 0, 0, 0, 57, 1, 0, 0, 80, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 70, 1, 0, 0, 56, 0, 0, 0, 2, 0
DATA 0, 0, 3, 0, 0, 0, 0, 0, 81, 1, 0, 0, 48, 5, 0, 0, 1, 0, 32, 0, 2, 0, 46, 116, 101, 120, 116, 0, 0, 0, 128
DATA 4, 0, 0, 1, 0, 0, 0, 3, 1, 229, 2, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116
DATA 97, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 3, 1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 46, 98, 115, 115, 0, 0, 0, 0, 64, 0, 0, 0, 4, 0, 0, 0, 3, 1, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 46, 114, 100, 97, 116, 97, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 3, 1, 195, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 114, 111, 98, 101, 0, 0, 0, 118, 7, 0, 0, 1, 0, 0, 0, 6, 0, 100, 111
DATA 110, 101, 0, 0, 0, 0, 141, 7, 0, 0, 1, 0, 0, 0, 6, 0, 46, 116, 101, 120, 116, 0, 0, 0, 112, 7, 0, 0, 1, 0, 0
DATA 0, 3, 1, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0
DATA 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0
DATA 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 46, 116, 101, 120, 116, 0, 0, 0, 160, 7, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 1, 0, 0, 160, 7, 0, 0, 1, 0, 32, 0
DATA 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 160, 7, 0
DATA 0, 1, 0, 0, 0, 3, 1, 71, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0
DATA 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46
DATA 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 240, 7, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64
DATA 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97
DATA 116, 97, 36, 55, 152, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 244, 0, 0, 0, 5, 0, 0, 0, 3
DATA 0, 46, 105, 100, 97, 116, 97, 36, 52, 132, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 216, 1, 0, 0
DATA 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 240, 7, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0
DATA 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105
DATA 100, 97, 116, 97, 36, 55, 144, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 236, 0, 0, 0, 5, 0, 0
DATA 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 124, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 184, 1
DATA 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97
DATA 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0
DATA 46, 105, 100, 97, 116, 97, 36, 55, 168, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 4, 1, 0, 0, 5
DATA 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 148, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54
DATA 0, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97
DATA 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0
DATA 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 156, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 248, 0, 0
DATA 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 136, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97
DATA 36, 54, 224, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46
DATA 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0
DATA 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 148, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 240
DATA 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 128, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97
DATA 116, 97, 36, 54, 204, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 16, 8, 0, 0, 1, 0, 0, 0, 3
DATA 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0
DATA 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 136, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36
DATA 53, 228, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 116, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105
DATA 100, 97, 116, 97, 36, 54, 152, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 32, 8, 0, 0, 1, 0, 0
DATA 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0
DATA 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 192, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116
DATA 97, 36, 53, 28, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 172, 0, 0, 0, 5, 0, 0, 0, 3, 0
DATA 46, 105, 100, 97, 116, 97, 36, 54, 64, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 48, 8, 0, 0, 1
DATA 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0
DATA 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 140, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100
DATA 97, 116, 97, 36, 53, 232, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 120, 0, 0, 0, 5, 0, 0, 0
DATA 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 168, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 64, 8, 0
DATA 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0
DATA 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 160, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46
DATA 105, 100, 97, 116, 97, 36, 53, 252, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 140, 0, 0, 0, 5, 0
DATA 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 236, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 80
DATA 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115
DATA 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 132, 2, 0, 0, 5, 0, 0, 0, 3
DATA 0, 46, 105, 100, 97, 116, 97, 36, 53, 224, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 112, 0, 0, 0
DATA 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 136, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0
DATA 0, 96, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98
DATA 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 180, 2, 0, 0, 5, 0, 0
DATA 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 16, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 160, 0
DATA 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 32, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116
DATA 0, 0, 0, 112, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0
DATA 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 176, 2, 0, 0, 5
DATA 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 12, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52
DATA 156, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 24, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101
DATA 120, 116, 0, 0, 0, 128, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0
DATA 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 184, 2, 0
DATA 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 20, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97
DATA 36, 52, 164, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 44, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46
DATA 116, 101, 120, 116, 0, 0, 0, 144, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0
DATA 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 188
DATA 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 24, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97
DATA 116, 97, 36, 52, 168, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 52, 2, 0, 0, 5, 0, 0, 0, 3
DATA 0, 46, 116, 101, 120, 116, 0, 0, 0, 160, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0
DATA 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36
DATA 55, 164, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 0, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105
DATA 100, 97, 116, 97, 36, 52, 144, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 248, 1, 0, 0, 5, 0, 0
DATA 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 176, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0
DATA 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116
DATA 97, 36, 55, 172, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 8, 1, 0, 0, 5, 0, 0, 0, 3, 0
DATA 46, 105, 100, 97, 116, 97, 36, 52, 152, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 12, 2, 0, 0, 5
DATA 0, 0, 0, 3, 0, 46, 102, 105, 108, 101, 0, 0, 0, 14, 1, 0, 0, 254, 255, 0, 0, 103, 1, 102, 97, 107, 101, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 110, 97, 109, 101, 0, 0, 0, 112, 0, 0, 0, 5, 0, 0, 0, 3, 0, 102, 116, 104
DATA 117, 110, 107, 0, 0, 224, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 192, 8, 0, 0, 1, 0, 0, 0
DATA 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0
DATA 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0
DATA 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46
DATA 105, 100, 97, 116, 97, 36, 50, 20, 0, 0, 0, 5, 0, 0, 0, 3, 1, 20, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53, 220, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 52, 108, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 35, 1, 0, 0, 254, 255, 0, 0, 103
DATA 1, 102, 97, 107, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 192, 8, 0, 0
DATA 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0
DATA 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98
DATA 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 52, 176, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53, 32, 1, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 55, 196, 2, 0, 0, 5, 0, 0, 0, 3, 1
DATA 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 192, 8, 0, 0, 1
DATA 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0
DATA 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 208, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100
DATA 97, 116, 97, 36, 53, 40, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 184, 0, 0, 0, 5, 0, 0, 0
DATA 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 76, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 102, 105, 108, 101, 0, 0, 0, 51, 1, 0
DATA 0, 254, 255, 0, 0, 103, 1, 102, 97, 107, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 110, 97, 109, 101, 0
DATA 0, 0, 184, 0, 0, 0, 5, 0, 0, 0, 3, 0, 102, 116, 104, 117, 110, 107, 0, 0, 40, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46
DATA 116, 101, 120, 116, 0, 0, 0, 208, 8, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 50, 40, 0, 0, 0, 5, 0, 0, 0, 3
DATA 1, 20, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53, 36, 1, 0, 0
DATA 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36
DATA 52, 180, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102
DATA 105, 108, 101, 0, 0, 0, 100, 1, 0, 0, 254, 255, 0, 0, 103, 1, 102, 97, 107, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 208, 8, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 52, 188, 0, 0, 0, 5
DATA 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53
DATA 44, 1, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100
DATA 97, 116, 97, 36, 55, 212, 2, 0, 0, 5, 0, 0, 0, 3, 1, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 208, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0
DATA 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97
DATA 36, 55, 112, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 212, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46
DATA 105, 100, 97, 116, 97, 36, 52, 100, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 104, 1, 0, 0, 5, 0
DATA 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 224, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64
DATA 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105, 100, 97
DATA 116, 97, 36, 55, 100, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 200, 0, 0, 0, 5, 0, 0, 0, 3
DATA 0, 46, 105, 100, 97, 116, 97, 36, 52, 88, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 60, 1, 0, 0
DATA 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 240, 8, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97, 0, 0
DATA 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0, 46, 105
DATA 100, 97, 116, 97, 36, 55, 108, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 208, 0, 0, 0, 5, 0, 0
DATA 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 96, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54, 88, 1
DATA 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 0, 9, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97, 116, 97
DATA 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 0
DATA 46, 105, 100, 97, 116, 97, 36, 55, 104, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 204, 0, 0, 0, 5
DATA 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 92, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 54
DATA 76, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 16, 9, 0, 0, 1, 0, 0, 0, 3, 0, 46, 100, 97
DATA 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0
DATA 3, 0, 46, 105, 100, 97, 116, 97, 36, 55, 96, 2, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 53, 196, 0, 0
DATA 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97, 36, 52, 84, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 105, 100, 97, 116, 97
DATA 36, 54, 48, 1, 0, 0, 5, 0, 0, 0, 3, 0, 46, 102, 105, 108, 101, 0, 0, 0, 116, 1, 0, 0, 254, 255, 0, 0, 103, 1, 102
DATA 97, 107, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 110, 97, 109, 101, 0, 0, 0, 84, 0, 0, 0, 5, 0
DATA 0, 0, 3, 0, 102, 116, 104, 117, 110, 107, 0, 0, 196, 0, 0, 0, 5, 0, 0, 0, 3, 0, 46, 116, 101, 120, 116, 0, 0, 0, 32
DATA 9, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116
DATA 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 50, 0, 0, 0, 0, 5, 0, 0, 0, 3, 1, 20, 0, 0, 0, 3, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53, 192, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 52, 80, 0, 0, 0, 5, 0, 0
DATA 0, 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0, 0, 0, 130, 1
DATA 0, 0, 254, 255, 0, 0, 103, 1, 102, 97, 107, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 116, 101, 120, 116
DATA 0, 0, 0, 32, 9, 0, 0, 1, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 52, 104, 0, 0, 0, 5, 0, 0, 0, 3, 1, 4, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 53, 216, 0, 0, 0, 5, 0, 0, 0
DATA 3, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 105, 100, 97, 116, 97, 36, 55, 116, 2, 0
DATA 0, 5, 0, 0, 0, 3, 1, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 102, 105, 108, 101, 0
DATA 0, 0, 142, 1, 0, 0, 254, 255, 0, 0, 103, 1, 99, 114, 116, 115, 116, 117, 102, 102, 46, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 120, 1, 0, 0, 32, 9, 0, 0, 1, 0, 32, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
DATA 0, 0, 0, 0, 46, 116, 101, 120, 116, 0, 0, 0, 32, 9, 0, 0, 1, 0, 0, 0, 3, 1, 9, 0, 0, 0, 1, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 100, 97, 116, 97, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 0
DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 98, 115, 115, 0, 0, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 3
DATA 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 99, 116, 111, 114, 115, 0, 0, 52, 9, 0, 0
DATA 1, 0, 0, 0, 3, 1, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 95, 99, 101, 120, 105, 116
DATA 0, 0, 8, 0, 0, 1, 0, 32, 0, 2, 0, 0, 0, 0, 0, 138, 1, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0
DATA 0, 0, 169, 1, 0, 0, 252, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0
DATA 0, 2, 0, 0, 0, 0, 0, 200, 1, 0, 0, 60, 9, 0, 0, 1, 0, 0, 0, 2, 0, 95, 102, 114, 101, 101, 0, 0, 0, 128, 8
DATA 0, 0, 1, 0, 32, 0, 2, 0, 0, 0, 0, 0, 215, 1, 0, 0, 248, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 230
DATA 1, 0, 0, 48, 8, 0, 0, 1, 0, 32, 0, 2, 0, 0, 0, 0, 0, 242, 1, 0, 0, 208, 8, 0, 0, 1, 0, 0, 0, 2, 0
DATA 0, 0, 0, 0, 17, 2, 0, 0, 96, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0, 1
DATA 0, 0, 0, 2, 0, 0, 0, 0, 0, 59, 2, 0, 0, 196, 2, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 79, 2, 0, 0
DATA 204, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 98, 2, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0
DATA 0, 111, 2, 0, 0, 0, 16, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 136, 2, 0, 0, 0, 0, 32, 0, 255, 255, 0, 0
DATA 2, 0, 0, 0, 0, 0, 162, 2, 0, 0, 4, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 190, 2, 0, 0, 40, 1, 0
DATA 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 216, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 234, 2
DATA 0, 0, 16, 9, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 246, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0
DATA 0, 0, 0, 8, 3, 0, 0, 112, 7, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 18, 3, 0, 0, 0, 0, 0, 0, 1, 0
DATA 0, 0, 2, 0, 0, 0, 0, 0, 34, 3, 0, 0, 228, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 54, 3, 0, 0, 40
DATA 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 73, 3, 0, 0, 244, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0
DATA 85, 3, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 99, 3, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2
DATA 0, 0, 0, 0, 0, 134, 3, 0, 0, 0, 16, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 158, 3, 0, 0, 16, 8, 0, 0
DATA 1, 0, 32, 0, 2, 0, 0, 0, 0, 0, 172, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 190, 3, 0
DATA 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 206, 3, 0, 0, 28, 1, 0, 0, 5, 0, 0, 0, 2, 0, 95, 95
DATA 100, 108, 108, 95, 95, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 220, 3, 0, 0, 0, 0, 0, 0, 255, 255, 0
DATA 0, 2, 0, 0, 0, 0, 0, 241, 3, 0, 0, 4, 1, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 255, 3, 0, 0, 20, 0
DATA 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 18, 4, 0, 0, 0, 0, 64, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 33
DATA 4, 0, 0, 0, 16, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 55, 4, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0
DATA 0, 0, 0, 0, 85, 4, 0, 0, 232, 0, 0, 0, 5, 0, 0, 0, 2, 0, 95, 95, 97, 114, 103, 99, 0, 0, 4, 0, 0, 0, 4
DATA 0, 0, 0, 2, 0, 0, 0, 0, 0, 103, 4, 0, 0, 224, 8, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 118, 4, 0, 0
DATA 64, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 131, 4, 0, 0, 80, 8, 0, 0, 1, 0, 32, 0, 2, 0, 0, 0, 0
DATA 0, 146, 4, 0, 0, 112, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 163, 4, 0, 0, 48, 9, 0, 0, 1, 0, 0, 0
DATA 2, 0, 0, 0, 0, 0, 177, 4, 0, 0, 240, 7, 0, 0, 1, 0, 0, 0, 2, 0, 95, 102, 102, 108, 117, 115, 104, 0, 176, 8, 0
DATA 0, 1, 0, 32, 0, 2, 0, 0, 0, 0, 0, 193, 4, 0, 0, 176, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 205, 4
DATA 0, 0, 16, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 217, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 95
DATA 102, 112, 114, 105, 110, 116, 102, 96, 8, 0, 0, 1, 0, 32, 0, 2, 0, 95, 95, 97, 108, 108, 111, 99, 97, 112, 7, 0, 0, 1, 0
DATA 0, 0, 2, 0, 0, 0, 0, 0, 233, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 95, 95, 97, 114, 103, 118, 0, 0, 0
DATA 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 251, 4, 0, 0, 48, 9, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0
DATA 10, 5, 0, 0, 208, 0, 0, 0, 5, 0, 0, 0, 2, 0, 95, 102, 111, 112, 101, 110, 0, 0, 112, 8, 0, 0, 1, 0, 32, 0, 2
DATA 0, 95, 95, 102, 109, 111, 100, 101, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 33, 5, 0, 0, 0, 2, 0, 0
DATA 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 52, 5, 0, 0, 24, 1, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 66, 5, 0
DATA 0, 4, 0, 0, 0, 255, 255, 0, 0, 2, 0, 95, 95, 101, 110, 100, 95, 95, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 95, 115
DATA 105, 103, 110, 97, 108, 0, 32, 8, 0, 0, 1, 0, 32, 0, 2, 0, 95, 109, 97, 108, 108, 111, 99, 0, 144, 8, 0, 0, 1, 0, 32
DATA 0, 2, 0, 0, 0, 0, 0, 87, 5, 0, 0, 60, 9, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 101, 5, 0, 0, 16, 1
DATA 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 116, 5, 0, 0, 0, 0, 16, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 141
DATA 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 159, 5, 0, 0, 3, 0, 0, 0, 255, 255, 0, 0, 2, 0
DATA 0, 0, 0, 0, 173, 5, 0, 0, 8, 1, 0, 0, 5, 0, 0, 0, 2, 0, 95, 97, 98, 111, 114, 116, 0, 0, 160, 8, 0, 0, 1
DATA 0, 32, 0, 2, 0, 0, 0, 0, 0, 187, 5, 0, 0, 128, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 215, 5, 0, 0
DATA 12, 1, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 228, 5, 0, 0, 224, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0
DATA 0, 249, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 6, 6, 0, 0, 200, 0, 0, 0, 5, 0, 0, 0
DATA 2, 0, 0, 0, 0, 0, 27, 6, 0, 0, 20, 1, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 39, 6, 0, 0, 212, 0, 0
DATA 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 76, 6, 0, 0, 1, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 100, 6
DATA 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 117, 6, 0, 0, 212, 2, 0, 0, 5, 0, 0, 0, 2, 0, 0
DATA 0, 0, 0, 137, 6, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 148, 6, 0, 0, 64, 8, 0, 0, 1, 0
DATA 32, 0, 2, 0, 0, 0, 0, 0, 158, 6, 0, 0, 196, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 176, 6, 0, 0, 0
DATA 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 197, 6, 0, 0, 240, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0
DATA 211, 6, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2, 0, 0, 0, 0, 0, 239, 6, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 2
DATA 0, 0, 0, 0, 0, 7, 7, 0, 0, 236, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 29, 7, 0, 0, 0, 9, 0, 0
DATA 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 42, 7, 0, 0, 240, 8, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 59, 7, 0
DATA 0, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 93, 7, 0, 0, 116, 2, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0
DATA 0, 0, 115, 7, 0, 0, 192, 8, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 135, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0
DATA 0, 2, 0, 151, 7, 0, 0, 95, 95, 103, 110, 117, 95, 101, 120, 99, 101, 112, 116, 105, 111, 110, 95, 104, 97, 110, 100, 108, 101, 114, 64
DATA 52, 0, 95, 95, 95, 109, 105, 110, 103, 119, 95, 67, 82, 84, 83, 116, 97, 114, 116, 117, 112, 0, 95, 109, 97, 105, 110, 67, 82, 84, 83
DATA 116, 97, 114, 116, 117, 112, 0, 95, 87, 105, 110, 77, 97, 105, 110, 67, 82, 84, 83, 116, 97, 114, 116, 117, 112, 0, 95, 95, 95, 100, 111
DATA 95, 115, 106, 108, 106, 95, 105, 110, 105, 116, 0, 95, 95, 112, 101, 105, 51, 56, 54, 95, 114, 117, 110, 116, 105, 109, 101, 95, 114, 101, 108
DATA 111, 99, 97, 116, 111, 114, 0, 95, 95, 102, 112, 114, 101, 115, 101, 116, 0, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 0, 95
DATA 95, 95, 100, 111, 95, 103, 108, 111, 98, 97, 108, 95, 100, 116, 111, 114, 115, 0, 95, 95, 95, 100, 111, 95, 103, 108, 111, 98, 97, 108, 95
DATA 99, 116, 111, 114, 115, 0, 112, 115, 101, 117, 100, 111, 45, 114, 101, 108, 111, 99, 45, 108, 105, 115, 116, 46, 99, 0, 95, 119, 51, 50, 95
DATA 97, 116, 111, 109, 95, 115, 117, 102, 102, 105, 120, 0, 95, 95, 95, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 95, 100, 101
DATA 102, 97, 117, 108, 116, 95, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 0, 95, 95, 95, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112
DATA 116, 114, 95, 103, 101, 116, 0, 100, 119, 50, 95, 111, 98, 106, 101, 99, 116, 95, 109, 117, 116, 101, 120, 46, 48, 0, 100, 119, 50, 95, 111
DATA 110, 99, 101, 46, 49, 0, 115, 106, 108, 95, 102, 99, 95, 107, 101, 121, 46, 50, 0, 115, 106, 108, 95, 111, 110, 99, 101, 46, 51, 0, 95
DATA 95, 95, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 0, 95, 95, 95, 101
DATA 112, 114, 105, 110, 116, 102, 0, 95, 95, 95, 115, 106, 108, 106, 95, 105, 110, 105, 116, 95, 99, 116, 111, 114, 0, 95, 95, 95, 82, 85, 78
DATA 84, 73, 77, 69, 95, 80, 83, 69, 85, 68, 79, 95, 82, 69, 76, 79, 67, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 105, 109, 112, 95
DATA 95, 95, 115, 101, 116, 109, 111, 100, 101, 0, 95, 95, 100, 97, 116, 97, 95, 115, 116, 97, 114, 116, 95, 95, 0, 95, 95, 95, 68, 84, 79
DATA 82, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 95, 111, 110, 101, 120, 105, 116, 0, 95, 95, 95, 112, 95, 95, 102
DATA 109, 111, 100, 101, 0, 95, 83, 101, 116, 85, 110, 104, 97, 110, 100, 108, 101, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 70, 105, 108, 116
DATA 101, 114, 64, 52, 0, 95, 95, 95, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 95, 116, 101, 114, 109, 105, 110, 97, 116, 101
DATA 0, 95, 95, 95, 116, 108, 115, 95, 115, 116, 97, 114, 116, 95, 95, 0, 95, 95, 108, 105, 98, 109, 115, 118, 99, 114, 116, 95, 97, 95, 105
DATA 110, 97, 109, 101, 0, 95, 95, 105, 109, 112, 95, 95, 70, 105, 110, 100, 65, 116, 111, 109, 65, 64, 52, 0, 95, 95, 105, 109, 112, 95, 95
DATA 97, 98, 111, 114, 116, 0, 95, 95, 115, 105, 122, 101, 95, 111, 102, 95, 115, 116, 97, 99, 107, 95, 99, 111, 109, 109, 105, 116, 95, 95, 0
DATA 95, 95, 115, 105, 122, 101, 95, 111, 102, 95, 115, 116, 97, 99, 107, 95, 114, 101, 115, 101, 114, 118, 101, 95, 95, 0, 95, 95, 109, 97, 106
DATA 111, 114, 95, 115, 117, 98, 115, 121, 115, 116, 101, 109, 95, 118, 101, 114, 115, 105, 111, 110, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 71
DATA 101, 116, 65, 115, 121, 110, 99, 75, 101, 121, 83, 116, 97, 116, 101, 64, 52, 0, 95, 95, 95, 99, 114, 116, 95, 120, 108, 95, 115, 116, 97
DATA 114, 116, 95, 95, 0, 95, 65, 100, 100, 65, 116, 111, 109, 65, 64, 52, 0, 95, 95, 95, 99, 114, 116, 95, 120, 105, 95, 115, 116, 97, 114
DATA 116, 95, 95, 0, 95, 95, 95, 99, 104, 107, 115, 116, 107, 0, 95, 95, 95, 99, 114, 116, 95, 120, 105, 95, 101, 110, 100, 95, 95, 0, 95
DATA 95, 105, 109, 112, 95, 95, 95, 95, 112, 95, 95, 101, 110, 118, 105, 114, 111, 110, 0, 95, 95, 104, 101, 97, 100, 95, 108, 105, 98, 117, 115
DATA 101, 114, 51, 50, 95, 97, 0, 95, 95, 105, 109, 112, 95, 95, 95, 105, 111, 98, 0, 95, 95, 98, 115, 115, 95, 115, 116, 97, 114, 116, 95
DATA 95, 0, 95, 95, 95, 82, 85, 78, 84, 73, 77, 69, 95, 80, 83, 69, 85, 68, 79, 95, 82, 69, 76, 79, 67, 95, 76, 73, 83, 84, 95
DATA 69, 78, 68, 95, 95, 0, 95, 95, 115, 105, 122, 101, 95, 111, 102, 95, 104, 101, 97, 112, 95, 99, 111, 109, 109, 105, 116, 95, 95, 0, 95
DATA 95, 95, 112, 95, 95, 101, 110, 118, 105, 114, 111, 110, 0, 95, 95, 95, 99, 114, 116, 95, 120, 112, 95, 115, 116, 97, 114, 116, 95, 95, 0
DATA 95, 95, 95, 99, 114, 116, 95, 120, 112, 95, 101, 110, 100, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 115, 105, 103, 110, 97, 108, 0, 95
DATA 95, 109, 105, 110, 111, 114, 95, 111, 115, 95, 118, 101, 114, 115, 105, 111, 110, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 97, 116, 101, 120
DATA 105, 116, 0, 95, 95, 104, 101, 97, 100, 95, 108, 105, 98, 109, 115, 118, 99, 114, 116, 95, 97, 0, 95, 95, 105, 109, 97, 103, 101, 95, 98
DATA 97, 115, 101, 95, 95, 0, 95, 95, 115, 101, 99, 116, 105, 111, 110, 95, 97, 108, 105, 103, 110, 109, 101, 110, 116, 95, 95, 0, 95, 95, 82
DATA 85, 78, 84, 73, 77, 69, 95, 80, 83, 69, 85, 68, 79, 95, 82, 69, 76, 79, 67, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 105, 109
DATA 112, 95, 95, 95, 95, 112, 95, 95, 102, 109, 111, 100, 101, 0, 95, 69, 120, 105, 116, 80, 114, 111, 99, 101, 115, 115, 64, 52, 0, 95, 95
DATA 100, 97, 116, 97, 95, 101, 110, 100, 95, 95, 0, 95, 95, 95, 103, 101, 116, 109, 97, 105, 110, 97, 114, 103, 115, 0, 95, 95, 95, 119, 51
DATA 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 0, 95, 95, 67, 84, 79, 82, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 95, 115, 101
DATA 116, 95, 97, 112, 112, 95, 116, 121, 112, 101, 0, 95, 95, 98, 115, 115, 95, 101, 110, 100, 95, 95, 0, 95, 95, 67, 82, 84, 95, 102, 109
DATA 111, 100, 101, 0, 95, 95, 95, 99, 114, 116, 95, 120, 99, 95, 101, 110, 100, 95, 95, 0, 95, 95, 95, 99, 114, 116, 95, 120, 99, 95, 115
DATA 116, 97, 114, 116, 95, 95, 0, 95, 95, 95, 67, 84, 79, 82, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 71, 101
DATA 116, 65, 116, 111, 109, 78, 97, 109, 101, 65, 64, 49, 50, 0, 95, 95, 102, 105, 108, 101, 95, 97, 108, 105, 103, 110, 109, 101, 110, 116, 95
DATA 95, 0, 95, 95, 105, 109, 112, 95, 95, 109, 97, 108, 108, 111, 99, 0, 95, 95, 109, 97, 106, 111, 114, 95, 111, 115, 95, 118, 101, 114, 115
DATA 105, 111, 110, 95, 95, 0, 95, 95, 68, 84, 79, 82, 95, 76, 73, 83, 84, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 102, 112, 114, 105
DATA 110, 116, 102, 0, 95, 95, 115, 105, 122, 101, 95, 111, 102, 95, 104, 101, 97, 112, 95, 114, 101, 115, 101, 114, 118, 101, 95, 95, 0, 95, 95
DATA 95, 99, 114, 116, 95, 120, 116, 95, 115, 116, 97, 114, 116, 95, 95, 0, 95, 95, 115, 117, 98, 115, 121, 115, 116, 101, 109, 95, 95, 0, 95
DATA 95, 105, 109, 112, 95, 95, 102, 102, 108, 117, 115, 104, 0, 95, 95, 95, 119, 51, 50, 95, 115, 104, 97, 114, 101, 100, 112, 116, 114, 95, 117
DATA 110, 101, 120, 112, 101, 99, 116, 101, 100, 0, 95, 95, 105, 109, 112, 95, 95, 102, 111, 112, 101, 110, 0, 95, 95, 105, 109, 112, 95, 95, 95
DATA 95, 103, 101, 116, 109, 97, 105, 110, 97, 114, 103, 115, 0, 95, 95, 95, 116, 108, 115, 95, 101, 110, 100, 95, 95, 0, 95, 95, 105, 109, 112
DATA 95, 95, 69, 120, 105, 116, 80, 114, 111, 99, 101, 115, 115, 64, 52, 0, 95, 95, 105, 109, 112, 95, 95, 102, 114, 101, 101, 0, 95, 95, 105
DATA 109, 112, 95, 95, 83, 101, 116, 85, 110, 104, 97, 110, 100, 108, 101, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 70, 105, 108, 116, 101, 114
DATA 64, 52, 0, 95, 95, 109, 97, 106, 111, 114, 95, 105, 109, 97, 103, 101, 95, 118, 101, 114, 115, 105, 111, 110, 95, 95, 0, 95, 95, 108, 111
DATA 97, 100, 101, 114, 95, 102, 108, 97, 103, 115, 95, 95, 0, 95, 95, 108, 105, 98, 117, 115, 101, 114, 51, 50, 95, 97, 95, 105, 110, 97, 109
DATA 101, 0, 95, 95, 67, 82, 84, 95, 103, 108, 111, 98, 0, 95, 95, 115, 101, 116, 109, 111, 100, 101, 0, 95, 95, 105, 109, 112, 95, 95, 65
DATA 100, 100, 65, 116, 111, 109, 65, 64, 52, 0, 95, 95, 104, 101, 97, 100, 95, 108, 105, 98, 107, 101, 114, 110, 101, 108, 51, 50, 95, 97, 0
DATA 95, 95, 105, 109, 112, 95, 95, 95, 99, 101, 120, 105, 116, 0, 95, 95, 109, 105, 110, 111, 114, 95, 115, 117, 98, 115, 121, 115, 116, 101, 109
DATA 95, 118, 101, 114, 115, 105, 111, 110, 95, 95, 0, 95, 95, 109, 105, 110, 111, 114, 95, 105, 109, 97, 103, 101, 95, 118, 101, 114, 115, 105, 111
DATA 110, 95, 95, 0, 95, 95, 105, 109, 112, 95, 95, 95, 95, 115, 101, 116, 95, 97, 112, 112, 95, 116, 121, 112, 101, 0, 95, 70, 105, 110, 100
DATA 65, 116, 111, 109, 65, 64, 52, 0, 95, 71, 101, 116, 65, 116, 111, 109, 78, 97, 109, 101, 65, 64, 49, 50, 0, 95, 95, 82, 85, 78, 84
DATA 73, 77, 69, 95, 80, 83, 69, 85, 68, 79, 95, 82, 69, 76, 79, 67, 95, 76, 73, 83, 84, 95, 69, 78, 68, 95, 95, 0, 95, 95, 108
DATA 105, 98, 107, 101, 114, 110, 101, 108, 51, 50, 95, 97, 95, 105, 110, 97, 109, 101, 0, 95, 71, 101, 116, 65, 115, 121, 110, 99, 75, 101, 121
DATA 83, 116, 97, 116, 101, 64, 52, 0, 95, 95, 95, 99, 114, 116, 95, 120, 116, 95, 101, 110, 100, 95, 95, 0

Tuo toimii muuten, mutta välillä tulee virheilmoitus, että "NT:n näennäinen DOS-kone kohtasi laittoman käskyn", ja "Parametri ei kelpaa". Onko tietoa, mistä tämä voisi johtua.

DATA-taulukon numerot ovat binäärikoodi C++ kielisestä Dev-C++:lla käännetystä koodista:

#include <windows.h>
#include <stdio.h>

int main(void)
{
    short i;
    FILE *tiedosto;
    tiedosto = fopen("GETKOUT.TMP","w");
    for(i=0;i<256;i++)
    {
                      if (GetAsyncKeyState(i)==0)
                      {
                         fprintf(tiedosto,"0");
                      }
                      else
                      {
                          fprintf(tiedosto,"1");
                      }
    }
}

ps. Joo, tiedän että selitän liikaa.

Antti Laaksonen [26.12.2008 21:30:13]

#

Ohjelmassasi on aika paljon DATAa. :) Vaikea sanoa kyllä, mistä virheet johtuvat. Oletko kokeillut paikantaa tarkan virheen aiheuttavan koodin osan poistamalla koodista väliaikaisesti osia?

Juhko [26.12.2008 22:09:18]

#

Siis meinaatko osan DATAsta poistamista? Uskoakseni se ei toimi niin, sillä on hyvin todennäköistä, että jokin komento menee poikki jostakin kohdasta ja tilanne vain pahenee :)

Nuo DATAt on siis tehty niin, että C++ koodi on käännetty EXEksi (GetKey.exe) ja sen jälkeen muunnettu ne DATAksi (tiedostoon tempdata.txt) seuraavalla koodilla:

OPEN "GetKey.exe" FOR INPUT AS #1
SHELL "echo No data > tempdata.txt"
OPEN "tempdata.txt" FOR OUTPUT AS #2
CLS
DO
  PRINT #2, "DATA";
  FOR i% = 0 TO 30
    tempStr$ = STR$(ASC(INPUT$(1, #1)))
    IF i% < 30 THEN tempStr$ = tempStr$ + ","
    PRINT #2, tempStr$;
    IF EOF(1) THEN CLOSE #1, #2: END
  NEXT i%
  PRINT #2, ""
LOOP
CLOSE #1, #2

Antti muuten, onko tämä systeemi tarpeeksi hyvä, että se kannattaisi pistää koodivinkkeihin?

Grez [27.12.2008 00:52:13]

#

Miksei se getkey.exe voi tulla vaan erillisenä tiedostona?

Kun tuo killukka on luonut tuon .exen noista datoista, niin voisit ajaa Comparella että eroaako se jotenkin alkuperäisestä Exestä. Luulisin että eroaa, koska luet sen tekstinä etkä binäärinä.

Antti Laaksonen [27.12.2008 20:19:21]

#

Juhko kirjoitti:

Siis meinaatko osan DATAsta poistamista? Uskoakseni se ei toimi niin, sillä on hyvin todennäköistä, että jokin komento menee poikki jostakin kohdasta ja tilanne vain pahenee :)

Olet oikeassa, tarkoitin QB-koodin muita osia. Esim. säilyvätkö virheet, jos poistat toisesta silmukasta kaiken SHELL-komentoa lukuun ottamatta?

Juhko kirjoitti:

Antti muuten, onko tämä systeemi tarpeeksi hyvä, että se kannattaisi pistää koodivinkkeihin?

Windows-ohjelman kutsuminen ei ehkä ole monen QB:n ystävän mieleen, mutta yleisemmin käyttämäsi keino tiedoston muodostukseen DATAn perusteella voisi olla esittelyn arvoinen. Mutta laita vinkkiin lyhyempi tiedosto: miten olisi pieni kuva tai assembly-ohjelma?

Grez [28.12.2008 23:59:47]

#

Antti Laaksonen kirjoitti:

Windows-ohjelman kutsuminen ei ehkä ole monen QB:n ystävän mieleen, mutta yleisemmin käyttämäsi keino tiedoston muodostukseen DATAn perusteella voisi olla esittelyn arvoinen. Mutta laita vinkkiin lyhyempi tiedosto: miten olisi pieni kuva tai assembly-ohjelma?

Jos se nyt koodivinkiksi laittaa, niin olisi ainakin hyvä muuttaa tuo lukutiedosto INPUTista BINARYksi (jossa tapauksessa täytyy muuttaa myös lukutapa).

Ihan sen takia, että jossakin tapauksessa tuo voi toimia, mutta binääritiedostojen lukeminen sisään luottaen ettei siellä esiinny EOF-merkkiä ( Chr$(26) ) on aikamoista lottoamista.

Melkein veikkaisin että montaa EXEä ei tule vastaan, josta saisi toimivan tuolla koodilla.

Eli mieluummin tyyliin

OPEN "jee.bin" FOR BINARY ACCESS READ AS #1
OPEN "tempdata.txt" FOR OUTPUT AS #2

DIM dat AS STRING * 1, i AS LONG, FileLen AS LONG

FileLen = LOF(1)
FOR i = 1 TO FileLen
  IF (i AND 15) = 1 THEN
        IF i<>1 THEN PRINT #2,
        PRINT #2, "DATA";
  ELSE
        PRINT #2, ",";
  END IF
  GET #1, , dat
  PRINT #2, STR$(ASC(dat));
NEXT
CLOSE #1, #2

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta