~crc_/retroforth

beeb5a165d3fcdb144d2f55bf089fbd88fd27023 — crc 9 days ago f62b954
nga w/o libc: no longer segfault on exit (freebsd & openbsd)

FossilOrigin-Name: 068c0fd2e322efeb743423607c3e712b0488c563e3374b9835d92437025dfb22
3 files changed, 538 insertions(+), 473 deletions(-)

M vm/nga-c-no-libc/bsd-amd64.s
M vm/nga-c-no-libc/image.c
M vm/nga-c-no-libc/retro.c
M vm/nga-c-no-libc/bsd-amd64.s => vm/nga-c-no-libc/bsd-amd64.s +4 -1
@@ 15,7 15,10 @@

.p2align 8
_start:
  jmp    main
  call    main
  movl   $0x0,%edi
  movq   $0x1,%rax
  syscall

putchar:
  mov    %rdi,%rax

M vm/nga-c-no-libc/image.c => vm/nga-c-no-libc/image.c +533 -469
@@ 10,58 10,68 @@
#define CELL_MAX LLONG_MAX - 1
#endif
#endif
CELL ngaImageCells = 9689;
CELL ngaImage[] = { 1793,9674,9664,9688,202107,379,351,1030,1535,0,10,1,10,2,10,3,10,4,10,
CELL ngaImageCells = 10979;
CELL ngaImage[] = { 1793,10964,10952,10978,202201,410,382,1230,1535,0,10,1,10,2,10,3,10,4,10,
                       5,10,6,10,7,10,8,10,11,10,12,10,13,10,14,10,15,10,16,10,
                       17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,68223234,1,2575,
                       85000450,1,656912,112,157,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,2049,56,25,
                       459011,76,524546,76,302256641,1,10,16974595,0,50529798,10,25,524547,95,50529798,10,17108738,1,251790353,101777669,
                       1,17565186,86,524545,90,64,167838467,-1,134287105,3,59,659457,3,459023,107,2049,56,25,2049,107,
                       1793,114,2049,114,117506307,0,107,0,524545,26,112,168820993,0,126,1642241,126,134283523,11,112,1793,
                       107,524545,2049,107,1793,107,16846593,126,140,157,1793,64,16846593,126,112,157,1793,64,7,10,
                       659713,1,659713,2,659713,3,1793,167,17108737,3,2,524559,107,2049,107,2049,107,2049,121,168820998,
                       2,535,1030,167841793,180,9,17826049,0,180,2,15,25,524546,163,134287105,181,95,2305,182,459023,
                       190,134287361,181,185,659201,180,10,659969,7,2049,56,25,17694978,58,206,9,84152833,48,319750404,205,
                       117507601,208,184618754,45,25,16974851,-1,168886532,1,134284289,1,221,134284289,0,208,660227,32,0,0,115,
                       105,103,105,108,58,115,0,285278479,238,6,2576,524546,81,1641217,1,167838467,235,2049,250,2049,
                       246,524545,238,200,17826050,237,0,2572,2563,2049,228,1793,133,459023,133,1793,276,17760513,145,3,
                       165,8,251727617,3,2,2049,159,16,168820993,-1,126,2049,159,2575,2049,200,17563906,0,290,9,
                       1793,133,285282049,3,2,134287105,126,287,524545,1793,107,16846593,3,0,107,8,659201,3,524545,26,
                       112,17043201,3,11,2049,112,2049,107,268505092,126,1642241,126,656131,659201,3,524545,11,112,2049,107,
                       459009,23,112,459009,55,112,459009,19,112,459009,21,112,1793,9,10,524546,159,134284303,161,1807,
                       1030,1642241,237,285282049,359,1,459012,354,117509889,180,354,134287105,359,200,16845825,0,367,351,1793,64,
                       1793,381,17826050,359,256,8,117506305,360,370,64,2116,11340,11700,11400,13685,13104,12432,12402,9603,9801,
                       11514,11413,11110,12528,11948,10302,13340,9700,13455,12753,10500,10670,12654,13320,11960,13908,10088,10605,11865,11025,
                       0,2049,200,987393,1,1793,107,524546,457,2049,455,2049,455,17891588,2,457,8,17045505,-24,-16,
                       17043736,-8,1118488,1793,107,17043202,1,169021201,2049,56,25,33883396,101450758,6404,459011,447,34668804,2,2049,444,
                       524545,389,447,302056196,389,659969,1,0,13,151,100,117,112,0,466,15,151,100,114,111,
                       112,0,473,17,151,115,119,97,112,0,481,25,151,99,97,108,108,0,489,27,
                       151,101,113,63,0,497,29,151,45,101,113,63,0,504,31,151,108,116,63,0,
                       512,33,151,103,116,63,0,519,35,151,102,101,116,99,104,0,526,37,151,115,
                       116,111,114,101,0,535,39,151,43,0,544,41,151,45,0,549,43,151,42,0,
                       554,45,151,47,109,111,100,0,559,47,151,97,110,100,0,567,49,151,111,114,
                       0,574,51,151,120,111,114,0,580,53,151,115,104,105,102,116,0,587,345,157,
                       112,117,115,104,0,596,348,157,112,111,112,0,604,342,157,48,59,0,611,56,
                       145,102,101,116,99,104,45,110,101,120,116,0,617,59,145,115,116,111,114,101,
                       45,110,101,120,116,0,631,228,145,115,58,116,111,45,110,117,109,98,101,114,
                       0,645,95,145,115,58,101,113,63,0,660,81,145,115,58,108,101,110,103,116,
                       104,0,669,64,145,99,104,111,111,115,101,0,681,74,151,105,102,0,691,72,
                       145,45,105,102,0,697,267,157,115,105,103,105,108,58,40,0,704,126,133,67,
                       111,109,112,105,108,101,114,0,715,3,133,72,101,97,112,0,727,107,145,44,
                       0,735,121,145,115,44,0,740,127,157,59,0,746,301,157,91,0,751,317,157,
                       93,0,756,2,133,68,105,99,116,105,111,110,97,114,121,0,761,158,145,100,
                       58,108,105,110,107,0,775,159,145,100,58,120,116,0,785,161,145,100,58,99,
                       108,97,115,115,0,793,163,145,100,58,110,97,109,101,0,804,145,145,99,108,
                       97,115,115,58,119,111,114,100,0,814,157,145,99,108,97,115,115,58,109,97,
                       99,114,111,0,828,133,145,99,108,97,115,115,58,100,97,116,97,0,843,165,
                       145,100,58,97,100,100,45,104,101,97,100,101,114,0,857,268,157,115,105,103,
                       105,108,58,35,0,873,274,157,115,105,103,105,108,58,58,0,884,293,157,115,
                       105,103,105,108,58,38,0,895,272,157,115,105,103,105,108,58,36,0,906,332,
                       157,114,101,112,101,97,116,0,917,334,157,97,103,97,105,110,0,927,379,145,
                       105,110,116,101,114,112,114,101,116,0,936,200,145,100,58,108,111,111,107,117,
                       112,0,949,151,145,99,108,97,115,115,58,112,114,105,109,105,116,105,118,101,
                       0,961,4,133,86,101,114,115,105,111,110,0,980,426,145,105,0,991,107,145,
                       100,0,996,420,145,114,0,1001,205,133,66,97,115,101,0,1006,351,145,101,114,
                       85000450,1,656912,133,178,268505089,63,62,285281281,0,63,2063,10,101384453,0,9,10,68485378,255,18350338,
                       8,255,1045,18350338,16,255,1045,352393217,24,255,10,268289,-24,68229121,-16,68229121,-8,2577,2049,56,
                       25,459011,97,524546,97,302256641,1,10,16974595,0,50529798,10,25,524547,116,50529798,10,17108738,1,251790353,
                       101777669,1,17565186,107,524545,111,64,167838467,-1,134287105,3,59,659457,3,459023,128,2049,56,25,2049,
                       128,1793,135,2049,135,117506307,0,128,0,524545,26,133,168820993,0,147,1642241,147,134283523,11,133,
                       1793,128,524545,2049,128,1793,128,16846593,147,161,178,1793,64,16846593,147,133,178,1793,64,7,
                       10,659713,1,659713,2,659713,3,659713,4,659713,5,1793,192,17108737,3,2,524559,128,2049,128,
                       2049,128,524545,0,128,524545,0,128,2049,142,168820998,2,595,1230,167841793,211,9,17826049,0,211,
                       2,15,25,524546,188,134287105,212,116,2305,213,459023,221,134287361,212,216,659201,211,10,659969,7,
                       2049,56,25,17694978,58,237,9,84152833,48,319750404,236,117507601,239,184618754,45,25,16974851,-1,168886532,1,
                       134284289,1,252,134284289,0,239,660227,32,0,0,115,105,103,105,108,58,115,0,285278479,269,
                       6,2576,524546,102,1641217,1,167838467,266,2049,281,2049,277,524545,269,231,17826050,268,0,2572,2563,
                       2049,259,1793,154,459023,154,1793,307,17760513,166,3,190,8,251727617,3,2,2049,180,16,168820993,
                       -1,147,2049,180,2575,2049,231,17563906,0,321,9,1793,154,285282049,3,2,134287105,147,318,524545,
                       1793,128,16846593,3,0,128,8,659201,3,524545,26,133,17043201,3,11,2049,133,2049,128,268505092,
                       147,1642241,147,656131,659201,3,524545,11,133,2049,128,459009,23,133,459009,55,133,459009,19,133,
                       459009,21,133,1793,9,10,524546,180,134284303,182,1807,1230,1642241,268,285282049,390,1,459012,385,117509889,
                       211,385,134287105,390,231,16845825,0,398,382,1793,64,1793,412,17826050,390,287,8,117506305,391,401,
                       64,2116,11340,11700,11400,13685,13104,12432,12402,9603,9801,11514,11413,11110,12528,11948,10302,13340,9700,13455,
                       12753,10500,10670,12654,13320,11960,13908,10088,10605,11865,11025,0,2049,231,987393,1,1793,128,524546,488,
                       2049,486,2049,486,17891588,2,488,8,17045505,-24,-16,17043736,-8,1118488,1793,128,17043202,1,169021201,2049,
                       56,25,33883396,101450758,6404,459011,478,34668804,2,2049,475,524545,420,478,302056196,420,659969,1,114,101,
                       116,114,111,46,109,117,114,105,0,0,13,172,497,0,100,117,112,0,508,15,
                       172,497,0,100,114,111,112,0,517,17,172,497,0,115,119,97,112,0,527,25,
                       172,497,0,99,97,108,108,0,537,27,172,497,0,101,113,63,0,547,29,172,
                       497,0,45,101,113,63,0,556,31,172,497,0,108,116,63,0,566,33,172,497,
                       0,103,116,63,0,575,35,172,497,0,102,101,116,99,104,0,584,37,172,497,
                       0,115,116,111,114,101,0,595,39,172,497,0,43,0,606,41,172,497,0,45,
                       0,613,43,172,497,0,42,0,620,45,172,497,0,47,109,111,100,0,627,47,
                       172,497,0,97,110,100,0,637,49,172,497,0,111,114,0,646,51,172,497,0,
                       120,111,114,0,654,53,172,497,0,115,104,105,102,116,0,663,376,178,497,0,
                       112,117,115,104,0,674,379,178,497,0,112,111,112,0,684,373,178,497,0,48,
                       59,0,693,56,166,497,0,102,101,116,99,104,45,110,101,120,116,0,701,59,
                       166,497,0,115,116,111,114,101,45,110,101,120,116,0,717,259,166,497,0,115,
                       58,116,111,45,110,117,109,98,101,114,0,733,116,166,497,0,115,58,101,113,
                       63,0,750,102,166,497,0,115,58,108,101,110,103,116,104,0,761,64,166,497,
                       0,99,104,111,111,115,101,0,775,74,172,497,0,105,102,0,787,72,166,497,
                       0,45,105,102,0,795,298,178,497,0,115,105,103,105,108,58,40,0,804,147,
                       154,497,0,67,111,109,112,105,108,101,114,0,817,3,154,497,0,72,101,97,
                       112,0,831,128,166,497,0,44,0,841,142,166,497,0,115,44,0,848,148,178,
                       497,0,59,0,856,332,178,497,0,91,0,863,348,178,497,0,93,0,870,2,
                       154,497,0,68,105,99,116,105,111,110,97,114,121,0,877,179,166,497,0,100,
                       58,108,105,110,107,0,893,180,166,497,0,100,58,120,116,0,905,182,166,497,
                       0,100,58,99,108,97,115,115,0,915,188,166,497,0,100,58,110,97,109,101,
                       0,928,166,166,497,0,99,108,97,115,115,58,119,111,114,100,0,940,178,166,
                       497,0,99,108,97,115,115,58,109,97,99,114,111,0,956,154,166,497,0,99,
                       108,97,115,115,58,100,97,116,97,0,973,190,166,497,0,100,58,97,100,100,
                       45,104,101,97,100,101,114,0,989,299,178,497,0,115,105,103,105,108,58,35,
                       0,1007,305,178,497,0,115,105,103,105,108,58,58,0,1020,324,178,497,0,115,
                       105,103,105,108,58,38,0,1033,303,178,497,0,115,105,103,105,108,58,36,0,
                       1046,363,178,497,0,114,101,112,101,97,116,0,1059,365,178,497,0,97,103,97,
                       105,110,0,1071,410,166,497,0,105,110,116,101,114,112,114,101,116,0,1082,231,
                       166,497,0,100,58,108,111,111,107,117,112,0,1097,172,166,497,0,99,108,97,
                       115,115,58,112,114,105,109,105,116,105,118,101,0,1111,4,154,497,0,86,101,
                       114,115,105,111,110,0,1132,457,166,497,0,105,0,1145,128,166,497,0,100,0,
                       1152,451,166,497,0,114,0,1159,236,154,497,0,66,97,115,101,0,1166,90,166,
                       497,0,112,97,99,107,0,1176,76,166,497,0,117,110,112,97,99,107,0,1186,
                       184,166,497,0,100,58,115,111,117,114,99,101,0,1198,382,166,497,0,101,114,
                       114,58,110,111,116,102,111,117,110,100,0,115,116,111,114,101,0,110,0,101,
                       116,0,101,114,118,101,0,115,0,63,0,0,0,63,64,91,92,93,94,96,
                       123,124,125,126,0,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,


@@ 77,422 87,476 @@ CELL ngaImage[] = { 1793,9674,9664,9688,202107,379,351,1030,1535,0,10,1,10,2,10,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1014,1543,145,
                       69,79,77,0,1,-3,15,10,1536,1556,145,100,101,112,116,104,0,1,-1,15,
                       10,1547,1570,145,100,58,108,97,115,116,0,1,2,15,10,1560,1587,145,100,58,
                       108,97,115,116,46,120,116,0,2049,1570,2049,159,15,10,1574,1609,145,100,58,108,
                       97,115,116,46,99,108,97,115,115,0,2049,1570,2049,161,15,10,1593,1630,145,100,
                       58,108,97,115,116,46,110,97,109,101,0,2049,1570,2049,163,10,1615,1646,145,114,
                       101,99,108,97,115,115,0,2049,1570,2049,161,16,10,1635,1665,145,105,109,109,101,
                       100,105,97,116,101,0,1,157,2049,1646,10,1652,1678,145,100,97,116,97,0,1,
                       133,2049,1646,10,1670,1696,145,112,114,105,109,105,116,105,118,101,0,1,151,2049,
                       1646,10,1683,1709,157,104,111,111,107,0,1,1793,2049,107,1,3,15,1,1,17,
                       2049,107,10,1701,1734,145,115,101,116,45,104,111,111,107,0,1,1,17,16,10,
                       1722,1749,145,117,110,104,111,111,107,0,1,1,17,2,1,1,17,4,16,10,
                       1739,1764,157,40,0,10,1759,1770,157,41,0,10,1765,1786,145,99,111,109,112,105,
                       108,101,58,108,105,116,0,1,1,2049,107,2049,107,10,1771,1809,145,99,111,109,
                       112,105,108,101,58,106,117,109,112,0,1,1793,2049,107,2049,107,10,1793,1832,145,
                       99,111,109,112,105,108,101,58,99,97,108,108,0,1,2049,2049,107,2049,107,10,
                       1816,1854,145,99,111,109,112,105,108,101,58,114,101,116,0,1,10,2049,107,10,
                       1839,1873,145,99,111,109,112,105,108,105,110,103,63,0,1,126,15,10,1859,1888,
                       157,115,105,103,105,108,58,96,0,2049,228,2049,107,10,1877,1904,157,115,105,103,
                       105,108,58,92,0,2049,426,10,1893,1918,157,115,105,103,105,108,58,94,0,2049,
                       420,10,1907,1929,145,104,101,114,101,0,1,3,15,10,1921,1944,157,115,105,103,
                       105,108,58,64,0,2049,200,2049,159,15,2049,1873,1793,1960,1,3841,2049,107,2049,107,
                       10,1,1953,1793,1966,15,10,1,1964,2049,64,10,1933,1982,157,115,105,103,105,108,
                       58,33,0,2049,200,2049,159,15,2049,1873,1793,1998,1,4097,2049,107,2049,107,10,1,
                       1991,1793,2004,16,10,1,2002,2049,64,10,1971,2021,145,100,58,99,114,101,97,116,
                       101,0,1793,2023,1,133,1,0,2049,165,2049,1929,2049,1570,2049,159,16,10,2009,2046,
                       145,118,97,114,45,110,0,2049,2021,2049,107,10,2037,2058,145,118,97,114,0,134284289,
                       0,2046,10,2051,2071,145,99,111,110,115,116,0,2049,2021,2049,1570,2049,159,16,10,
                       2062,2087,151,116,117,99,107,0,100926722,10,2079,2097,151,111,118,101,114,0,67502597,10,
                       2089,2106,151,110,105,112,0,772,10,2099,2121,151,100,114,111,112,45,112,97,105,
                       114,0,771,10,2108,2131,151,63,100,117,112,0,6402,10,2123,2145,145,100,117,112,
                       45,112,97,105,114,0,67502597,67502597,10,2133,2155,145,100,105,112,0,525572,6,10,2148,
                       2165,145,115,105,112,0,67502597,1,25,2049,2155,10,2158,2177,145,98,105,0,1,2165,
                       2049,2155,8,10,2171,2190,145,98,105,42,0,1,2155,2049,2155,8,10,2183,2203,145,
                       98,105,64,0,2,2049,2190,10,2196,2214,145,116,114,105,0,1793,2223,1,2165,2049,
                       2155,2049,2165,10,1,2216,2049,2155,8,10,2207,2237,145,116,114,105,42,0,1793,2254,
                       1793,2247,4,1,2155,2049,2155,10,1,2241,2049,2155,2049,2155,10,1,2239,2049,2155,8,
                       10,2229,2268,145,116,114,105,64,0,2,2,2049,2237,10,2260,2282,145,119,104,105,
                       108,101,0,1793,2291,525570,1639430,3,1,2284,7,10,1,2284,8,3,10,2273,2305,145,
                       117,110,116,105,108,0,1793,2316,525570,385942534,-1,25,3,1,2307,7,10,1,2307,8,
                       3,10,2296,2330,145,116,105,109,101,115,0,1793,2342,4,25,33886721,1,2053,1542,1,
                       2333,7,10,1,2332,8,3,10,2321,2358,157,115,105,103,105,108,58,124,0,2049,
                       200,1793,2366,2049,159,15,10,1,2362,1793,2374,2049,161,15,10,1,2370,2049,2177,2049,
                       1873,1793,2389,1,133,2049,2155,2049,1832,10,1,2382,1,25,2049,64,10,2347,2404,145,
                       84,82,85,69,0,1,-1,10,2396,2416,145,70,65,76,83,69,0,1,0,10,
                       2407,2427,145,99,97,115,101,0,1793,2432,67502597,11,10,1,2429,2049,2155,4,1793,2444,
                       772,8,2049,2404,10,1,2439,1793,2452,3,2049,2416,10,1,2448,2049,64,25,6,3,
                       3,10,2419,2471,145,115,58,99,97,115,101,0,1793,2477,67502597,2049,95,10,1,2473,
                       2049,2155,4,1793,2489,772,8,2049,2404,10,1,2484,1793,2497,3,2049,2416,10,1,2493,
                       2049,64,25,6,3,3,10,2461,2513,145,110,111,116,0,1,-1,23,10,2506,2526,
                       145,108,116,101,113,63,0,2049,2145,101516555,22,10,2517,2540,145,103,116,101,113,63,
                       0,4,2049,2526,10,2531,2553,145,110,58,77,65,88,0,1,-5,15,10,2544,2566,
                       145,110,58,77,73,78,0,1,-4,15,10,2557,2581,145,110,58,122,101,114,111,
                       63,0,1,0,11,10,2570,2597,145,110,58,45,122,101,114,111,63,0,1,0,
                       12,10,2585,2616,145,110,58,110,101,103,97,116,105,118,101,63,0,1,0,13,
                       10,2601,2635,145,110,58,112,111,115,105,116,105,118,101,63,0,1,-1,14,10,
                       2620,2663,145,110,58,115,116,114,105,99,116,108,121,45,112,111,115,105,116,105,
                       118,101,63,0,1,0,14,10,2639,2678,145,110,58,101,118,101,110,63,0,1,
                       2,20,3,2049,2581,10,2667,2695,145,110,58,111,100,100,63,0,2049,2678,2049,2513,
                       10,2685,2707,145,105,102,59,0,67502597,1,74,2049,2155,25,6,771,10,2700,2724,145,
                       45,105,102,59,0,67502597,1,72,2049,2155,2049,2513,25,6,771,10,2716,2742,157,105,
                       102,58,0,1,25,2049,107,1,3,2049,107,10,2735,2759,157,45,105,102,58,0,
                       1,1644289,2049,107,1,-1,2049,107,1,3,2049,107,10,2751,2779,151,114,111,116,0,
                       67503109,10,2772,2786,151,47,0,197652,10,2781,2795,151,109,111,100,0,788,10,2788,2806,
                       145,110,58,112,111,119,0,1,1,4,1793,2814,67502597,19,10,1,2811,2049,2330,772,
                       10,2797,2832,145,110,58,110,101,103,97,116,101,0,1,-1,19,10,2820,2848,145,
                       110,58,115,113,117,97,114,101,0,4866,10,2836,2860,145,110,58,115,113,114,116,
                       0,1,1,1793,2878,2049,2145,197652,67502597,18,1,2,197652,25,17,1,2864,7,10,1,
                       2864,8,772,10,2850,2892,145,110,58,109,105,110,0,2049,2145,13,1793,2899,3,10,
                       1,2897,1793,2905,772,10,1,2903,2049,64,10,2883,2919,145,110,58,109,97,120,0,
                       2049,2145,14,1793,2926,3,10,1,2924,1793,2932,772,10,1,2930,2049,64,10,2910,2946,
                       145,110,58,97,98,115,0,2,2049,2616,1,2832,9,10,2937,2964,145,110,58,108,
                       105,109,105,116,0,4,5,2049,2892,6,2049,2919,10,2953,2981,145,110,58,105,110,
                       99,0,659713,1,10,2972,2993,145,110,58,100,101,99,0,659969,1,10,2984,3010,145,
                       110,58,98,101,116,119,101,101,110,63,0,67503109,1793,3018,67503109,67503109,2049,2964,10,1,
                       3013,2049,2165,11,10,2996,3036,145,118,58,105,110,99,45,98,121,0,1793,3040,4367,
                       10,1,3038,2049,2165,16,10,3024,3058,145,118,58,100,101,99,45,98,121,0,1793,
                       3062,1180687,10,1,3060,2049,2165,16,10,3046,3077,145,118,58,105,110,99,0,1,1,
                       4,2049,3036,10,3068,3092,145,118,58,100,101,99,0,1,1,4,2049,3058,10,3083,
                       3109,145,118,58,108,105,109,105,116,0,251790597,1542,2049,2964,4100,10,3098,3123,145,118,
                       58,111,110,0,2049,2404,4100,10,3115,3136,145,118,58,111,102,102,0,2049,2416,4100,
                       10,3127,3149,145,97,108,108,111,116,0,1,3,2049,3036,10,3140,3168,145,118,58,
                       112,114,101,115,101,114,118,101,0,983556,1793,3176,1,25,2049,2155,10,1,3171,2049,
                       2155,4100,10,3154,3194,145,118,58,117,112,100,97,116,101,0,4,1793,3201,15,4,
                       8,10,1,3197,2049,2165,16,10,3182,3215,145,99,111,112,121,0,1793,3224,285278725,1,
                       33951492,268767489,1,6,10,1,3217,2049,2330,771,10,3207,3243,145,83,99,111,112,101,76,
                       105,115,116,0,9480,9578,10,3230,3252,145,123,123,0,2049,1570,2,1,3243,2049,59,
                       16,10,3246,3277,145,45,45,45,114,101,118,101,97,108,45,45,45,0,2049,1570,
                       1,3243,2049,2981,16,10,3261,3291,145,125,125,0,1,3243,2049,56,4,15,11,1793,
                       3305,3841,3243,4097,2,10,1,3300,1793,3331,3841,3243,1793,3326,1,2,983567,1,3243,2049,
                       2981,1641487,3,1,3315,7,10,1,3313,8,16,10,1,3309,2049,64,10,3285,3345,133,
                       115,116,97,114,116,0,0,10,3336,3354,133,101,110,100,0,0,10,3347,3369,145,
                       116,101,114,109,105,110,97,116,101,0,1,0,3841,3354,16,10,3285,3391,145,98,
                       117,102,102,101,114,58,115,116,97,114,116,0,3841,3345,10,3375,3408,145,98,117,
                       102,102,101,114,58,101,110,100,0,3841,3354,10,3394,3425,145,98,117,102,102,101,
                       114,58,97,100,100,0,3841,3354,16,1,3354,2049,3077,2049,3369,10,3411,3449,145,98,
                       117,102,102,101,114,58,103,101,116,0,1,3354,2049,3092,3841,3354,15,2049,3369,10,
                       3435,3475,145,98,117,102,102,101,114,58,101,109,112,116,121,0,3841,3345,4097,3354,
                       2049,3369,10,3459,3497,145,98,117,102,102,101,114,58,115,105,122,101,0,3841,3354,
                       3841,3345,18,10,3482,3517,145,98,117,102,102,101,114,58,115,101,116,0,4097,3345,
                       2049,3475,10,3503,3541,145,98,117,102,102,101,114,58,112,114,101,115,101,114,118,
                       101,0,3841,3345,3841,3354,1793,3554,1,25,2049,2155,4097,3345,10,1,3547,2049,2155,4097,
                       3354,10,3522,3576,133,84,101,109,112,83,116,114,105,110,103,115,0,32,3561,3594,
                       133,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,3577,3606,145,83,
                       84,82,73,78,71,83,0,2049,1543,3841,3576,3841,3594,19,18,10,3595,3626,133,67,
                       117,114,114,101,110,116,0,31,10,3615,3641,145,115,58,112,111,105,110,116,101,
                       114,0,3841,3626,3841,3594,19,2049,3606,17,10,3628,3660,145,115,58,110,101,120,116,
                       0,1,3626,2049,3077,3841,3626,3841,3576,11,1793,3676,1,0,4097,3626,10,1,3671,9,
                       10,3595,3690,145,115,58,116,101,109,112,0,2,2049,81,2049,2981,2049,3641,4,2049,
                       3215,2049,3641,2049,3660,10,3680,3716,145,115,58,101,109,112,116,121,0,2049,3641,2049,
                       3660,1,0,67502597,16,10,3705,3735,145,115,58,115,107,105,112,0,6,1793,3743,68223234,
                       1,786703,0,10,1,3738,2049,2282,2049,2993,5,10,3725,3761,145,115,58,107,101,101,
                       112,0,2049,1873,1793,3770,1,3735,2049,1832,10,1,3765,9,2049,1929,1,121,2049,2155,
                       2049,133,10,3751,3793,157,115,105,103,105,108,58,39,0,2049,1873,1,3761,1,3690,
                       2049,64,10,3782,3812,145,115,58,99,104,111,112,0,2049,3690,2,2049,81,67502597,17,
                       2049,2993,1,0,4,16,10,3802,3839,145,115,58,114,101,118,101,114,115,101,0,
                       1793,3881,2,2049,3690,2049,3517,1,81,1793,3857,2,2049,81,17,2049,2993,10,1,3850,
                       2049,2177,4,1793,3871,2,15,2049,3425,2049,2993,10,1,3864,2049,2330,3,2049,3391,2049,
                       3690,10,1,3841,2049,3541,10,3826,3899,145,115,58,112,114,101,112,101,110,100,0,
                       2049,3690,1793,3923,2,2049,81,17,1793,3915,2,2049,81,2049,2981,10,1,3909,2049,2155,
                       4,2049,3215,10,1,3903,2049,2165,10,3886,3940,145,115,58,97,112,112,101,110,100,
                       0,4,2049,3899,10,3928,3958,145,115,58,102,111,114,45,101,97,99,104,0,1793,
                       3973,67502597,6415,3,67502597,67502597,251987205,2054,101777670,1,1,3960,7,10,1,3960,8,771,10,3944,
                       3994,145,115,58,105,110,100,101,120,47,99,104,97,114,0,4,1793,4008,68223234,1,
                       6415,33883396,101450758,6404,3,1,3997,7,10,1,3997,1793,4017,18,2049,2993,772,10,1,4012,
                       1793,4026,2049,81,67502597,11,10,1,4021,2049,2214,1793,4036,3,1,-1,10,1,4032,9,
                       10,3978,4060,145,115,58,99,111,110,116,97,105,110,115,47,99,104,97,114,63,
                       0,2049,3994,1,-1,12,10,4040,4076,145,115,58,104,97,115,104,0,1,5381,4,
                       1793,4084,286458116,33,10,1,4081,2049,3958,10,4066,4096,133,83,114,99,0,0,4089,4104,
                       133,84,97,114,0,0,4097,4112,133,80,97,100,0,0,4105,4118,133,73,0,0,
                       4113,4124,133,70,0,0,4119,4131,133,65,116,0,0,4125,4145,145,116,101,114,109,
                       105,110,97,116,101,0,1,0,3841,4112,3841,4104,2049,81,17,16,10,4132,4167,145,
                       101,120,116,114,97,99,116,0,3841,4096,3841,4118,17,3841,4112,3841,4104,2049,81,2049,
                       3215,10,4156,4192,145,99,111,109,112,97,114,101,0,3841,4112,3841,4104,2049,95,3841,
                       4124,22,4097,4124,3841,4124,1793,4212,3841,4118,4097,4131,10,1,4207,2049,72,10,4181,4225,
                       145,110,101,120,116,0,1,4118,2049,3077,10,4066,4252,145,115,58,99,111,110,116,
                       97,105,110,115,47,115,116,114,105,110,103,63,0,4097,4104,4097,4096,2049,3716,4097,
                       4112,1,0,4097,4118,1,0,4097,4124,3841,4096,2049,81,1793,4283,2049,4167,2049,4145,2049,
                       4192,2049,4225,10,1,4274,2049,2330,3841,4124,10,4230,4297,133,83,116,114,0,0,4290,
                       4309,145,101,120,116,114,97,99,116,0,2049,2145,3841,4297,4,2049,3215,3841,-1,67502597,
                       17,1,0,4,16,10,4298,4334,145,99,104,101,99,107,0,1,4309,2049,2155,1793,
                       4345,1,2981,2049,2155,10,1,4340,2049,2155,3841,4297,2049,4076,67502597,11,10,4325,4368,145,
                       108,111,99,97,116,105,111,110,0,67503109,67503109,1793,4401,1793,4396,4,1793,4382,67502597,2049,
                       2581,21,10,1,4377,2049,2155,4,1793,4392,772,2,10,1,4389,9,10,1,4374,2049,
                       2155,10,1,4372,2049,2155,10,4356,4415,145,115,101,116,117,112,0,2049,3716,4097,4297,
                       1,0,67503109,67503109,1,81,1,4076,2049,2177,2049,3716,2049,3517,1793,4439,67502597,2049,81,10,
                       1,4435,2049,2155,4,10,4230,4463,145,115,58,105,110,100,101,120,47,115,116,114,
                       105,110,103,0,67502597,1793,4489,1793,4482,2049,4415,1793,4477,2049,4334,2049,4368,10,1,4472,
                       2049,2330,10,1,4468,2049,3541,771,3,10,1,4466,2049,2155,18,1,2,18,1,-1,
                       2049,2919,10,4445,4514,145,115,58,102,105,108,116,101,114,0,1793,4542,2049,3716,2049,
                       3517,4,1793,4534,2049,2145,4,8,1,3425,1,15,2049,64,10,1,4523,2049,3958,3,
                       2049,3391,10,1,4516,2049,3541,10,4502,4556,145,115,58,109,97,112,0,1793,4578,2049,
                       3716,2049,3517,4,1793,4570,67502597,8,2049,3425,10,1,4565,2049,3958,3,2049,3391,10,1,
                       4558,2049,3541,10,4547,4595,145,115,58,115,117,98,115,116,114,0,1793,4601,17,2049,
                       3716,10,1,4597,2049,2155,1793,4613,67502597,1,3215,2049,2155,10,1,4607,2049,2165,67502597,1793,
                       4626,17,1,0,4,16,10,1,4620,2049,2155,10,4583,4642,145,115,58,114,105,103,
                       104,116,0,67502597,2049,81,67502597,18,4,2049,4595,10,4631,4661,145,115,58,108,101,102,
                       116,0,1,0,4,2049,4595,10,4651,4685,145,115,58,98,101,103,105,110,115,45,
                       119,105,116,104,63,0,2,2049,81,1,17,2049,2155,2049,4661,2049,95,10,4667,4713,
                       145,115,58,101,110,100,115,45,119,105,116,104,63,0,2,2049,81,1,17,2049,
                       2155,2049,4642,2049,95,10,4697,4735,145,115,58,99,111,112,121,0,67502597,2049,81,2049,
                       2981,2049,3215,10,4725,4755,145,115,58,68,73,71,73,84,83,0,2049,3735,48,49,
                       50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,1,4757,10,4743,4798,
                       145,115,58,65,83,67,73,73,45,76,79,87,69,82,67,65,83,69,0,2049,
                       3735,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,
                       116,117,118,119,120,121,122,0,1,4800,10,4777,4851,145,115,58,65,83,67,73,
                       73,45,85,80,80,69,82,67,65,83,69,0,2049,3735,65,66,67,68,69,70,
                       71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
                       0,1,4853,10,4830,4902,145,115,58,65,83,67,73,73,45,76,69,84,84,69,
                       82,83,0,2049,3735,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,
                       112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,
                       74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,0,1,4904,
                       10,4883,4977,145,115,58,80,85,78,67,84,85,65,84,73,79,78,0,2049,3735,
                       95,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,58,59,60,61,
                       62,63,64,91,92,93,94,96,123,124,125,126,0,1,4979,1,95,67502597,16,10,
                       4960,5035,133,115,58,87,72,73,84,69,83,80,65,67,69,0,32,9,10,13,
                       0,5019,5045,157,39,0,1,3716,2049,145,10,5040,5055,157,36,0,1,0,2049,133,
                       10,5050,0,133,65,83,67,73,73,58,78,85,76,0,5060,27,133,65,83,67,
                       73,73,58,69,83,67,0,5073,8,133,65,83,67,73,73,58,66,83,0,5086,
                       9,133,65,83,67,73,73,58,72,84,0,5098,10,133,65,83,67,73,73,58,
                       76,70,0,5110,11,133,65,83,67,73,73,58,86,84,0,5122,12,133,65,83,
                       67,73,73,58,70,70,0,5134,13,133,65,83,67,73,73,58,67,82,0,5146,
                       32,133,65,83,67,73,73,58,83,80,65,67,69,0,5158,127,133,65,83,67,
                       73,73,58,68,69,76,0,5173,1,133,65,83,67,73,73,58,83,79,72,0,
                       5186,2,133,65,83,67,73,73,58,83,84,88,0,5199,3,133,65,83,67,73,
                       73,58,69,84,88,0,5212,4,133,65,83,67,73,73,58,69,79,84,0,5225,
                       5,133,65,83,67,73,73,58,69,78,81,0,5238,6,133,65,83,67,73,73,
                       58,65,67,75,0,5251,7,133,65,83,67,73,73,58,66,69,76,0,5264,14,
                       133,65,83,67,73,73,58,83,79,0,5277,15,133,65,83,67,73,73,58,83,
                       73,0,5289,16,133,65,83,67,73,73,58,68,76,69,0,5301,17,133,65,83,
                       67,73,73,58,68,67,49,0,5314,18,133,65,83,67,73,73,58,68,67,50,
                       0,5327,19,133,65,83,67,73,73,58,68,67,51,0,5340,20,133,65,83,67,
                       73,73,58,68,67,52,0,5353,21,133,65,83,67,73,73,58,78,65,75,0,
                       5366,22,133,65,83,67,73,73,58,83,89,78,0,5379,23,133,65,83,67,73,
                       73,58,69,84,66,0,5392,24,133,65,83,67,73,73,58,67,65,78,0,5405,
                       25,133,65,83,67,73,73,58,69,77,0,5418,26,133,65,83,67,73,73,58,
                       83,85,66,0,5430,28,133,65,83,67,73,73,58,70,83,0,5443,29,133,65,
                       83,67,73,73,58,71,83,0,5455,30,133,65,83,67,73,73,58,82,83,0,
                       5467,31,133,65,83,67,73,73,58,85,83,0,5479,5507,145,99,58,108,111,119,
                       101,114,99,97,115,101,63,0,1,97,1,122,2049,3010,10,5491,5530,145,99,58,
                       117,112,112,101,114,99,97,115,101,63,0,1,65,1,90,2049,3010,10,5514,5550,
                       145,99,58,108,101,116,116,101,114,63,0,1,5507,1,5530,2049,2177,22,10,5537,
                       5570,145,99,58,100,105,103,105,116,63,0,1,48,1,57,2049,3010,10,5558,5591,
                       145,99,58,118,105,115,105,98,108,101,63,0,1,32,1,126,2049,3010,10,5577,
                       5610,145,99,58,118,111,119,101,108,63,0,2049,3735,97,101,105,111,117,65,69,
                       73,79,85,0,1,5612,4,2049,4060,10,5598,5645,145,99,58,99,111,110,115,111,
                       110,97,110,116,63,0,2,2049,5550,1793,5655,2049,5610,2049,2513,10,1,5650,1793,5663,
                       3,2049,2416,10,1,5659,2049,64,10,5629,5685,145,99,58,119,104,105,116,101,115,
                       112,97,99,101,63,0,1,5035,4,2049,4060,10,5668,5708,145,99,58,45,108,111,
                       119,101,114,99,97,115,101,63,0,2049,5507,2049,2513,10,5691,5730,145,99,58,45,
                       117,112,112,101,114,99,97,115,101,63,0,2049,5530,2049,2513,10,5713,5748,145,99,
                       58,45,100,105,103,105,116,63,0,2049,5570,2049,2513,10,5735,5771,145,99,58,45,
                       119,104,105,116,101,115,112,97,99,101,63,0,2049,5685,2049,2513,10,5753,5791,145,
                       99,58,45,118,105,115,105,98,108,101,63,0,2049,5591,2049,2513,10,5776,5809,145,
                       99,58,45,118,111,119,101,108,63,0,2049,5610,2049,2513,10,5796,5831,145,99,58,
                       45,99,111,110,115,111,110,97,110,116,63,0,2049,5645,2049,2513,10,5814,5850,145,
                       99,58,116,111,45,117,112,112,101,114,0,2,2049,5507,25,3,1,32,18,10,
                       5836,5873,145,99,58,116,111,45,108,111,119,101,114,0,2,2049,5530,25,3,1,
                       32,17,10,5859,5897,145,99,58,116,111,45,115,116,114,105,110,103,0,2049,3735,
                       46,0,1,5899,2049,3690,1,37,2049,2165,10,5882,5927,145,99,58,116,111,103,103,
                       108,101,45,99,97,115,101,0,2,2049,5507,1,5850,1,5873,2049,64,10,5910,5952,
                       145,99,58,116,111,45,110,117,109,98,101,114,0,2,2049,5570,1793,5961,1,48,
                       18,10,1,5957,1793,5969,3,1,0,10,1,5965,2049,64,10,5937,5988,145,115,58,
                       116,111,45,117,112,112,101,114,0,1,5850,2049,4556,10,5974,6007,145,115,58,116,
                       111,45,108,111,119,101,114,0,1,5873,2049,4556,10,5993,6027,145,115,58,116,114,
                       105,109,45,108,101,102,116,0,2049,3690,1793,6041,2049,56,1,5685,1,2597,2049,2177,
                       21,10,1,6031,2049,2282,2049,2993,10,6012,6064,145,115,58,116,114,105,109,45,114,
                       105,103,104,116,0,2049,3690,2049,3839,2049,6027,2049,3839,10,6048,6083,145,115,58,116,
                       114,105,109,0,2049,6064,2049,6027,10,6073,6110,133,82,101,119,114,105,116,101,85,
                       110,100,101,114,115,99,111,114,101,115,0,-1,6088,6118,145,115,117,98,0,1,
                       95,1793,6125,1,32,10,1,6122,2049,2427,10,6111,6141,145,114,101,119,114,105,116,
                       101,0,3841,6110,1793,6150,1,6118,2049,4556,10,1,6145,9,10,6130,6164,145,104,97,
                       110,100,108,101,0,1,3793,8,10,6088,6179,157,115,105,103,105,108,58,39,0,
                       2049,6141,2049,6164,10,6168,6200,145,115,58,115,112,108,105,116,47,99,104,97,114,
                       0,2049,2145,2049,3994,772,2049,2145,2049,4661,1,39,2049,2155,10,6184,6232,145,115,58,
                       115,112,108,105,116,47,115,116,114,105,110,103,0,2049,2145,2049,4463,2049,2981,772,
                       2049,2145,2049,4661,1,39,2049,2155,10,6214,6261,145,115,58,114,101,112,108,97,99,
                       101,0,67502597,2049,81,2049,1929,16,1793,6277,2049,6232,4,2049,1929,15,17,10,1,6269,
                       2049,2155,2049,3899,2049,3940,10,6248,6298,133,83,112,108,105,116,45,79,110,0,0,
                       6286,6309,145,109,97,116,99,104,63,0,3841,6298,11,10,6299,6326,145,116,101,114,
                       109,105,110,97,116,101,0,1,0,67502597,2049,2993,16,10,6313,6341,145,115,116,101,
                       112,0,1,2981,2049,2155,2049,6309,1793,6355,2,2049,107,2049,6326,10,1,6349,9,10,
                       6248,6373,145,115,58,116,111,107,101,110,105,122,101,0,4097,6298,2049,3761,2049,1929,
                       1,0,2049,107,1793,6395,2,2049,107,2,1,6341,2049,3958,3,10,1,6385,2049,2155,
                       2049,1929,67502597,18,2049,2993,67502597,16,10,6359,6418,133,78,101,101,100,108,101,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,6408,6553,133,76,101,110,0,0,6546,6564,133,84,111,
                       107,101,110,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,6554,6698,133,84,80,0,0,
                       6692,6707,145,115,97,118,101,0,2049,3761,3841,6698,1,6564,17,2049,2981,16,1,6698,
                       2049,3077,10,6699,6730,145,110,101,120,116,0,1793,6736,3841,6553,17,10,1,6732,2049,
                       2165,10,6722,6750,145,100,111,110,101,63,0,2049,81,2049,2581,10,6359,6779,145,115,
                       58,116,111,107,101,110,105,122,101,45,111,110,45,115,116,114,105,110,103,0,
                       1,0,4097,6698,1793,6793,2,1,6418,2049,4735,2049,3940,10,1,6785,1793,6802,2049,81,
                       4097,6553,10,1,6797,2049,2177,1793,6819,1,6418,2049,6232,2049,6707,2049,6730,2049,6750,10,
                       1,6808,2049,2305,1,6564,3841,6698,2049,2993,4097,6564,10,6755,6844,145,102,111,114,45,
                       101,97,99,104,0,4,2049,56,1,17,2049,2155,1793,6860,5,2049,56,84018692,525572,1542,
                       10,1,6853,2049,2330,771,10,6832,6880,145,115,117,98,115,116,105,116,117,116,101,
                       0,2049,3606,1,129,18,10,6866,6897,145,101,120,116,114,97,99,116,0,2049,6880,
                       2049,4735,10,6886,6914,145,116,111,107,101,110,105,122,101,0,2049,6779,2049,3716,10,
                       6902,6930,145,99,111,109,98,105,110,101,0,2049,6880,2049,3940,2049,3940,10,6919,6946,
                       145,109,101,114,103,101,0,4,1,6930,2049,6844,772,10,6937,6965,145,102,105,110,
                       100,45,101,110,100,0,2,2049,81,2049,6880,2049,81,18,67502597,17,10,6953,6985,145,
                       99,108,101,97,110,0,2049,6965,1,0,4,16,10,6755,7009,145,115,58,114,101,
                       112,108,97,99,101,45,97,108,108,0,1,3,1793,7024,2049,6897,2049,6914,2049,6946,
                       2049,6985,2049,3690,10,1,7013,2049,3168,10,6992,7039,133,83,116,114,105,110,103,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,7029,7119,145,99,104,101,99,107,45,115,105,103,110,0,
                       2049,2616,1793,7128,1,45,2049,3425,10,1,7123,9,10,7105,7144,145,110,45,62,100,
                       105,103,105,116,0,2049,4755,17,15,10,7132,7160,145,99,111,110,118,101,114,116,
                       0,1793,7174,3841,205,20,4,2049,7144,2049,3425,2,2049,2581,10,1,7162,2049,2305,3,
                       10,6992,7195,145,110,58,116,111,45,115,116,114,105,110,103,0,1793,7209,1,7039,
                       2049,3517,2,2049,2946,2049,7160,2049,7119,10,1,7197,2049,3541,1,7039,2049,3839,10,7180,
                       7226,145,99,104,97,114,0,1,32,1793,7235,1,95,2049,3425,10,1,7230,2049,2427,
                       1,114,1793,7248,1,13,2049,3425,10,1,7243,2049,2427,1,110,1793,7261,1,10,2049,
                       3425,10,1,7256,2049,2427,1,116,1793,7274,1,9,2049,3425,10,1,7269,2049,2427,1,
                       48,1793,7287,1,0,2049,3425,10,1,7282,2049,2427,1,94,1793,7300,1,27,2049,3425,
                       10,1,7295,2049,2427,2049,3425,10,7218,7315,145,116,121,112,101,0,1,99,1793,7323,
                       4,2049,3425,10,1,7319,2049,2427,1,115,1793,7337,4,1,3425,2049,3958,10,1,7331,
                       2049,2427,1,110,1793,7353,4,2049,7195,1,3425,2049,3958,10,1,7345,2049,2427,3,10,
                       7307,7369,145,104,97,110,100,108,101,0,1,92,1793,7378,2049,56,2049,7226,10,1,
                       7373,2049,2427,1,37,1793,7391,2049,56,2049,7315,10,1,7386,2049,2427,2049,3425,10,7180,
                       7410,145,115,58,102,111,114,109,97,116,0,1793,7439,2049,3716,1793,7434,2049,3517,1793,
                       7429,2049,56,25,2049,7369,1,7420,7,10,1,7420,8,3,10,1,7416,2049,2165,10,
                       1,7412,2049,3541,10,7398,7455,145,115,58,99,111,110,115,116,0,1,3761,2049,2155,
                       2049,2071,10,7444,7472,133,86,97,108,117,101,115,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,7462,7508,145,102,114,111,109,0,2049,81,2,1793,7526,1793,7519,1,7472,4113,10,
                       1,7515,2049,2165,2049,2993,10,1,7513,2049,2330,3,10,7500,7538,145,116,111,0,2,
                       2049,81,1793,7554,2049,56,1,97,18,2049,2981,1,7472,266001,10,1,7543,2049,2330,3,
                       10,7444,7571,145,114,101,111,114,100,101,114,0,1,7508,2049,2155,2049,7538,10,7560,
                       7587,145,99,117,114,114,121,0,2049,1929,1793,7597,4,2049,1786,2049,1809,10,1,7591,
                       2049,2155,10,7578,7610,145,100,111,101,115,0,2049,1587,4,2049,7587,2049,1570,2049,159,
                       16,1,145,2049,1646,10,7602,7639,145,100,58,102,111,114,45,101,97,99,104,0,
                       1,2,1793,7665,6415,2049,2145,1793,7657,1793,7652,2052,10,1,7650,2049,2155,10,1,7648,
                       2049,2155,1,7643,7,10,1,7643,8,3,10,7625,7685,145,100,58,108,111,111,107,
                       117,112,45,120,116,0,1,0,4,1793,7710,2049,2145,2049,159,2831,1793,7703,4,1,
                       2106,2049,2155,10,1,7697,1,15,2049,64,10,1,7690,2049,7639,3,10,7670,7728,145,
                       97,58,108,101,110,103,116,104,0,15,10,7716,7751,145,97,58,99,111,117,110,
                       116,101,100,45,114,101,115,117,108,116,115,0,8,2049,1929,1793,7764,2,2049,107,
                       1,107,2049,2330,10,1,7756,2049,2155,10,7730,7786,145,97,58,102,114,111,109,45,
                       115,116,114,105,110,103,0,2049,1929,1793,7800,2,2049,81,2049,107,1,107,2049,3958,
                       10,1,7790,2049,2155,10,7769,7819,145,97,58,102,111,114,45,101,97,99,104,0,
                       4,2049,56,1,17,2049,2155,1793,7835,5,2049,56,84018692,525572,1542,10,1,7828,2049,2330,
                       771,10,7805,7850,145,97,58,100,117,112,0,2049,1929,1793,7863,2,15,2049,107,1,
                       107,2049,7819,10,1,7854,2049,2155,10,7841,7878,145,97,58,99,111,112,121,0,1,
                       3,1793,7894,4097,3,2,2049,7728,2049,107,1,107,2049,7819,10,1,7882,2049,3168,10,
                       7868,7914,145,97,58,116,111,45,115,116,114,105,110,103,0,1,3,1793,7927,2049,
                       7850,1,0,2049,107,2049,2981,10,1,7918,2049,3168,2049,3690,10,7899,7946,145,97,58,
                       97,112,112,101,110,100,0,2049,2145,1,35,2049,2203,17,2049,1929,1793,7971,2049,107,
                       1793,7966,1,107,2049,7819,10,1,7961,2049,2203,10,1,7957,2049,2155,10,7934,7989,145,
                       97,58,112,114,101,112,101,110,100,0,4,2049,7946,10,7976,8003,145,97,58,99,
                       104,111,112,0,2049,7850,1,-1,2049,3149,2,2049,3092,10,7993,8025,145,97,58,102,
                       105,108,116,101,114,0,1793,8040,67502597,1,25,2049,2155,4,1,107,1,15,2049,64,
                       10,1,8027,2049,7587,2049,1929,1793,8055,67502597,15,2049,107,2049,7819,10,1,8048,2049,2155,
                       2049,1929,67502597,18,2049,2993,67502597,16,10,8013,8083,145,97,58,99,111,110,116,97,105,
                       110,115,63,0,1,0,4,1793,8095,4,5,67502597,11,6,22,10,1,8088,2049,7819,
                       772,10,8068,8123,145,97,58,99,111,110,116,97,105,110,115,47,115,116,114,105,
                       110,103,63,0,1,0,4,1793,8136,4,5,67502597,2049,95,6,22,10,1,8128,2049,
                       7819,772,10,8101,8151,145,97,58,109,97,112,0,1793,8157,8,2049,107,10,1,8153,
                       2049,7587,2049,1929,1793,8172,67502597,15,2049,107,2049,7819,10,1,8165,2049,2155,10,8142,8190,
                       145,97,58,114,101,118,101,114,115,101,0,2049,1929,1793,8224,2049,56,1793,8202,17,
                       2049,2993,10,1,8198,2049,2165,2,2049,107,1793,8218,2,15,2049,107,2049,2993,10,1,
                       8211,2049,2330,3,10,1,8194,2049,2155,10,8177,8237,145,97,58,116,104,0,17,2049,
                       2981,10,8229,8252,145,97,58,102,101,116,99,104,0,2049,8237,15,10,8241,8267,145,
                       97,58,115,116,111,114,101,0,2049,8237,16,10,8256,8283,145,97,58,114,101,100,
                       117,99,101,0,1,17,2049,2155,2049,7819,10,8271,8302,145,105,100,101,110,116,105,
                       102,121,0,1,-1,4,1,0,1793,8333,2049,2404,11,1793,8327,67502597,1,-1,11,1793,
                       8323,772,2,10,1,8320,9,10,1,8314,9,2049,2981,10,1,8309,2049,8283,3,10,
                       8271,8350,145,97,58,105,110,100,101,120,0,1,3,1793,8363,1,27,2049,7587,2049,
                       8151,2049,8302,10,1,8354,2049,3168,10,8339,8386,145,97,58,105,110,100,101,120,47,
                       115,116,114,105,110,103,0,1,3,1793,8399,1,95,2049,7587,2049,8151,2049,8302,10,
                       1,8390,2049,3168,10,8368,8414,145,97,58,109,97,107,101,0,2049,7751,2,2,1,
                       3,1793,8425,2049,8190,10,1,8422,2049,3168,4,2049,7878,10,8404,8438,157,123,0,1,
                       301,2049,157,1,1556,2049,145,1,301,2049,157,10,8433,8456,157,125,0,1,317,2049,
                       157,1,2155,2049,145,1,1556,2049,145,1,17,2049,151,1,41,2049,151,1,2993,2049,
                       145,1,317,2049,157,1,8414,2049,145,10,8451,8500,145,98,111,117,110,100,115,63,
                       0,67502597,2049,7728,67502597,13,10,8489,8514,145,99,111,112,121,0,2049,56,2049,107,10,
                       8506,8529,145,116,111,45,101,110,100,0,2,2049,7728,17,2049,2981,10,8451,8546,145,
                       97,58,108,101,102,116,0,2049,8500,1793,8554,771,1,-1,10,1,8550,2049,2707,2049,
                       1929,67502597,2049,107,1793,8575,1,2981,2049,2155,1,8514,2049,2330,3,10,1,8565,2049,2155,
                       10,8536,8591,145,97,58,114,105,103,104,116,0,2049,8500,1793,8599,771,1,-1,10,
                       1,8595,2049,2707,2049,1929,67502597,2049,107,1793,8622,4,2049,8529,67502597,18,4,1,8514,2049,
                       2330,3,10,1,8610,2049,2155,10,8580,8639,145,97,58,109,105,100,100,108,101,0,
                       1,2097,2049,2155,4,67502597,2049,8500,1793,8654,771,3,1,-1,10,1,8649,2049,2707,771,
                       2049,2145,4,18,2049,2981,2049,1929,67502597,2049,107,1793,8689,772,1793,8679,17,2049,2981,10,
                       1,8675,2049,2155,1,8514,2049,2330,3,10,1,8672,2049,2155,10,8627,8702,133,70,108,
                       97,103,0,0,8694,8714,145,99,111,109,112,97,114,101,0,67440386,184946434,10,8703,8727,
                       145,108,101,110,103,116,104,0,659202,10,8717,8737,145,110,101,120,116,0,17043713,1,
                       1,2577,10,8729,8755,145,110,111,116,45,101,113,117,97,108,0,50529030,2561,0,10,
                       8742,8767,145,108,111,111,112,0,524549,8737,2049,8714,18157313,8702,8702,16,420610310,1,1,8767,
                       7,10,8627,8790,145,97,58,101,113,63,0,1048833,-1,8702,2049,8714,151066369,-1,8755,2049,
                       8727,2049,8767,251724547,8702,10,8781,8815,145,97,58,45,101,113,63,0,2049,8790,2049,2513,
                       10,8805,8838,145,97,58,98,101,103,105,110,115,45,119,105,116,104,63,0,1,
                       3,1793,8854,2,2049,7728,1,17,2049,2155,2049,8546,2049,8790,10,1,8842,2049,3168,10,
                       8820,8875,145,97,58,101,110,100,115,45,119,105,116,104,63,0,1,3,1793,8891,
                       2,2049,7728,1,17,2049,2155,2049,8591,2049,8790,10,1,8879,2049,3168,10,8859,8912,145,
                       99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3606,1,1025,18,10,8896,
                       8934,145,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8940,1,32,11,
                       10,1,8936,2049,4514,2049,81,10,8918,8965,145,112,114,111,99,101,115,115,45,116,
                       111,107,101,110,115,0,1793,8993,1,32,2049,6200,4,1793,8986,2,2049,81,2049,2597,
                       1,379,1,15,2049,64,10,1,8974,2049,2155,2049,2981,10,1,8967,2049,2330,2049,379,
                       10,8859,9014,145,115,58,101,118,97,108,117,97,116,101,0,2049,8912,2049,4735,2049,
                       8912,2,2049,8934,2049,8965,10,9000,9032,133,76,80,0,0,9026,9042,133,73,110,100,
                       101,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9033,9082,145,110,101,
                       120,116,0,3841,9032,1,9042,17,2049,3077,10,9074,9098,145,112,114,101,112,0,1,
                       9032,2049,3077,1,0,3841,9032,1,9042,17,16,10,9090,9119,145,100,111,110,101,0,
                       1,9032,2049,3092,10,9000,9129,145,73,0,3841,9032,1,9042,17,15,10,9124,9141,145,
                       74,0,3841,9032,1,9042,17,2049,2993,15,10,9136,9155,145,75,0,3841,9032,1,9042,
                       17,1,2,18,15,10,9150,9182,145,105,110,100,101,120,101,100,45,116,105,109,
                       101,115,0,2049,9098,4,1793,9198,25,33886721,1,2053,1542,2049,9082,1,9187,7,10,1,
                       9187,8,3,2049,9119,10,9165,9216,145,100,101,99,105,109,97,108,0,1,10,4097,
                       205,10,9205,9231,145,98,105,110,97,114,121,0,1,2,4097,205,10,9221,9245,145,
                       111,99,116,97,108,0,1,8,4097,205,10,9236,9257,145,104,101,120,0,1,16,
                       4097,205,10,9250,9278,145,105,111,58,101,110,117,109,101,114,97,116,101,0,27,
                       10,9262,9292,145,105,111,58,113,117,101,114,121,0,28,10,9280,9307,145,105,111,
                       58,105,110,118,111,107,101,0,29,10,9294,9324,145,105,111,58,115,99,97,110,
                       45,102,111,114,0,1,-1,4,2049,9278,1793,9355,2049,9129,2049,9292,772,67502597,11,1793,
                       9351,1793,9346,3,2049,9129,10,1,9342,2049,2155,10,1,9340,9,10,1,9331,2049,9182,
                       3,10,9309,9370,145,99,58,112,117,116,0,1793,9372,1,0,2049,9307,10,9361,9383,
                       145,110,108,0,1,10,2049,9370,10,9377,9394,145,115,112,0,1,32,2049,9370,10,
                       9388,9406,145,116,97,98,0,1,9,2049,9370,10,9399,9420,145,115,58,112,117,116,
                       0,1,9370,2049,3958,10,9411,9434,145,110,58,112,117,116,0,2049,7195,2049,9420,10,
                       9425,9448,145,114,101,115,101,116,0,2049,1556,25,771,1,9448,7,10,9439,9470,145,
                       100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,134284547,9470,134283782,9434,2049,9394,
                       10,9456,9488,145,70,82,69,69,0,2049,3606,1,1025,18,2049,1929,18,10,9480,9505,
                       145,101,111,108,63,0,1793,9511,1,13,11,10,1,9507,1793,9519,1,10,11,10,
                       1,9515,1793,9527,1,32,11,10,1,9523,2049,2214,22,22,10,9497,9544,145,118,97,
                       108,105,100,63,0,2,2049,81,2049,2597,10,9534,9557,145,98,115,63,0,2,1793,
                       9564,1,8,11,10,1,9560,1793,9572,1,127,11,10,1,9568,2049,2177,22,10,9550,
                       9590,145,99,104,101,99,107,45,98,115,0,2049,9557,1793,9600,2049,3449,2049,3449,771,
                       10,1,9594,9,10,9480,9613,145,99,58,103,101,116,0,1793,9615,1,1,2049,9324,
                       2049,9307,10,9604,9631,145,115,58,103,101,116,0,1793,9659,1,7,15,2049,3517,1793,
                       9650,2049,9613,2,2049,3425,2049,9590,2049,9505,10,1,9640,2049,2305,2049,3391,2049,3812,10,
                       1,9633,2049,3541,10,9622,9674,145,108,105,115,116,101,110,0,2049,9631,2049,9544,1,
                       379,1,15,2049,64,1,9674,7,10,0 };
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1212,1545,166,
                       0,0,69,79,77,0,1,-3,15,10,1536,1560,166,0,0,100,101,112,116,104,
                       0,1,-1,15,10,1549,1576,166,0,0,100,58,108,97,115,116,0,1,2,15,
                       10,1564,1595,166,0,0,100,58,108,97,115,116,46,120,116,0,2049,1576,2049,180,
                       15,10,1580,1619,166,0,0,100,58,108,97,115,116,46,99,108,97,115,115,0,
                       2049,1576,2049,182,15,10,1601,1642,166,0,0,100,58,108,97,115,116,46,110,97,
                       109,101,0,2049,1576,2049,188,10,1625,1660,166,0,0,114,101,99,108,97,115,115,
                       0,2049,1576,2049,182,16,10,1647,1681,166,0,0,105,109,109,101,100,105,97,116,
                       101,0,1,178,2049,1660,10,1666,1696,166,0,0,100,97,116,97,0,1,154,2049,
                       1660,10,1686,1716,166,0,0,112,114,105,109,105,116,105,118,101,0,1,172,2049,
                       1660,10,1701,1731,178,0,0,104,111,111,107,0,1,1793,2049,128,1,3,15,1,
                       1,17,2049,128,10,1721,1758,166,0,0,115,101,116,45,104,111,111,107,0,1,
                       1,17,16,10,1744,1775,166,0,0,117,110,104,111,111,107,0,1,1,17,2,
                       1,1,17,4,16,10,1763,1792,178,0,0,40,0,10,1785,1800,178,0,0,41,
                       0,10,1793,1818,166,0,0,99,111,109,112,105,108,101,58,108,105,116,0,1,
                       1,2049,128,2049,128,10,1801,1843,166,0,0,99,111,109,112,105,108,101,58,106,
                       117,109,112,0,1,1793,2049,128,2049,128,10,1825,1868,166,0,0,99,111,109,112,
                       105,108,101,58,99,97,108,108,0,1,2049,2049,128,2049,128,10,1850,1892,166,0,
                       0,99,111,109,112,105,108,101,58,114,101,116,0,1,10,2049,128,10,1875,1913,
                       166,0,0,99,111,109,112,105,108,105,110,103,63,0,1,147,15,10,1897,1930,
                       178,0,0,115,105,103,105,108,58,96,0,2049,259,2049,128,10,1917,1948,178,0,
                       0,115,105,103,105,108,58,92,0,2049,457,10,1935,1964,178,0,0,115,105,103,
                       105,108,58,94,0,2049,451,10,1951,1977,166,0,0,104,101,114,101,0,1,3,
                       15,10,1967,1994,178,0,0,115,105,103,105,108,58,64,0,2049,231,2049,180,15,
                       2049,1913,1793,2010,1,3841,2049,128,2049,128,10,1,2003,1793,2016,15,10,1,2014,2049,
                       64,10,1981,2034,178,0,0,115,105,103,105,108,58,33,0,2049,231,2049,180,15,
                       2049,1913,1793,2050,1,4097,2049,128,2049,128,10,1,2043,1793,2056,16,10,1,2054,2049,
                       64,10,2021,2075,166,0,0,100,58,99,114,101,97,116,101,0,1793,2077,1,154,
                       1,0,2049,190,2049,1977,2049,1576,2049,180,16,10,2061,2102,166,0,0,118,97,114,
                       45,110,0,2049,2075,2049,128,10,2091,2116,166,0,0,118,97,114,0,134284289,0,2102,
                       10,2107,2131,166,0,0,99,111,110,115,116,0,2049,2075,2049,1576,2049,180,16,10,
                       2120,2149,172,0,0,116,117,99,107,0,100926722,10,2139,2161,172,0,0,111,118,101,
                       114,0,67502597,10,2151,2172,172,0,0,110,105,112,0,772,10,2163,2189,172,0,0,
                       100,114,111,112,45,112,97,105,114,0,771,10,2174,2201,172,0,0,63,100,117,
                       112,0,6402,10,2191,2217,166,0,0,100,117,112,45,112,97,105,114,0,67502597,67502597,
                       10,2203,2229,166,0,0,100,105,112,0,525572,6,10,2220,2241,166,0,0,115,105,
                       112,0,67502597,1,25,2049,2229,10,2232,2255,166,0,0,98,105,0,1,2241,2049,2229,
                       8,10,2247,2270,166,0,0,98,105,42,0,1,2229,2049,2229,8,10,2261,2285,166,
                       0,0,98,105,64,0,2,2049,2270,10,2276,2298,166,0,0,116,114,105,0,1793,
                       2307,1,2241,2049,2229,2049,2241,10,1,2300,2049,2229,8,10,2289,2323,166,0,0,116,
                       114,105,42,0,1793,2340,1793,2333,4,1,2229,2049,2229,10,1,2327,2049,2229,2049,2229,
                       10,1,2325,2049,2229,8,10,2313,2356,166,0,0,116,114,105,64,0,2,2,2049,
                       2323,10,2346,2372,166,0,0,119,104,105,108,101,0,1793,2381,525570,1639430,3,1,2374,
                       7,10,1,2374,8,3,10,2361,2397,166,0,0,117,110,116,105,108,0,1793,2408,
                       525570,385942534,-1,25,3,1,2399,7,10,1,2399,8,3,10,2386,2426,166,0,0,102,
                       111,114,101,118,101,114,0,1793,2430,8,10,1,2428,2049,2241,1,2426,7,10,2413,
                       2449,166,0,0,116,105,109,101,115,0,1793,2461,4,25,33886721,1,2053,1542,1,2452,
                       7,10,1,2451,8,3,10,2438,2479,178,0,0,115,105,103,105,108,58,124,0,
                       2049,231,1793,2487,2049,180,15,10,1,2483,1793,2495,2049,182,15,10,1,2491,2049,2255,
                       2049,1913,1793,2510,1,154,2049,2229,2049,1868,10,1,2503,1,25,2049,64,10,2466,2527,
                       166,0,0,84,82,85,69,0,1,-1,10,2517,2541,166,0,0,70,65,76,83,
                       69,0,1,0,10,2530,2554,166,0,0,99,97,115,101,0,1793,2559,67502597,11,10,
                       1,2556,2049,2229,4,1793,2571,772,8,2049,2527,10,1,2566,1793,2579,3,2049,2541,10,
                       1,2575,2049,64,25,6,3,3,10,2544,2600,166,0,0,115,58,99,97,115,101,
                       0,1793,2606,67502597,2049,116,10,1,2602,2049,2229,4,1793,2618,772,8,2049,2527,10,1,
                       2613,1793,2626,3,2049,2541,10,1,2622,2049,64,25,6,3,3,10,2588,2644,166,0,
                       0,110,111,116,0,1,-1,23,10,2635,2659,166,0,0,108,116,101,113,63,0,
                       2049,2217,101516555,22,10,2648,2675,166,0,0,103,116,101,113,63,0,4,2049,2659,10,
                       2664,2690,166,0,0,110,58,77,65,88,0,1,-5,15,10,2679,2705,166,0,0,
                       110,58,77,73,78,0,1,-4,15,10,2694,2722,166,0,0,110,58,122,101,114,
                       111,63,0,1,0,11,10,2709,2740,166,0,0,110,58,45,122,101,114,111,63,
                       0,1,0,12,10,2726,2761,166,0,0,110,58,110,101,103,97,116,105,118,101,
                       63,0,1,0,13,10,2744,2782,166,0,0,110,58,112,111,115,105,116,105,118,
                       101,63,0,1,-1,14,10,2765,2812,166,0,0,110,58,115,116,114,105,99,116,
                       108,121,45,112,111,115,105,116,105,118,101,63,0,1,0,14,10,2786,2829,166,
                       0,0,110,58,101,118,101,110,63,0,1,2,20,3,2049,2722,10,2816,2848,166,
                       0,0,110,58,111,100,100,63,0,2049,2829,2049,2644,10,2836,2862,166,0,0,105,
                       102,59,0,67502597,1,74,2049,2229,25,6,771,10,2853,2881,166,0,0,45,105,102,
                       59,0,67502597,1,72,2049,2229,2049,2644,25,6,771,10,2871,2901,172,0,0,114,111,
                       116,0,67503109,10,2892,2910,172,0,0,47,0,197652,10,2903,2921,172,0,0,109,111,
                       100,0,788,10,2912,2934,166,0,0,110,58,112,111,119,0,1,1,4,1793,2942,
                       67502597,19,10,1,2939,2049,2449,772,10,2923,2962,166,0,0,110,58,110,101,103,97,
                       116,101,0,1,-1,19,10,2948,2980,166,0,0,110,58,115,113,117,97,114,101,
                       0,4866,10,2966,2994,166,0,0,110,58,115,113,114,116,0,1,1,1793,3012,2049,
                       2217,197652,67502597,18,1,2,197652,25,17,1,2998,7,10,1,2998,8,772,10,2982,3028,
                       166,0,0,110,58,109,105,110,0,2049,2217,13,1793,3035,3,10,1,3033,1793,3041,
                       772,10,1,3039,2049,64,10,3017,3057,166,0,0,110,58,109,97,120,0,2049,2217,
                       14,1793,3064,3,10,1,3062,1793,3070,772,10,1,3068,2049,64,10,3046,3086,166,0,
                       0,110,58,97,98,115,0,2,2049,2761,1,2962,9,10,3075,3106,166,0,0,110,
                       58,108,105,109,105,116,0,4,5,2049,3028,6,2049,3057,10,3093,3125,166,0,0,
                       110,58,105,110,99,0,659713,1,10,3114,3139,166,0,0,110,58,100,101,99,0,
                       659969,1,10,3128,3158,166,0,0,110,58,98,101,116,119,101,101,110,63,0,67503109,
                       1793,3166,67503109,67503109,2049,3106,10,1,3161,2049,2241,11,10,3142,3187,166,0,0,83,99,
                       111,112,101,76,105,115,116,0,10725,10831,10,3172,3198,166,0,0,123,123,0,2049,
                       1576,2,1,3187,2049,59,16,10,3190,3225,166,0,0,45,45,45,114,101,118,101,
                       97,108,45,45,45,0,2049,1576,1,3187,2049,3125,16,10,3207,3241,166,0,0,125,
                       125,0,1,3187,2049,56,4,15,11,1793,3255,3841,3187,4097,2,10,1,3250,1793,3281,
                       3841,3187,1793,3276,1,2,983567,1,3187,2049,3125,1641487,3,1,3265,7,10,1,3263,8,
                       16,10,1,3259,2049,64,10,3233,3296,166,0,0,66,121,116,101,0,10,3286,3312,
                       166,0,0,98,121,116,101,45,109,97,115,107,0,1,255,4,1,8,19,2,
                       1793,3326,2049,2962,24,21,10,1,3321,2049,2229,24,10,3297,3345,166,0,0,114,101,
                       112,108,97,99,101,0,1,0,1793,3374,1793,3369,1793,3364,1793,3359,3,3841,3296,10,
                       1,3355,2049,2229,10,1,3353,2049,2229,10,1,3351,2049,2229,10,1,3349,2049,2554,1,
                       1,1793,3400,1793,3395,1793,3390,3,3841,3296,10,1,3386,2049,2229,10,1,3384,2049,2229,
                       10,1,3382,2049,2554,1,2,1793,3419,1793,3414,3,3841,3296,10,1,3410,2049,2229,10,
                       1,3408,2049,2554,1,3,1793,3431,3,3841,3296,10,1,3427,2049,2554,3,10,3233,3460,
                       166,0,0,98,58,116,111,45,98,121,116,101,45,97,100,100,114,101,115,115,
                       0,1,4,19,10,3437,3477,166,0,0,98,58,102,101,116,99,104,0,1,4,
                       20,4,1,4,20,67503109,17,15,4,2049,3312,10,3464,3504,166,0,0,98,58,115,
                       116,111,114,101,0,4,4097,3296,1,4,20,4,1793,3518,2,15,2049,76,10,1,
                       3513,2049,2229,2049,3345,2049,90,4,16,10,3491,3542,166,0,0,104,58,102,101,116,
                       99,104,0,1793,3547,2049,3477,10,1,3544,1793,3559,2049,3125,2049,3477,1,-8,24,10,
                       1,3551,2049,2255,22,10,3529,3578,166,0,0,104,58,115,116,111,114,101,0,2049,
                       2217,1793,3586,1,255,21,10,1,3582,2049,2229,2049,3504,2049,3125,1793,3603,1,8,24,
                       1,255,21,10,1,3596,2049,2229,2049,3504,10,3565,3623,166,0,0,119,58,102,101,
                       116,99,104,0,1,4,197652,15,10,3610,3641,166,0,0,119,58,115,116,111,114,
                       101,0,1,4,197652,16,10,3628,3664,166,0,0,119,58,102,101,116,99,104,45,
                       110,101,120,116,0,2,1,4,17,4,2049,3623,10,3646,3690,166,0,0,104,58,
                       102,101,116,99,104,45,110,101,120,116,0,2,1,2,17,4,2049,3542,10,3672,
                       3716,166,0,0,98,58,102,101,116,99,104,45,110,101,120,116,0,2,1,1,
                       17,4,2049,3477,10,3698,3742,166,0,0,119,58,115,116,111,114,101,45,110,101,
                       120,116,0,2,1,4,17,1,3641,2049,2229,10,3724,3769,166,0,0,104,58,115,
                       116,111,114,101,45,110,101,120,116,0,2,1,2,17,1,3578,2049,2229,10,3751,
                       3796,166,0,0,98,58,115,116,111,114,101,45,110,101,120,116,0,2,1,1,
                       17,1,3504,2049,2229,10,3778,3819,166,0,0,118,58,105,110,99,45,98,121,0,
                       1793,3823,4367,10,1,3821,2049,2241,16,10,3805,3843,166,0,0,118,58,100,101,99,
                       45,98,121,0,1793,3847,1180687,10,1,3845,2049,2241,16,10,3829,3864,166,0,0,118,
                       58,105,110,99,0,1,1,4,2049,3819,10,3853,3881,166,0,0,118,58,100,101,
                       99,0,1,1,4,2049,3843,10,3870,3900,166,0,0,118,58,108,105,109,105,116,
                       0,251790597,1542,2049,3106,4100,10,3887,3916,166,0,0,118,58,111,110,0,2049,2527,4100,
                       10,3906,3931,166,0,0,118,58,111,102,102,0,2049,2541,4100,10,3920,3946,166,0,
                       0,97,108,108,111,116,0,1,3,2049,3819,10,3935,3967,166,0,0,118,58,112,
                       114,101,115,101,114,118,101,0,983556,1793,3975,1,25,2049,2229,10,1,3970,2049,2229,
                       4100,10,3951,3995,166,0,0,118,58,117,112,100,97,116,101,0,4,1793,4002,15,
                       4,8,10,1,3998,2049,2241,16,10,3981,4018,166,0,0,99,111,112,121,0,1793,
                       4027,285278725,1,33951492,268767489,1,6,10,1,4020,2049,2449,771,10,4008,4044,154,0,0,115,
                       116,97,114,116,0,0,10,4033,4055,154,0,0,101,110,100,0,0,10,4046,4072,
                       166,0,0,116,101,114,109,105,110,97,116,101,0,1,0,3841,4055,16,10,4008,
                       4096,166,0,0,98,117,102,102,101,114,58,115,116,97,114,116,0,3841,4044,10,
                       4078,4115,166,0,0,98,117,102,102,101,114,58,101,110,100,0,3841,4055,10,4099,
                       4134,166,0,0,98,117,102,102,101,114,58,97,100,100,0,3841,4055,16,1,4055,
                       2049,3864,2049,4072,10,4118,4160,166,0,0,98,117,102,102,101,114,58,103,101,116,
                       0,1,4055,2049,3881,3841,4055,15,2049,4072,10,4144,4188,166,0,0,98,117,102,102,
                       101,114,58,101,109,112,116,121,0,3841,4044,4097,4055,2049,4072,10,4170,4212,166,0,
                       0,98,117,102,102,101,114,58,115,105,122,101,0,3841,4055,3841,4044,18,10,4195,
                       4234,166,0,0,98,117,102,102,101,114,58,115,101,116,0,4097,4044,2049,4188,10,
                       4218,4260,166,0,0,98,117,102,102,101,114,58,112,114,101,115,101,114,118,101,
                       0,3841,4044,3841,4055,1793,4273,1,25,2049,2229,4097,4044,10,1,4266,2049,2229,4097,4055,
                       10,4239,4297,154,0,0,84,101,109,112,83,116,114,105,110,103,115,0,32,4280,
                       4317,154,0,0,84,101,109,112,83,116,114,105,110,103,77,97,120,0,512,4298,
                       4331,166,0,0,83,84,82,73,78,71,83,0,2049,1545,3841,4297,3841,4317,19,18,
                       10,4318,4353,154,0,0,67,117,114,114,101,110,116,0,31,10,4340,4370,166,0,
                       0,115,58,112,111,105,110,116,101,114,0,3841,4353,3841,4317,19,2049,4331,17,10,
                       4355,4391,166,0,0,115,58,110,101,120,116,0,1,4353,2049,3864,3841,4353,3841,4297,
                       11,1793,4407,1,0,4097,4353,10,1,4402,9,10,4318,4423,166,0,0,115,58,116,
                       101,109,112,0,2,2049,102,2049,3125,2049,4370,4,2049,4018,2049,4370,2049,4391,10,4411,
                       4451,166,0,0,115,58,101,109,112,116,121,0,2049,4370,2049,4391,1,0,67502597,16,
                       10,4438,4472,166,0,0,115,58,115,107,105,112,0,6,1793,4480,68223234,1,786703,0,
                       10,1,4475,2049,2372,2049,3139,5,10,4460,4500,166,0,0,115,58,107,101,101,112,
                       0,2049,1913,1793,4509,1,4472,2049,1868,10,1,4504,9,2049,1977,1,142,2049,2229,2049,
                       154,10,4488,4534,178,0,0,115,105,103,105,108,58,39,0,2049,1913,1,4500,1,
                       4423,2049,64,10,4521,4556,166,0,0,115,58,102,101,116,99,104,0,17,15,10,
                       4543,4572,166,0,0,115,58,115,116,111,114,101,0,17,16,10,4559,4587,166,0,
                       0,115,58,99,104,111,112,0,2049,4423,2,2049,102,67502597,17,2049,3139,1,0,4,
                       16,10,4575,4616,166,0,0,115,58,114,101,118,101,114,115,101,0,1793,4658,2,
                       2049,4423,2049,4234,1,102,1793,4634,2,2049,102,17,2049,3139,10,1,4627,2049,2255,4,
                       1793,4648,2,15,2049,4134,2049,3139,10,1,4641,2049,2449,3,2049,4096,2049,4423,10,1,
                       4618,2049,4260,10,4601,4678,166,0,0,115,58,112,114,101,112,101,110,100,0,2049,
                       4423,1793,4702,2,2049,102,17,1793,4694,2,2049,102,2049,3125,10,1,4688,2049,2229,4,
                       2049,4018,10,1,4682,2049,2241,10,4663,4721,166,0,0,115,58,97,112,112,101,110,
                       100,0,4,2049,4678,10,4707,4741,166,0,0,115,58,102,111,114,45,101,97,99,
                       104,0,1793,4756,67502597,6415,3,67502597,67502597,251987205,2054,101777670,1,1,4743,7,10,1,4743,8,
                       771,10,4725,4779,166,0,0,115,58,105,110,100,101,120,47,99,104,97,114,0,
                       4,1793,4793,68223234,1,6415,33883396,101450758,6404,3,1,4782,7,10,1,4782,1793,4802,18,2049,
                       3139,772,10,1,4797,1793,4811,2049,102,67502597,11,10,1,4806,2049,2298,1793,4821,3,1,
                       -1,10,1,4817,9,10,4761,4847,166,0,0,115,58,99,111,110,116,97,105,110,
                       115,47,99,104,97,114,63,0,2049,4779,1,-1,12,10,4825,4865,166,0,0,115,
                       58,104,97,115,104,0,1,5381,4,1793,4873,286458116,33,10,1,4870,2049,4741,10,4853,
                       4887,154,0,0,83,114,99,0,0,4878,4897,154,0,0,84,97,114,0,0,4888,
                       4907,154,0,0,80,97,100,0,0,4898,4915,154,0,0,73,0,0,4908,4923,154,
                       0,0,70,0,0,4916,4932,154,0,0,65,116,0,0,4924,4948,166,0,0,116,
                       101,114,109,105,110,97,116,101,0,1,0,3841,4907,3841,4897,2049,102,17,16,10,
                       4933,4972,166,0,0,101,120,116,114,97,99,116,0,3841,4887,3841,4915,17,3841,4907,
                       3841,4897,2049,102,2049,4018,10,4959,4999,166,0,0,99,111,109,112,97,114,101,0,
                       3841,4907,3841,4897,2049,116,3841,4923,22,4097,4923,3841,4923,1793,5019,3841,4915,4097,4932,10,
                       1,5014,2049,72,10,4986,5034,166,0,0,110,101,120,116,0,1,4915,2049,3864,10,
                       4853,5063,166,0,0,115,58,99,111,110,116,97,105,110,115,47,115,116,114,105,
                       110,103,63,0,4097,4897,4097,4887,2049,4451,4097,4907,1,0,4097,4915,1,0,4097,4923,
                       3841,4887,2049,102,1793,5094,2049,4972,2049,4948,2049,4999,2049,5034,10,1,5085,2049,2449,3841,
                       4923,10,5039,5110,154,0,0,83,116,114,0,0,5101,5124,166,0,0,101,120,116,
                       114,97,99,116,0,2049,2217,3841,5110,4,2049,4018,3841,-1,67502597,17,1,0,4,16,
                       10,5111,5151,166,0,0,99,104,101,99,107,0,1,5124,2049,2229,1793,5162,1,3125,
                       2049,2229,10,1,5157,2049,2229,3841,5110,2049,4865,67502597,11,10,5140,5187,166,0,0,108,
                       111,99,97,116,105,111,110,0,67503109,67503109,1793,5220,1793,5215,4,1793,5201,67502597,2049,2722,
                       21,10,1,5196,2049,2229,4,1793,5211,772,2,10,1,5208,9,10,1,5193,2049,2229,
                       10,1,5191,2049,2229,10,5173,5236,166,0,0,115,101,116,117,112,0,2049,4451,4097,
                       5110,1,0,67503109,67503109,1,102,1,4865,2049,2255,2049,4451,2049,4234,1793,5260,67502597,2049,102,
                       10,1,5256,2049,2229,4,10,5039,5286,166,0,0,115,58,105,110,100,101,120,47,
                       115,116,114,105,110,103,0,67502597,1793,5312,1793,5305,2049,5236,1793,5300,2049,5151,2049,5187,
                       10,1,5295,2049,2449,10,1,5291,2049,4260,771,3,10,1,5289,2049,2229,18,1,2,
                       18,1,-1,2049,3057,10,5266,5339,166,0,0,115,58,102,105,108,116,101,114,0,
                       1793,5367,2049,4451,2049,4234,4,1793,5359,2049,2217,4,8,1,4134,1,15,2049,64,10,
                       1,5348,2049,4741,3,2049,4096,10,1,5341,2049,4260,10,5325,5383,166,0,0,115,58,
                       109,97,112,0,1793,5405,2049,4451,2049,4234,4,1793,5397,67502597,8,2049,4134,10,1,5392,
                       2049,4741,3,2049,4096,10,1,5385,2049,4260,10,5372,5424,166,0,0,115,58,115,117,
                       98,115,116,114,0,1793,5430,17,2049,4451,10,1,5426,2049,2229,1793,5442,67502597,1,4018,
                       2049,2229,10,1,5436,2049,2241,67502597,1793,5455,17,1,0,4,16,10,1,5449,2049,2229,
                       10,5410,5473,166,0,0,115,58,114,105,103,104,116,0,67502597,2049,102,67502597,18,4,
                       2049,5424,10,5460,5494,166,0,0,115,58,108,101,102,116,0,1,0,4,2049,5424,
                       10,5482,5520,166,0,0,115,58,98,101,103,105,110,115,45,119,105,116,104,63,
                       0,2,2049,102,1,17,2049,2229,2049,5494,2049,116,10,5500,5550,166,0,0,115,58,
                       101,110,100,115,45,119,105,116,104,63,0,2,2049,102,1,17,2049,2229,2049,5473,
                       2049,116,10,5532,5574,166,0,0,115,58,99,111,112,121,0,67502597,2049,102,2049,3125,
                       2049,4018,10,5562,5596,166,0,0,115,58,68,73,71,73,84,83,0,2049,4472,48,
                       49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,1,5598,10,5582,
                       5641,166,0,0,115,58,65,83,67,73,73,45,76,79,87,69,82,67,65,83,
                       69,0,2049,4472,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,
                       113,114,115,116,117,118,119,120,121,122,0,1,5643,10,5618,5696,166,0,0,115,
                       58,65,83,67,73,73,45,85,80,80,69,82,67,65,83,69,0,2049,4472,65,
                       66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,
                       86,87,88,89,90,0,1,5698,10,5673,5749,166,0,0,115,58,65,83,67,73,
                       73,45,76,69,84,84,69,82,83,0,2049,4472,97,98,99,100,101,102,103,104,
                       105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,
                       67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,
                       87,88,89,90,0,1,5751,10,5728,5826,166,0,0,115,58,80,85,78,67,84,
                       85,65,84,73,79,78,0,2049,4472,95,33,34,35,36,37,38,39,40,41,42,
                       43,44,45,46,47,58,59,60,61,62,63,64,91,92,93,94,96,123,124,125,
                       126,0,1,5828,1,95,67502597,16,10,5807,5886,154,0,0,115,58,87,72,73,84,
                       69,83,80,65,67,69,0,32,9,10,13,0,5868,5898,178,0,0,39,0,1,
                       4451,2049,166,10,5891,5910,178,0,0,36,0,1,0,2049,154,10,5903,0,154,0,
                       0,65,83,67,73,73,58,78,85,76,0,5915,27,154,0,0,65,83,67,73,
                       73,58,69,83,67,0,5930,8,154,0,0,65,83,67,73,73,58,66,83,0,
                       5945,9,154,0,0,65,83,67,73,73,58,72,84,0,5959,10,154,0,0,65,
                       83,67,73,73,58,76,70,0,5973,11,154,0,0,65,83,67,73,73,58,86,
                       84,0,5987,12,154,0,0,65,83,67,73,73,58,70,70,0,6001,13,154,0,
                       0,65,83,67,73,73,58,67,82,0,6015,32,154,0,0,65,83,67,73,73,
                       58,83,80,65,67,69,0,6029,127,154,0,0,65,83,67,73,73,58,68,69,
                       76,0,6046,1,154,0,0,65,83,67,73,73,58,83,79,72,0,6061,2,154,
                       0,0,65,83,67,73,73,58,83,84,88,0,6076,3,154,0,0,65,83,67,
                       73,73,58,69,84,88,0,6091,4,154,0,0,65,83,67,73,73,58,69,79,
                       84,0,6106,5,154,0,0,65,83,67,73,73,58,69,78,81,0,6121,6,154,
                       0,0,65,83,67,73,73,58,65,67,75,0,6136,7,154,0,0,65,83,67,
                       73,73,58,66,69,76,0,6151,14,154,0,0,65,83,67,73,73,58,83,79,
                       0,6166,15,154,0,0,65,83,67,73,73,58,83,73,0,6180,16,154,0,0,
                       65,83,67,73,73,58,68,76,69,0,6194,17,154,0,0,65,83,67,73,73,
                       58,68,67,49,0,6209,18,154,0,0,65,83,67,73,73,58,68,67,50,0,
                       6224,19,154,0,0,65,83,67,73,73,58,68,67,51,0,6239,20,154,0,0,
                       65,83,67,73,73,58,68,67,52,0,6254,21,154,0,0,65,83,67,73,73,
                       58,78,65,75,0,6269,22,154,0,0,65,83,67,73,73,58,83,89,78,0,
                       6284,23,154,0,0,65,83,67,73,73,58,69,84,66,0,6299,24,154,0,0,
                       65,83,67,73,73,58,67,65,78,0,6314,25,154,0,0,65,83,67,73,73,
                       58,69,77,0,6329,26,154,0,0,65,83,67,73,73,58,83,85,66,0,6343,
                       28,154,0,0,65,83,67,73,73,58,70,83,0,6358,29,154,0,0,65,83,
                       67,73,73,58,71,83,0,6372,30,154,0,0,65,83,67,73,73,58,82,83,
                       0,6386,31,154,0,0,65,83,67,73,73,58,85,83,0,6400,6432,166,0,0,
                       99,58,108,111,119,101,114,99,97,115,101,63,0,1,97,1,122,2049,3158,10,
                       6414,6457,166,0,0,99,58,117,112,112,101,114,99,97,115,101,63,0,1,65,
                       1,90,2049,3158,10,6439,6479,166,0,0,99,58,108,101,116,116,101,114,63,0,
                       1,6432,1,6457,2049,2255,22,10,6464,6501,166,0,0,99,58,100,105,103,105,116,
                       63,0,1,48,1,57,2049,3158,10,6487,6524,166,0,0,99,58,118,105,115,105,
                       98,108,101,63,0,1,32,1,126,2049,3158,10,6508,6545,166,0,0,99,58,118,
                       111,119,101,108,63,0,2049,4472,97,101,105,111,117,65,69,73,79,85,0,1,
                       6547,4,2049,4847,10,6531,6582,166,0,0,99,58,99,111,110,115,111,110,97,110,
                       116,63,0,2,2049,6479,1793,6592,2049,6545,2049,2644,10,1,6587,1793,6600,3,2049,2541,
                       10,1,6596,2049,64,10,6564,6624,166,0,0,99,58,119,104,105,116,101,115,112,
                       97,99,101,63,0,1,5886,4,2049,4847,10,6605,6649,166,0,0,99,58,45,108,
                       111,119,101,114,99,97,115,101,63,0,2049,6432,2049,2644,10,6630,6673,166,0,0,
                       99,58,45,117,112,112,101,114,99,97,115,101,63,0,2049,6457,2049,2644,10,6654,
                       6693,166,0,0,99,58,45,100,105,103,105,116,63,0,2049,6501,2049,2644,10,6678,
                       6718,166,0,0,99,58,45,119,104,105,116,101,115,112,97,99,101,63,0,2049,
                       6624,2049,2644,10,6698,6740,166,0,0,99,58,45,118,105,115,105,98,108,101,63,
                       0,2049,6524,2049,2644,10,6723,6760,166,0,0,99,58,45,118,111,119,101,108,63,
                       0,2049,6545,2049,2644,10,6745,6784,166,0,0,99,58,45,99,111,110,115,111,110,
                       97,110,116,63,0,2049,6582,2049,2644,10,6765,6805,166,0,0,99,58,116,111,45,
                       117,112,112,101,114,0,2,2049,6432,25,3,1,32,18,10,6789,6830,166,0,0,
                       99,58,116,111,45,108,111,119,101,114,0,2,2049,6457,25,3,1,32,17,10,
                       6814,6856,166,0,0,99,58,116,111,45,115,116,114,105,110,103,0,2049,4472,46,
                       0,1,6858,2049,4423,1,37,2049,2241,10,6839,6888,166,0,0,99,58,116,111,103,
                       103,108,101,45,99,97,115,101,0,2,2049,6432,1,6805,1,6830,2049,64,10,6869,
                       6915,166,0,0,99,58,116,111,45,110,117,109,98,101,114,0,2,2049,6501,1793,
                       6924,1,48,18,10,1,6920,1793,6932,3,1,0,10,1,6928,2049,64,10,6898,6953,
                       166,0,0,115,58,116,111,45,117,112,112,101,114,0,1,6805,2049,5383,10,6937,
                       6974,166,0,0,115,58,116,111,45,108,111,119,101,114,0,1,6830,2049,5383,10,
                       6958,6996,166,0,0,115,58,116,114,105,109,45,108,101,102,116,0,2049,4423,1793,
                       7010,2049,56,1,6624,1,2740,2049,2255,21,10,1,7000,2049,2372,2049,3139,10,6979,7035,
                       166,0,0,115,58,116,114,105,109,45,114,105,103,104,116,0,2049,4423,2049,4616,
                       2049,6996,2049,4616,10,7017,7056,166,0,0,115,58,116,114,105,109,0,2049,7035,2049,
                       6996,10,7044,7085,154,0,0,82,101,119,114,105,116,101,85,110,100,101,114,115,
                       99,111,114,101,115,0,-1,7061,7095,166,0,0,115,117,98,0,1,95,1793,7102,
                       1,32,10,1,7099,2049,2554,10,7086,7120,166,0,0,114,101,119,114,105,116,101,
                       0,3841,7085,1793,7129,1,7095,2049,5383,10,1,7124,9,10,7107,7145,166,0,0,104,
                       97,110,100,108,101,0,1,4534,8,10,7061,7162,178,0,0,115,105,103,105,108,
                       58,39,0,2049,7120,2049,7145,10,7149,7185,166,0,0,115,58,115,112,108,105,116,
                       47,99,104,97,114,0,2049,2217,2049,4779,772,2049,2217,2049,5494,1,39,2049,2229,10,
                       7167,7219,166,0,0,115,58,115,112,108,105,116,47,115,116,114,105,110,103,0,
                       2049,2217,2049,5286,2049,3125,772,2049,2217,2049,5494,1,39,2049,2229,10,7199,7250,166,0,
                       0,115,58,114,101,112,108,97,99,101,0,67502597,2049,102,2049,1977,16,1793,7266,2049,
                       7219,4,2049,1977,15,17,10,1,7258,2049,2229,2049,4678,2049,4721,10,7235,7289,154,0,
                       0,83,112,108,105,116,45,79,110,0,0,7275,7302,166,0,0,109,97,116,99,
                       104,63,0,3841,7289,11,10,7290,7321,166,0,0,116,101,114,109,105,110,97,116,
                       101,0,1,0,67502597,2049,3139,16,10,7306,7338,166,0,0,115,116,101,112,0,1,
                       3125,2049,2229,2049,7302,1793,7352,2,2049,128,2049,7321,10,1,7346,9,10,7235,7372,166,
                       0,0,115,58,116,111,107,101,110,105,122,101,0,4097,7289,2049,4500,2049,1977,1,
                       0,2049,128,1793,7394,2,2049,128,2,1,7338,2049,4741,3,10,1,7384,2049,2229,2049,
                       1977,67502597,18,2049,3139,67502597,16,10,7356,7419,154,0,0,78,101,101,100,108,101,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,7407,7556,154,0,0,76,101,110,0,0,7547,7569,
                       154,0,0,84,111,107,101,110,115,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7557,7705,
                       154,0,0,84,80,0,0,7697,7716,166,0,0,115,97,118,101,0,2049,4500,3841,
                       7705,1,7569,17,2049,3125,16,1,7705,2049,3864,10,7706,7741,166,0,0,110,101,120,
                       116,0,1793,7747,3841,7556,17,10,1,7743,2049,2241,10,7731,7763,166,0,0,100,111,
                       110,101,63,0,2049,102,2049,2722,10,7356,7794,166,0,0,115,58,116,111,107,101,
                       110,105,122,101,45,111,110,45,115,116,114,105,110,103,0,1,0,4097,7705,1793,
                       7808,2,1,7419,2049,5574,2049,4721,10,1,7800,1793,7817,2049,102,4097,7556,10,1,7812,
                       2049,2255,1793,7834,1,7419,2049,7219,2049,7716,2049,7741,2049,7763,10,1,7823,2049,2397,1,
                       7569,3841,7705,2049,3139,4097,7569,10,7768,7861,166,0,0,102,111,114,45,101,97,99,
                       104,0,4,2049,56,1,17,2049,2229,1793,7877,5,2049,56,84018692,525572,1542,10,1,7870,
                       2049,2449,771,10,7847,7899,166,0,0,115,117,98,115,116,105,116,117,116,101,0,
                       2049,4331,1,129,18,10,7883,7918,166,0,0,101,120,116,114,97,99,116,0,2049,
                       7899,2049,5574,10,7905,7937,166,0,0,116,111,107,101,110,105,122,101,0,2049,7794,
                       2049,4451,10,7923,7955,166,0,0,99,111,109,98,105,110,101,0,2049,7899,2049,4721,
                       2049,4721,10,7942,7973,166,0,0,109,101,114,103,101,0,4,1,7955,2049,7861,772,
                       10,7962,7994,166,0,0,102,105,110,100,45,101,110,100,0,2,2049,102,2049,7899,
                       2049,102,18,67502597,17,10,7980,8016,166,0,0,99,108,101,97,110,0,2049,7994,1,
                       0,4,16,10,7768,8042,166,0,0,115,58,114,101,112,108,97,99,101,45,97,
                       108,108,0,1,3,1793,8057,2049,7918,2049,7937,2049,7973,2049,8016,2049,4423,10,1,8046,
                       2049,3967,10,8023,8074,154,0,0,83,116,114,105,110,103,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,8062,8156,166,0,0,99,104,101,99,107,45,115,105,103,110,0,2049,2761,1793,
                       8165,1,45,2049,4134,10,1,8160,9,10,8140,8183,166,0,0,110,45,62,100,105,
                       103,105,116,0,2049,5596,17,15,10,8169,8201,166,0,0,99,111,110,118,101,114,
                       116,0,1793,8215,3841,236,20,4,2049,8183,2049,4134,2,2049,2722,10,1,8203,2049,2397,
                       3,10,8023,8238,166,0,0,110,58,116,111,45,115,116,114,105,110,103,0,1793,
                       8252,1,8074,2049,4234,2,2049,3086,2049,8201,2049,8156,10,1,8240,2049,4260,1,8074,2049,
                       4616,10,8221,8271,166,0,0,99,104,97,114,0,1,32,1793,8280,1,95,2049,4134,
                       10,1,8275,2049,2554,1,114,1793,8293,1,13,2049,4134,10,1,8288,2049,2554,1,110,
                       1793,8306,1,10,2049,4134,10,1,8301,2049,2554,1,116,1793,8319,1,9,2049,4134,10,
                       1,8314,2049,2554,1,48,1793,8332,1,0,2049,4134,10,1,8327,2049,2554,1,94,1793,
                       8345,1,27,2049,4134,10,1,8340,2049,2554,2049,4134,10,8261,8362,166,0,0,116,121,
                       112,101,0,1,99,1793,8370,4,2049,4134,10,1,8366,2049,2554,1,115,1793,8384,4,
                       1,4134,2049,4741,10,1,8378,2049,2554,1,110,1793,8400,4,2049,8238,1,4134,2049,4741,
                       10,1,8392,2049,2554,3,10,8352,8418,166,0,0,104,97,110,100,108,101,0,1,
                       92,1793,8427,2049,56,2049,8271,10,1,8422,2049,2554,1,37,1793,8440,2049,56,2049,8362,
                       10,1,8435,2049,2554,2049,4134,10,8221,8461,166,0,0,115,58,102,111,114,109,97,
                       116,0,1793,8490,2049,4451,1793,8485,2049,4234,1793,8480,2049,56,25,2049,8418,1,8471,7,
                       10,1,8471,8,3,10,1,8467,2049,2241,10,1,8463,2049,4260,10,8447,8508,166,0,
                       0,115,58,99,111,110,115,116,0,1,4500,2049,2229,2049,2131,10,8495,8527,154,0,
                       0,86,97,108,117,101,115,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8515,8565,166,0,
                       0,102,114,111,109,0,2049,102,2,1793,8583,1793,8576,1,8527,4113,10,1,8572,2049,
                       2241,2049,3139,10,1,8570,2049,2449,3,10,8555,8597,166,0,0,116,111,0,2,2049,
                       102,1793,8613,2049,56,1,97,18,2049,3125,1,8527,266001,10,1,8602,2049,2449,3,10,
                       8495,8632,166,0,0,114,101,111,114,100,101,114,0,1,8565,2049,2229,2049,8597,10,
                       8619,8650,166,0,0,99,117,114,114,121,0,2049,1977,1793,8660,4,2049,1818,2049,1843,
                       10,1,8654,2049,2229,10,8639,8675,166,0,0,100,111,101,115,0,2049,1595,4,2049,
                       8650,2049,1576,2049,180,16,1,166,2049,1660,10,8665,8706,166,0,0,100,58,102,111,
                       114,45,101,97,99,104,0,1,2,1793,8732,6415,2049,2217,1793,8724,1793,8719,2052,10,
                       1,8717,2049,2229,10,1,8715,2049,2229,1,8710,7,10,1,8710,8,3,10,8690,8754,
                       166,0,0,100,58,108,111,111,107,117,112,45,120,116,0,1,0,4,1793,8779,
                       2049,2217,2049,180,2831,1793,8772,4,1,2172,2049,2229,10,1,8766,1,15,2049,64,10,
                       1,8759,2049,8706,3,10,8737,8799,166,0,0,97,58,108,101,110,103,116,104,0,
                       15,10,8785,8824,166,0,0,97,58,99,111,117,110,116,101,100,45,114,101,115,
                       117,108,116,115,0,8,2049,1977,1793,8837,2,2049,128,1,128,2049,2449,10,1,8829,
                       2049,2229,10,8801,8861,166,0,0,97,58,102,114,111,109,45,115,116,114,105,110,
                       103,0,2049,1977,1793,8875,2,2049,102,2049,128,1,128,2049,4741,10,1,8865,2049,2229,
                       10,8842,8896,166,0,0,97,58,102,111,114,45,101,97,99,104,0,4,2049,56,
                       1,17,2049,2229,1793,8912,5,2049,56,84018692,525572,1542,10,1,8905,2049,2449,771,10,8880,
                       8929,166,0,0,97,58,100,117,112,0,2049,1977,1793,8942,2,15,2049,128,1,128,
                       2049,8896,10,1,8933,2049,2229,10,8918,8959,166,0,0,97,58,99,111,112,121,0,
                       1,3,1793,8975,4097,3,2,2049,8799,2049,128,1,128,2049,8896,10,1,8963,2049,3967,
                       10,8947,8997,166,0,0,97,58,116,111,45,115,116,114,105,110,103,0,1,3,
                       1793,9010,2049,8929,1,0,2049,128,2049,3125,10,1,9001,2049,3967,2049,4423,10,8980,9031,
                       166,0,0,97,58,97,112,112,101,110,100,0,2049,2217,1,35,2049,2285,17,2049,
                       1977,1793,9056,2049,128,1793,9051,1,128,2049,8896,10,1,9046,2049,2285,10,1,9042,2049,
                       2229,10,9017,9076,166,0,0,97,58,112,114,101,112,101,110,100,0,4,2049,9031,
                       10,9061,9092,166,0,0,97,58,99,104,111,112,0,2049,8929,1,-1,2049,3946,2,
                       2049,3881,10,9080,9116,166,0,0,97,58,102,105,108,116,101,114,0,1793,9131,67502597,
                       1,25,2049,2229,4,1,128,1,15,2049,64,10,1,9118,2049,8650,2049,1977,1793,9146,
                       67502597,15,2049,128,2049,8896,10,1,9139,2049,2229,2049,1977,67502597,18,2049,3139,67502597,16,10,
                       9102,9176,166,0,0,97,58,99,111,110,116,97,105,110,115,63,0,1,0,4,
                       1793,9188,4,5,67502597,11,6,22,10,1,9181,2049,8896,772,10,9159,9218,166,0,0,
                       97,58,99,111,110,116,97,105,110,115,47,115,116,114,105,110,103,63,0,1,
                       0,4,1793,9231,4,5,67502597,2049,116,6,22,10,1,9223,2049,8896,772,10,9194,9248,
                       166,0,0,97,58,109,97,112,0,1793,9254,8,2049,128,10,1,9250,2049,8650,2049,
                       1977,1793,9269,67502597,15,2049,128,2049,8896,10,1,9262,2049,2229,10,9237,9289,166,0,0,
                       97,58,114,101,118,101,114,115,101,0,2049,1977,1793,9323,2049,56,1793,9301,17,2049,
                       3139,10,1,9297,2049,2241,2,2049,128,1793,9317,2,15,2049,128,2049,3139,10,1,9310,
                       2049,2449,3,10,1,9293,2049,2229,10,9274,9338,166,0,0,97,58,116,104,0,17,
                       2049,3125,10,9328,9355,166,0,0,97,58,102,101,116,99,104,0,2049,9338,15,10,
                       9342,9372,166,0,0,97,58,115,116,111,114,101,0,2049,9338,16,10,9359,9390,166,
                       0,0,97,58,114,101,100,117,99,101,0,1,17,2049,2229,2049,8896,10,9376,9410,
                       166,0,0,97,58,105,110,100,101,120,0,5,5,1,-1,1,0,6,6,4,
                       1793,9458,67502597,11,1793,9445,1793,9440,67502597,1,-1,11,1793,9436,772,2,10,1,9433,9,
                       10,1,9427,2049,2229,10,1,9425,9,1793,9453,2049,3125,10,1,9450,2049,2229,10,1,
                       9421,2049,8896,771,10,9397,9478,166,0,0,105,100,101,110,116,105,102,121,0,1,
                       -1,4,1,0,1793,9509,2049,2527,11,1793,9503,67502597,1,-1,11,1793,9499,772,2,10,
                       1,9496,9,10,1,9490,9,2049,3125,10,1,9485,2049,9390,3,10,9397,9535,166,0,
                       0,97,58,105,110,100,101,120,47,115,116,114,105,110,103,0,1,3,1793,9548,
                       1,116,2049,8650,2049,9248,2049,9478,10,1,9539,2049,3967,10,9515,9565,166,0,0,97,
                       58,109,97,107,101,0,2049,8824,2,2,1,3,1793,9576,2049,9289,10,1,9573,2049,
                       3967,4,2049,8959,10,9553,9591,178,0,0,123,0,1,332,2049,178,1,1560,2049,166,
                       1,332,2049,178,10,9584,9611,178,0,0,125,0,1,348,2049,178,1,2229,2049,166,
                       1,1560,2049,166,1,17,2049,172,1,41,2049,172,1,3139,2049,166,1,348,2049,178,
                       1,9565,2049,166,10,9604,9657,166,0,0,98,111,117,110,100,115,63,0,67502597,2049,
                       8799,67502597,13,10,9644,9673,166,0,0,99,111,112,121,0,2049,56,2049,128,10,9663,
                       9690,166,0,0,116,111,45,101,110,100,0,2,2049,8799,17,2049,3125,10,9604,9709,
                       166,0,0,97,58,108,101,102,116,0,2049,9657,1793,9717,771,1,-1,10,1,9713,
                       2049,2862,2049,1977,67502597,2049,128,1793,9738,1,3125,2049,2229,1,9673,2049,2449,3,10,1,
                       9728,2049,2229,10,9697,9756,166,0,0,97,58,114,105,103,104,116,0,2049,9657,1793,
                       9764,771,1,-1,10,1,9760,2049,2862,2049,1977,67502597,2049,128,1793,9787,4,2049,9690,67502597,
                       18,4,1,9673,2049,2449,3,10,1,9775,2049,2229,10,9743,9806,166,0,0,97,58,
                       109,105,100,100,108,101,0,1,2161,2049,2229,4,67502597,2049,9657,1793,9821,771,3,1,
                       -1,10,1,9816,2049,2862,771,2049,2217,4,18,2049,3125,2049,1977,67502597,2049,128,1793,9856,
                       772,1793,9846,17,2049,3125,10,1,9842,2049,2229,1,9673,2049,2449,3,10,1,9839,2049,
                       2229,10,9792,9871,154,0,0,70,108,97,103,0,0,9861,9885,166,0,0,99,111,
                       109,112,97,114,101,0,67440386,184946434,10,9872,9900,166,0,0,108,101,110,103,116,104,
                       0,659202,10,9888,9912,166,0,0,110,101,120,116,0,17043713,1,1,2577,10,9902,9932,
                       166,0,0,110,111,116,45,101,113,117,97,108,0,50529030,2561,0,10,9917,9946,166,
                       0,0,108,111,111,112,0,524549,9912,2049,9885,18157313,9871,9871,16,420610310,1,1,9946,7,
                       10,9792,9971,166,0,0,97,58,101,113,63,0,1048833,-1,9871,2049,9885,151066369,-1,9932,
                       2049,9900,2049,9946,251724547,9871,10,9960,9998,166,0,0,97,58,45,101,113,63,0,2049,
                       9971,2049,2644,10,9986,10023,166,0,0,97,58,98,101,103,105,110,115,45,119,105,
                       116,104,63,0,1,3,1793,10039,2,2049,8799,1,17,2049,2229,2049,9709,2049,9971,10,
                       1,10027,2049,3967,10,10003,10062,166,0,0,97,58,101,110,100,115,45,119,105,116,
                       104,63,0,1,3,1793,10078,2,2049,8799,1,17,2049,2229,2049,9756,2049,9971,10,1,
                       10066,2049,3967,10,10044,10101,166,0,0,99,117,114,114,101,110,116,45,108,105,110,
                       101,0,2049,4331,1,1025,18,10,10083,10125,166,0,0,99,111,117,110,116,45,116,
                       111,107,101,110,115,0,1793,10131,1,32,11,10,1,10127,2049,5339,2049,102,10,10107,
                       10158,166,0,0,112,114,111,99,101,115,115,45,116,111,107,101,110,115,0,1793,
                       10186,1,32,2049,7185,4,1793,10179,2,2049,102,2049,2740,1,410,1,15,2049,64,10,
                       1,10167,2049,2229,2049,3125,10,1,10160,2049,2449,2049,410,10,10044,10209,166,0,0,115,
                       58,101,118,97,108,117,97,116,101,0,2049,10101,2049,5574,2049,10101,2,2049,10125,2049,
                       10158,10,10193,10229,154,0,0,76,80,0,0,10221,10241,154,0,0,73,110,100,101,
                       120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
                       0,0,0,0,0,0,0,0,0,0,0,0,0,0,10230,10283,166,0,0,110,
                       101,120,116,0,3841,10229,1,10241,17,2049,3864,10,10273,10301,166,0,0,112,114,101,
                       112,0,1,10229,2049,3864,1,0,3841,10229,1,10241,17,16,10,10291,10324,166,0,0,
                       100,111,110,101,0,1,10229,2049,3881,10,10193,10336,166,0,0,73,0,3841,10229,1,
                       10241,17,15,10,10329,10350,166,0,0,74,0,3841,10229,1,10241,17,2049,3139,15,10,
                       10343,10366,166,0,0,75,0,3841,10229,1,10241,17,1,2,18,15,10,10359,10395,166,
                       0,0,105,110,100,101,120,101,100,45,116,105,109,101,115,0,2049,10301,4,1793,
                       10411,25,33886721,1,2053,1542,2049,10283,1,10400,7,10,1,10400,8,3,2049,10324,10,10376,
                       10431,166,0,0,100,101,99,105,109,97,108,0,1,10,4097,236,10,10418,10448,166,
                       0,0,98,105,110,97,114,121,0,1,2,4097,236,10,10436,10464,166,0,0,111,
                       99,116,97,108,0,1,8,4097,236,10,10453,10478,166,0,0,104,101,120,0,1,
                       16,4097,236,10,10469,10501,166,0,0,105,111,58,101,110,117,109,101,114,97,116,
                       101,0,27,10,10483,10517,166,0,0,105,111,58,113,117,101,114,121,0,28,10,
                       10503,10534,166,0,0,105,111,58,105,110,118,111,107,101,0,29,10,10519,10553,166,
                       0,0,105,111,58,115,99,97,110,45,102,111,114,0,1,-1,4,2049,10501,1793,
                       10584,2049,10336,2049,10517,772,67502597,11,1793,10580,1793,10575,3,2049,10336,10,1,10571,2049,2229,
                       10,1,10569,9,10,1,10560,2049,10395,3,10,10536,10601,166,0,0,99,58,112,117,
                       116,0,1793,10603,1,0,2049,10534,10,10590,10616,166,0,0,110,108,0,1,10,2049,
                       10601,10,10608,10629,166,0,0,115,112,0,1,32,2049,10601,10,10621,10643,166,0,0,
                       116,97,98,0,1,9,2049,10601,10,10634,10659,166,0,0,115,58,112,117,116,0,
                       1,10601,2049,4741,10,10648,10675,166,0,0,110,58,112,117,116,0,2049,8238,2049,10659,
                       10,10664,10691,166,0,0,114,101,115,101,116,0,2049,1560,25,771,1,10691,7,10,
                       10680,10715,166,0,0,100,117,109,112,45,115,116,97,99,107,0,2049,1560,25,134284547,
                       10715,134283782,10675,2049,10629,10,10699,10735,166,0,0,70,82,69,69,0,2049,4331,1,1025,
                       18,2049,1977,18,10,10725,10754,166,0,0,101,111,108,63,0,1793,10760,1,13,11,
                       10,1,10756,1793,10768,1,10,11,10,1,10764,1793,10776,1,32,11,10,1,10772,2049,
                       2298,22,22,10,10744,10795,166,0,0,118,97,108,105,100,63,0,2,2049,102,2049,
                       2740,10,10783,10810,166,0,0,98,115,63,0,2,1793,10817,1,8,11,10,1,10813,
                       1793,10825,1,127,11,10,1,10821,2049,2255,22,10,10801,10845,166,0,0,99,104,101,
                       99,107,45,98,115,0,2049,10810,1793,10868,2049,4212,1,2,2049,2675,1793,10861,2049,4160,
                       3,10,1,10857,9,2049,4160,3,10,1,10849,9,10,10725,10883,166,0,0,99,58,
                       103,101,116,0,1793,10885,1,1,2049,10553,2049,10534,10,10872,10908,166,0,0,115,58,
                       103,101,116,45,119,111,114,100,0,1793,10936,1,7,15,2049,4234,1793,10927,2049,10883,
                       2,2049,4134,2049,10845,2049,10754,10,1,10917,2049,2397,2049,4096,2049,4587,10,1,10910,2049,
                       4260,10,10892,10950,166,0,0,98,121,101,0,26,10,10941,10964,166,0,0,108,105,
                       115,116,101,110,0,2049,10908,2049,10795,1,410,1,15,2049,64,1,10964,7,10,0 };

M vm/nga-c-no-libc/retro.c => vm/nga-c-no-libc/retro.c +1 -3
@@ 10,8 10,7 @@

   This file contains a minimal implementation of the virtual machine.


   Copyright (c) 2008 - 2021, Charles Childers
   Copyright (c) 2008 - 2022, Charles Childers
   Copyright (c) 2009 - 2010, Luke Parrish
   Copyright (c) 2010,        Marc Simpson
   Copyright (c) 2010,        Jay Skeer


@@ 79,7 78,6 @@ int main(int argc, char **argv) {
    memory[i] = ngaImage[i];

  execute(0);
  return 0;
}

void prepare_vm() {