diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index bd2fc2b..973985c 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -2,7 +2,6 @@ ## Bug Fixes - ## Build - parallel builds now work @@ -15,6 +14,8 @@ ## Interfaces +- use strlcpy, strlcat instead of strcpy and strcat + ### retro (formerly rre) ### retro.py @@ -25,6 +26,8 @@ ## Tools +- use strlcpy, strlcat instead of strcpy and strcat + ## Other ## Documentation diff --git a/doc/Glossary.txt b/doc/Glossary.txt index a2094ec..d853786 100644 --- a/doc/Glossary.txt +++ b/doc/Glossary.txt @@ -1386,3994 +1386,13 @@ Class Handler: class:word | Namespace: class | Interface Layer: all ---------------------------------------------------------------- -clock:day +class:word - Data: -n - Addr: - - Float: - + Data: {n/a} + Addr: {n/a} + Float: set -Return the current day. +all -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -clock:hour - - Data: -n - Addr: - - Float: - - -Return the current hour. - -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -clock:minute - - Data: -n - Addr: - - Float: - - -Return the current minute. - -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -clock:month - - Data: -n - Addr: - - Float: - - -Return the current month. - -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -clock:second - - Data: -n - Addr: - - Float: - - -Return the current second. - -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -clock:year - - Data: -n - Addr: - - Float: - - -Return the current year. - -Class Handler: class:word | Namespace: clock | Interface Layer: iOS - ----------------------------------------------------------------- - -compile:call - - Data: a- - Addr: - - Float: - - -Compile a call to the specified address into the current definition. - -Class Handler: class:word | Namespace: compile | Interface Layer: all - ----------------------------------------------------------------- - -compile:jump - - Data: a- - Addr: - - Float: - - -Compile a jump to the specified address into the current definition. - -Class Handler: class:word | Namespace: compile | Interface Layer: all - ----------------------------------------------------------------- - -compile:lit - - Data: n- - Addr: - - Float: - - -Compile the code to push a number to the stack into the current definition. - -Class Handler: class:word | Namespace: compile | Interface Layer: all - ----------------------------------------------------------------- - -compile:ret - - Data: - - Addr: - - Float: - - -Compile a return instruction into the current definition. - -Class Handler: class:word | Namespace: compile | Interface Layer: all - ----------------------------------------------------------------- - -compiling? - - Data: -f - Addr: - - Float: - - -Return `TRUE` if compiler is on or `FALSE` otherwise. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -config:set-editor-font - - Data: s- - Addr: - - Float: - - -Set the font to use in the editor. If the font fails to load, RETRO will fall back to a safe default. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -config:set-editor-size - - Data: n- - Addr: - - Float: - - -Set the size of the font to use in the editor. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -config:set-output-font - - Data: s- - Addr: - - Float: - - -Set the font to use in output area. If the font fails to load, RETRO will fall back to a safe default. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -config:set-output-size - - Data: n- - Addr: - - Float: - - -Set the size of the font to use in the output area. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -config:set-toolbar-font - - Data: s- - Addr: - - Float: - - -Set the font to use in the toolbar. If the font fails to load, RETRO will fall back to a safe default. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -config:set-toolbar-size - - Data: n- - Addr: - - Float: - - -Set the size of the font to use in the toolbar. - -Class Handler: class:word | Namespace: config | Interface Layer: iOS - ----------------------------------------------------------------- - -const - - Data: ns- - Addr: - - Float: - - -Create a constant returning the specified value. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -copy - - Data: sdl- - Addr: - - Float: - - -Copy `l` cells from memory at `s` to the memory at `d`. These should not overlap. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -curry - - Data: nq-q - Addr: - - Float: - - -Bind a value to a function and return a new quote that calls the bound action. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -d - - Data: n- - Addr: - - Float: - - -Inline a numeric value to the current assembly segment. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -d:add-header - - Data: saa- - Addr: - - Float: - - -Create a header. Provide a string (s) for the name, a pointer to the class handler (a1) and a pointer to the word definition (a2) Generally this won't be used directly. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:class - - Data: d-a - Addr: - - Float: - - -Given a dictionary header, return the class field. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:create - - Data: s- - Addr: - - Float: - - -Create a new dictionary header named the specified string. The new header will point to `here` and have a class of `class:data`. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:for-each - - Data: q- - Addr: - - Float: - - -Execute the specified quote once for each header in the dictionary. Before running the quote, this also pushes a pointer to the header onto the stack. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:last - - Data: -d - Addr: - - Float: - - -Return the most recent dictionary header. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:last - - Data: -a - Addr: - - Float: - - -Return a pointer to the class field of the most recent dictionary header. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:last - - Data: -s - Addr: - - Float: - - -Return a pointer to the name field of the most recent dictionary header. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:last - - Data: -a - Addr: - - Float: - - -Return a pointer to the xt field of the most recent dictionary header. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:link - - Data: d-a - Addr: - - Float: - - -Given a dictionary header, return the link field. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:lookup - - Data: s-d - Addr: - - Float: - - -Lookup the specified name in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:lookup-xt - - Data: a-d - Addr: - - Float: - - -Lookup the specified address in the dictionary and return a pointer to its dictionary header. This returns zero if the word is not found. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:name - - Data: d-s - Addr: - - Float: - - -Given a dictionary header, return the name field. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -d:words - - Data: - - Addr: - - Float: - - -Display a list of all named items in the `Dictionary`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -d:words-with - - Data: s- - Addr: - - Float: - - -Display a list of all named items in the `Dictionary` that contain the provided substring. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -d:xt - - Data: d-a - Addr: - - Float: - - -Given a dictionary header, return the xt field. - -Class Handler: class:word | Namespace: d | Interface Layer: all - ----------------------------------------------------------------- - -data - - Data: - - Addr: - - Float: - - -Change the class of the most recently defined word to `class:data`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -depth - - Data: -n - Addr: - - Float: - - -Return the number of items on the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -dip - - Data: nq-n - Addr: - - Float: - - -Temporarily remove n from the stack, execute the quotation, and then restore n to the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -does - - Data: q- - Addr: - - Float: - - -Attach an action to the most recently created word. This is used in a manner similar to CREATE/DOES> in traditional Forth. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -drop - - Data: n- - Addr: - - Float: - - -Discard the top value on the stack. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -drop-pair - - Data: nn- - Addr: - - Float: - - -Remove top two items on the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -dump-stack - - Data: - - Addr: - - Float: - - -Display the items on the data stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -dup - - Data: n-nn - Addr: - - Float: - - -Duplicate the top item on the stack. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -dup-pair - - Data: nm-nmnm - Addr: - - Float: - - -Duplicate the top two items on the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -eq? - - Data: nn-f - Addr: - - Float: - - -Compare two values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - -Example #1: - - #1 #2 eq? - $a $b eq? - ----------------------------------------------------------------- - -err:notfound - - Data: - - Addr: - - Float: - - -Error handler. Called when a word is not found by `interpret`. - -Class Handler: class:word | Namespace: err | Interface Layer: all - ----------------------------------------------------------------- - -f:* - - Data: - - Addr: - - Float: FF-F - -Multiply two floating point numbers, returning the result. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - -Example #1: - - .3.1415 .22 f:* - ----------------------------------------------------------------- - -f:+ - - Data: - - Addr: - - Float: FF-F - -Add two floating point numbers, returning the result. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - -Example #1: - - .3.1 .22 f:+ - ----------------------------------------------------------------- - -f:- - - Data: - - Addr: - - Float: FF-F - -Subtract F2 from F1 returing the result. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - -Example #1: - - .22.3 .0.12 f:- - ----------------------------------------------------------------- - -f:-INF - - Data: - - Addr: - - Float: -n - -Return a value corresponding to negative infinity - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:-eq? - - Data: -f - Addr: - - Float: FF- - -Compare two floating point values for inequality. Returns `TRUE` if they are not equal or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:-inf? - - Data: -f - Addr: - - Float: F- - -Return `TRUE` if floating point value is -INF or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:/ - - Data: - - Addr: - - Float: FF-F - -Divide floating point value F1 by F2. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:E - - Data: - - Addr: - - Float: -F - -Return the floating point value for Euler's number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:INF - - Data: - - Addr: - - Float: -n - -Return a value corresponding to positive infinity - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:NAN - - Data: - - Addr: - - Float: -n - -Return a value corresponding to NaN - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:PI - - Data: - - Addr: - - Float: -F - -Return the floating point value for PI. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:abs - - Data: - - Addr: - - Float: F-F - -Return the absolute value for a floating point value. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:acos - - Data: - - Addr: - - Float: f-f - -Return the arc cosine of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:asin - - Data: - - Addr: - - Float: f-f - -Return the arc sine of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:atan - - Data: - - Addr: - - Float: f-f - -Return the arc tangent of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:ceiling - - Data: - - Addr: - - Float: F-F - -Return the smallest integral value greater than or equal to the specified value. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:cos - - Data: - - Addr: - - Float: f-f - -Return the cosine of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:depth - - Data: -n - Addr: - - Float: - - -Return the number of items on the floating point stack. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:drop - - Data: - - Addr: - - Float: F- - -Discard the top item on the floating point stack. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:dup - - Data: - - Addr: - - Float: F-FF - -Duplicate the top item on the floating point stack. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:eq? - - Data: -f - Addr: - - Float: FF- - -Compare two floating point values for equality. Returns `TRUE` if they are equal or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:fetch - - Data: a- - Addr: - - Float: -n - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -f:floor - - Data: - - Addr: - - Float: F-F - -Perform a mathmatical floor operation on the floating point value. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:gt? - - Data: -f - Addr: - - Float: FF- - -Compare two floating point values for greater than. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:inf? - - Data: -f - Addr: - - Float: F- - -Return `TRUE` if floating point value is INF or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:log - - Data: - - Addr: - - Float: FF-F - -Return log(F1) for base F2 for floating point values. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:lt? - - Data: -f - Addr: - - Float: FF- - -Compare two floating point values for less than. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:nan? - - Data: -f - Addr: - - Float: F- - -Return `TRUE` if floating point value is NaN or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:negate - - Data: - - Addr: - - Float: F-F - -Invert the sign of the floating point value. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - -Example #1: - - .3.1415 f:negate - ----------------------------------------------------------------- - -f:negative? - - Data: -f - Addr: - - Float: F- - -Return `TRUE` if floating point value is negative or `FALSE` if not. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:over - - Data: - - Addr: - - Float: FG-FGF - -Put a copy of the second floating point value over the top one. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:positive? - - Data: -f - Addr: - - Float: F- - -Return `TRUE` if floating point value is positive or `FALSE` otherwise. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:power - - Data: - - Addr: - - Float: FF-F - -Return F1^F2 for floating point values. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:put - - Data: - - Addr: - - Float: F- - -Display a floating point number. - -Class Handler: class:word | Namespace: global | Interface Layer: rre - ----------------------------------------------------------------- - -f:round - - Data: - - Addr: - - Float: f-f - -Round a floating point value. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:sin - - Data: - - Addr: - - Float: F-F - -Return the sine of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:sqrt - - Data: - - Addr: - - Float: F-F - -Return the square root of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:square - - Data: - - Addr: - - Float: f-f - -Return the square of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:store - - Data: a- - Addr: - - Float: n- - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -f:swap - - Data: - - Addr: - - Float: FG-GF - -Exchange the top and second items on the floating point stack. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:tan - - Data: - - Addr: - - Float: F-F - -Return the tangent of a floating point number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:to-number - - Data: -n - Addr: - - Float: F- - -Convert a floating point value into a number. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:to-string - - Data: -s - Addr: - - Float: F- - -Convert a floating point value into a string. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -f:to-u - - Data: -u - Addr: - - Float: n- - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -f:tuck - - Data: - - Addr: - - Float: FG-GFG - -Tuck a copy of the top floating point value under the second one. - -Class Handler: class:word | Namespace: f | Interface Layer: rre - ----------------------------------------------------------------- - -fetch - - Data: a-n - Addr: - - Float: - - -Fetch the value stored at the specified address. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - -Example #1: - - &Version fetch - ----------------------------------------------------------------- - -fetch-next - - Data: a-an - Addr: - - Float: - - -Fetch the value stored at the specified address. Returns the next address and the value. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -file:A - - Data: -n - Addr: - - Float: - - -Constant for opening a file in APPEND mode. - -Class Handler: class:data | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:R - - Data: -n - Addr: - - Float: - - -Constant for opening a file in READ mode. - -Class Handler: class:data | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:R+ - - Data: -n - Addr: - - Float: - - -Constant for opening a file in READ & WRITE mode. - -Class Handler: class:data | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:W - - Data: -n - Addr: - - Float: - - -Constant for opening a file in WRITE mode. - -Class Handler: class:data | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:close - - Data: h- - Addr: - - Float: - - -Given a file handle, close the file. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:delete - - Data: s- - Addr: - - Float: - - -Delete the named file. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:exists? - - Data: s-f - Addr: - - Float: - - -Given a file name, return `TRUE` if it exists or `FALSE` if it does not. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:flush - - Data: h- - Addr: - - Float: - - -Given a file handle, flush any pending writes to disk. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:for-each-line - - Data: sq- - Addr: - - Float: - - -Given a file name, open it and run the quote once for each line in the file. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:open - - Data: sm-h - Addr: - - Float: - - -Open a named file (s) with the given mode (m). Returns a handle identifying the file. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - -Example #1: - - '/etc/motd file:R file:open - ----------------------------------------------------------------- - -file:open - - Data: s-nn - Addr: - - Float: - - -Open a file for reading & writing. Returns the size (NOS) and a file ID (TOS) - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:open - - Data: s-nn - Addr: - - Float: - - -Open a file for reading. Returns the size (NOS) and a file ID (TOS) - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:open - - Data: s-nn - Addr: - - Float: - - -Open a file for reading. Returns the file ID - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:read - - Data: h-c - Addr: - - Float: - - -Given a file handle, read and return the next character in it. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:read-line - - Data: f-s - Addr: - - Float: - - -Given a file handle, read a line and return a pointer to it. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:seek - - Data: nh- - Addr: - - Float: - - -Move the current offset into a file to the specified one. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:size - - Data: h-n - Addr: - - Float: - - -Given a file handle, return the size of the file (in bytes). - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:slurp - - Data: as- - Addr: - - Float: - - -Given an address and a file name, read the file contents into memory starting at the address. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:spew - - Data: ss- - Addr: - - Float: - - -Given a string (s1) and a file name (s2), write the string into the file, replacing any existing cotent. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:tell - - Data: h-n - Addr: - - Float: - - -Given a file handle, return the current offset in the file. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -file:write - - Data: ch- - Addr: - - Float: - - -Write a character to the file represented by the handle. - -Class Handler: class:word | Namespace: file | Interface Layer: rre - ----------------------------------------------------------------- - -gopher:get - - Data: asns-n - Addr: - - Float: - - -Takes an address, a server, a port, and a selector. Fetch the resource and store it at address. Return the number of bytes received. - -Class Handler: class:word | Namespace: gopher | Interface Layer: rre - -Example #1: - - here 'forthworks.com #70 '/ gopher:get - here s:put - ----------------------------------------------------------------- - -gt? - - Data: nn-f - Addr: - - Float: - - -Compare n1 and n2. Return `TRUE` if n1 is greater than n2, or `FALSE` otherwise. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -gteq? - - Data: nn-f - Addr: - - Float: - - -Compare n1 and n2. Return `TRUE` if n1 is greater than or equal to n2, or `FALSE` otherwise. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -here - - Data: -a - Addr: - - Float: - - -Return the next free address in memory. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -i - - Data: s- - Addr: - - Float: - - -Assemble the instructions specified by the string into the current assembly scope. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -if - - Data: fq- - Addr: - - Float: - - -Execute the quote if the flag is `TRUE`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -immediate - - Data: - - Addr: - - Float: - - -Change the class of the most recently defined word to `class:macro`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -include - - Data: s- - Addr: - - Float: - - -Run the code in the specified file. - -Class Handler: class:word | Namespace: global | Interface Layer: rre - ----------------------------------------------------------------- - -interpret - - Data: s- - Addr: - - Float: - - -Interpret a single input token. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - '#100 interpret - 'words interpret - ----------------------------------------------------------------- - -io:enumerate - - Data: -n - Addr: - - Float: - - -Return the number of I/O devices. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: all - ----------------------------------------------------------------- - -io:invoke - - Data: n- - Addr: - - Float: - - -Invoke an interaction with an I/O device. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: all - ----------------------------------------------------------------- - -io:query - - Data: n-mN - Addr: - - Float: - - -Ask an I/O device to identify itself. Returns a version (m) and device ID (N). - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: all - ----------------------------------------------------------------- - -io:scan-for - - Data: n-m - Addr: - - Float: - - -Scan the I/O devices for a device with a specified ID. Returns the device number, or -1 if not found. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: all - ----------------------------------------------------------------- - -ios:list-fonts - - Data: - - Addr: - - Float: - - -Display a list of all installed fonts. - -Class Handler: class:word | Namespace: ios | Interface Layer: iOS - ----------------------------------------------------------------- - -listen - - Data: - - Addr: - - Float: - - -Run interactive "listener" (a REPL). - -Class Handler: class:word | Namespace: global | Interface Layer: rre - ----------------------------------------------------------------- - -lt? - - Data: nn-f - Addr: - - Float: - - -Compare n1 and n2. Return `TRUE` if n1 is less than n2, or `FALSE` otherwise. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -lteq? - - Data: nn-f - Addr: - - Float: - - -Compare n1 and n2. Return `TRUE` if n1 is less than or equal to n2, or `FALSE` otherwise. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -mod - - Data: nm-o - Addr: - - Float: - - -Divide `n` by `m` and return the remainder. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -n:-zero? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is not zero, or `FALSE` otherwise. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:MAX - - Data: -n - Addr: - - Float: - - -Return the maximum value that will fit in a cell. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:MIN - - Data: -n - Addr: - - Float: - - -Return the minimum value that will fit in a cell. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:abs - - Data: n-n - Addr: - - Float: - - -Return the absolute value of a number. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #10 n:abs - #-10 n:abs - - ----------------------------------------------------------------- - -n:between? - - Data: nlu-f - Addr: - - Float: - - -Return TRUE if number is between the lower (l) and upper (u) bounds. If not, return FALSE. This is inclusive of the limits. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #3 #1 #100 n:between? - $q $a $b n:between? - ----------------------------------------------------------------- - -n:dec - - Data: n-m - Addr: - - Float: - - -Decrement n by one. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #100 n:dec - ----------------------------------------------------------------- - -n:even? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is even, or `FALSE` if not. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #12 n:even? - #11 n:even? - ----------------------------------------------------------------- - -n:inc - - Data: n-m - Addr: - - Float: - - -Increment n by one. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #100 n:inc - ----------------------------------------------------------------- - -n:limit - - Data: nlu-m - Addr: - - Float: - - -Return n if it is within the lower (l) and upper (u) bounds. If outside the bounds, return the closes boundary value. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #-10 #5 #8 n:limit - #10 #1 #15 n:limit - ----------------------------------------------------------------- - -n:max - - Data: mn-o - Addr: - - Float: - - -Return the greater of two values. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #1 #7 n:max - #-8 #-10 n:max - ----------------------------------------------------------------- - -n:min - - Data: mn-o - Addr: - - Float: - - -Return the lesser of two values. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #1 #7 n:min - #-8 #-10 n:min - ----------------------------------------------------------------- - -n:negate - - Data: n-n - Addr: - - Float: - - -Invert the sign of a number. - -Class Handler: class:word | Namespace: n | Interface Layer: all - -Example #1: - - #10 n:negate - #-10 n:negate - ----------------------------------------------------------------- - -n:negative? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is negative, or `FALSE` if not. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:odd? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is odd, or `FALSE` if not. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:positive? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is positive, or `FALSE` if not. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:pow - - Data: bp-n - Addr: - - Float: - - -Return base (b) to power (p). - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:put - - Data: n- - Addr: - - Float: - - -Display a number. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -n:sqrt - - Data: n-m - Addr: - - Float: - - -Return the square root of a number. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:square - - Data: n-m - Addr: - - Float: - - -Return the square of a number. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:strictly-positive? - - Data: n-f - Addr: - - Float: - - -Return TRUE if number is greater than zero or FALSE if it is zero or less. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:to-float - - Data: n- - Addr: - - Float: -F - -Convert a number into a floating point value. - -Class Handler: class:word | Namespace: n | Interface Layer: rre - ----------------------------------------------------------------- - -n:to-string - - Data: n-s - Addr: - - Float: - - -Convert a number into a string. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -n:zero? - - Data: n-f - Addr: - - Float: - - -Return `TRUE` if number is zero, or `FALSE` otherwise. - -Class Handler: class:word | Namespace: n | Interface Layer: all - ----------------------------------------------------------------- - -nip - - Data: nm-m - Addr: - - Float: - - -Remove the second item from the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -nl - - Data: - - Addr: - - Float: - - -Display a newline. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -not - - Data: n-m - Addr: - - Float: - - -Perform a logical NOT operation. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -or - - Data: mn-o - Addr: - - Float: - - -Perform a bitwise OR between the provided values. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -over - - Data: nm-nmn - Addr: - - Float: - - -Put a copy of n over m. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -parse-until - - Data: q-s - Addr: - - Float: - - -Read input from stdin (via `c:get`) until the returned character is matched by the quote. Returns a string. - -Class Handler: class:word | Namespace: all | Interface Layer: rre - -Example #1: - - :read-until-period (-s) - [ $. eq? ] parse-until ; - ----------------------------------------------------------------- - -pb:get - - Data: a- - Addr: - - Float: - - -Copy a string from the pasteboard to the specified address. - -Class Handler: class:word | Namespace: pb | Interface Layer: iOS - ----------------------------------------------------------------- - -pb:length - - Data: -n - Addr: - - Float: - - -Return the length of the string on the pasteboard. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: iOS - -Example #2: - -pb - ----------------------------------------------------------------- - -pb:set - - Data: s- - Addr: - - Float: - - -Copy a string to the pasteboard. - -Class Handler: class:word | Namespace: pb | Interface Layer: iOS - ----------------------------------------------------------------- - -pop - - Data: -n - Addr: n- - Float: - - -Move a value from the return stack to the data stack. - -Class Handler: class:macro | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -prefix:! - - Data: ns- - Addr: - - Float: - - -Store a value into a variable. - -Interpret Time: - Store a value into the named variable. - -Compile Time: - Compile the code to store a value into a named variable. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:" - - Data: s-s - Addr: - - Float: - - -Process token as a string. - -Interpret Time: - Keep string as permanent. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. - -Compile Time: - Keep string as permanent. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:# - - Data: s-n - Addr: - - Float: - - -Process token as a number. - -Interpret Time: - Convert the string into a number and leave on the stack. - -Compile Time: - Convert the string into a number and compile into the current definition as a literal. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:$ - - Data: s-c - Addr: - - Float: - - -Process token as an ASCII character. - -Interpret Time: - Fetch first character from string. Leave on stack. - -Compile Time: - Fetch first character from the string. Compile into the current definition as literal. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:& - - Data: s-a - Addr: - - Float: - - -Return a pointer to a named item. - -Interpret Time: - Lookup name in dictionary, return contents of the xt field on the stack. - -Compile Time: - Lookup name in dictionary, compile code to push the contents of the xt field into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:' - - Data: s-s - Addr: - - Float: - - -Process token as a string. - -Interpret Time: - Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. - -Compile Time: - Move string into temporary buffer. If `RewriteUnderscores` is `TRUE`, replace all instances of _ with space. Then compile the string into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:( - - Data: s- - Addr: - - Float: - - -Process token as a comment. - -Interpret Time: - Discard the string. - -Compile Time: - Discard the string. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:. - - Data: s- - Addr: - - Float: -F - -Interpret time: convert string to a floating point value. Compile time: convert string to a floating point value and compile code to push this value to the float stack. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: rre - ----------------------------------------------------------------- - -prefix:: - - Data: s- - Addr: - - Float: - - -Process token as a new definition. - -Interpret Time: - Create a header pointing to `here` with the provided string as the name. Sets class to `class:word`. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:@ - - Data: s-n - Addr: - - Float: - - -Fetch from a stored variable. - -Interpret Time: - Fetch a value from a named variable. - -Compile Time: - Compile the code to fetch a value from a named variable into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:` - - Data: s- - Addr: - - Float: - - -Process token as a bytecode. - -Interpret Time: - Discard the string. - -Compile Time: - Convert the string to a number and use `,` to inline it into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -prefix:| - - Data: s- - Addr: - - Float: - - -POSTPONE equivilent. - -Interpret Time: - Discard the string. - -Compile Time: - Convert the string to a number and use `,` to inline it into the current definition. - -Class Handler: class:macro | Namespace: prefix | Interface Layer: all - ----------------------------------------------------------------- - -primitive - - Data: - - Addr: - - Float: - - -Change the class of the most recently defined word to `class:primitive`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -push - - Data: n- - Addr: -n - Float: - - -Move a value from the data stack to the return stack. - -Class Handler: class:macro | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -r - - Data: s- - Addr: - - Float: - - -Lookup a reference by name and inline its pointer to the current assembly segment. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -reclass - - Data: a- - Addr: - - Float: - - -Change the class handler of the most recently defined word to the specified one. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -reorder - - Data: ...ss-? - Addr: - - Float: - - -Restructure the order of items on the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -repeat - - Data: - - Addr: - - Float: - - -Begin an unconditional loop. - -Class Handler: class:macro | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -reset - - Data: ...- - Addr: - - Float: - - -Remove all items from the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -rot - - Data: abc-bca - Addr: - - Float: - - -Rotate the top three values. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -s, - - Data: s- - Addr: - - Float: - - -Compile the code needed to push a string pointer to the stack and inline the string data into the current definition. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -s:ASCII-LETTERS - - Data: -s - Addr: - - Float: - - -Constant. Returns a string of the ASCII letters (upper and lower case) - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:ASCII-LOWERCASE - - Data: -s - Addr: - - Float: - - -Constant. Returns a string of the ASCII letters in lowercase - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:ASCII-UPPERCASE - - Data: -s - Addr: - - Float: - - -Constant. Returns a string of the ASCII letters in uppercase - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:DIGITS - - Data: -s - Addr: - - Float: - - -Constant. Return a string of characters recognized as numeric digits. - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:PUNCTUATION - - Data: -s - Addr: - - Float: - - -Constant. Return a string of characters recognized as punctuation. - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:WHITESPACE - - Data: -s - Addr: - - Float: - - -Constant. Returns a string of characters recognized as whitespace. - -Class Handler: class:data | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:append - - Data: ss-s - Addr: - - Float: - - -Return a new string consisting of s1 followed by s2. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:case - - Data: sSq- || sSq-s - Addr: - - Float: - - -If the `s` matches `S`, discard `s` and run the quote before exiting the caller. If they do not match, discard the quote and leave `s` on the stack. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:chop - - Data: s-s - Addr: - - Float: - - -Remove the last character from a string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:const - - Data: ss- - Addr: - - Float: - - -Create a constant named s2, returning a pointer to s1. This will use `s:keep` to preserve the original string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:contains-char? - - Data: sc-f - Addr: - - Float: - - -Return `TRUE` if the character is present in the string or `FALSE` otherwise. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:contains-string? - - Data: ss-f - Addr: - - Float: - - -Return `TRUE` if the second string is present in the first string or `FALSE` otherwise. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:copy - - Data: sa- - Addr: - - Float: - - -Copy a string (s) to a destination (a). This will include the terminator character when copying. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:empty - - Data: -s - Addr: - - Float: - - -Return an empty string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:eq? - - Data: ss-f - Addr: - - Float: - - -Compare two strings for equality. Return `TRUE` if identical or `FALSE` if not. - -Class Handler: class:word | Namespace: s | Interface Layer: all - -Example #1: - - 'hello 'again s:eq? - 'test 'test s:eq? - ----------------------------------------------------------------- - -s:evaluate - - Data: s-? - Addr: - - Float: - - -Evaluate string as if it was typed into the interpreter. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:filter - - Data: sq-s - Addr: - - Float: - - -Execute the quote once for each value in the string. If the quote returns `TRUE`, append the value into a new string. If `FALSE` the value will be discarded. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:for-each - - Data: sq- - Addr: - - Float: - - -Execute the quote once for each value in the string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:format - - Data: ...s-s - Addr: - - Float: - - -Construct a new string using the template passed and items from the stack. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:get - - Data: -s - Addr: - - Float: - - -Read input from standard in (via `c:get`) until a CR or LF is encountered. Returns a strig. - -Class Handler: class:word | Namespace: all | Interface Layer: rre - ----------------------------------------------------------------- - -s:hash - - Data: s-n - Addr: - - Float: - - -Calculate a hash value for a string. This uses the djb2 algorithm. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:index-of - - Data: sc-n - Addr: - - Float: - - -Return the location of the first instance of the specified character in the string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:index-of-string - - Data: ss-n - Addr: - - Float: - - -Return the location of the first instance of the specified substring (s2) in the string (s1). Returns -1 if not found. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:keep - - Data: s-s - Addr: - - Float: - - -Store a string into the heap and return a pointer to the start of it. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:left - - Data: sn-s - Addr: - - Float: - - -Return a new string containing the first `n` characters from the source string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:length - - Data: s-n - Addr: - - Float: - - -Return the number of characters in a string, excluding the NULL terminator. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:map - - Data: sq-s - Addr: - - Float: - - -Execute the specified quote once for each character in the string. Builds a new string from the return value of the quote. The quote should return only one value. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:prepend - - Data: ss-s - Addr: - - Float: - - -Return a new string consisting of s2 followed by s1. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:put - - Data: s- - Addr: - - Float: - - -Display a string. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -s:replace - - Data: sss-s - Addr: - - Float: - - -Replace the first instance of s2 in s1 with s3. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:reverse - - Data: s-s - Addr: - - Float: - - -Reverse the order of ASCII characters in a string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:right - - Data: sn-s - Addr: - - Float: - - -Return a new string containing the specified number of characters from the right side of the string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:skip - - Data: - - Addr: - - Float: - - -Internal helper function used to skip over a string in a definition. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:split - - Data: sc-ss - Addr: - - Float: - - -Split a string on the first occurrance of the specified character. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:split-on-string - - Data: ss-ss - Addr: - - Float: - - -Split a string on the first occurrance of the specified string. After the split, the top stack item will be the part of the string before the specified subsring, and the second item will be the rest of the original string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - -Example #1: - - 'Hello_Brave_World! 'Brave s:split-on-string s:put nl s:put nl - ----------------------------------------------------------------- - -s:substr - - Data: sfl-s - Addr: - - Float: - - -Extract a substring from the specified string. This will take the characters starting at `f` and extend `l` characters in length. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:temp - - Data: s-s - Addr: - - Float: - - -Move a string into the temporary string buffers. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:to-float - - Data: s- - Addr: - - Float: -F - -Convert a string representation into a floating point value. - -Class Handler: class:word | Namespace: s | Interface Layer: rre - ----------------------------------------------------------------- - -s:to-lower - - Data: s-s - Addr: - - Float: - - -Convert uppercase ASCII characters in a string to lowercase. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:to-number - - Data: s-n - Addr: - - Float: - - -Convert a string to a number. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:to-upper - - Data: s-s - Addr: - - Float: - - -Convert lowercase ASCII characters in a string to uppercase. - -Class Handler: class:word | Namespace: s | Interface Layer: all - ----------------------------------------------------------------- - -s:tokenize - - Data: sc-a - Addr: - - Float: - - -Takes a string and a character to use as a separator. It splits the string into a set of substrings and returns a set containing pointers to each of them. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -s:tokenize-on-string - - Data: ss-a - Addr: - - Float: - - -Takes a string (s1) and a substring (s2) use as a separator. It splits the string into a set of substrings and returns a set containing pointers to each of them. - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -s:trim - - Data: s-s - Addr: - - Float: - - -Trim leading and trailing whitespace from a string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - -Example #1: - - '__hello__ s:trim - ----------------------------------------------------------------- - -s:trim-left - - Data: s-s - Addr: - - Float: - - -Trim leading whitespace from a string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - -Example #1: - - '__hello__ s:trim-left - ----------------------------------------------------------------- - -s:trim-right - - Data: s-s - Addr: - - Float: - - -Trim trailing whitespace from a string. - -Class Handler: class:word | Namespace: s | Interface Layer: all - -Example #1: - - '__hello__ s:trim-right - ----------------------------------------------------------------- - -set:contains-string? - - Data: sa-f - Addr: - - Float: - - -Return `TRUE` if the string value is in the set or`FALSE` otherwise. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:contains? - - Data: na-f - Addr: - - Float: - - -Return `TRUE` if the value is in the set or `FALSE` otherwise. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:counted-results - - Data: q-a - Addr: - - Float: - - -Run a quote and construct a new set from the returned values. The quote should return the values and the number of values to put into the set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:dup - - Data: a-b - Addr: - - Float: - - -Make a copy of a set. Return the address of the copy. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:filter - - Data: aq-b - Addr: - - Float: - - -For each item in the initial set, run the specified quote. If the quote returns `TRUE`, copy the item into a new set. If `FALSE`, discard it. Returns a pointer to the new set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:for-each - - Data: aq- - Addr: - - Float: - - -Execute the quote once for each item in the set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:from-results - - Data: q-a - Addr: - - Float: - - -Execute quote. Return a new set containing the values the quote leaves on the stack. This is deprecated and will be removed in 2019. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:from-string - - Data: s-a - Addr: - - Float: - - -Create a new set with the characters in the source string. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:length - - Data: a-n - Addr: - - Float: - - -Return the length of a set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:make - - Data: q-a - Addr: - - Float: - - -Execute quote. Return a new set containing the values the quote leaves on the stack. This is identical to doing `set:from-results set:reverse` - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:map - - Data: aq- - Addr: - - Float: - - -Execute quote once for each item in the set. Constructs a new set from the value returned by the quote. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:nth - - Data: an-b - Addr: - - Float: - - -Return the actual address of the nth item in the set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:reduce - - Data: pnq-n - Addr: - - Float: - - -Takes a set, a starting value, and a quote. This will apply the quote to each item in the set; the quote should consume two values and return one. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -set:reverse - - Data: a-b - Addr: - - Float: - - -Reverse the order of items in a set. This will return a new set. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -shift - - Data: mn-o - Addr: - - Float: - - -Peform a bitwise shift of m by n bits. If n is positive, shift right. If negative, the shift will be to the left. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -sip - - Data: nq-n - Addr: - - Float: - - -Run quote. After execution completes, put a copy of n back on top of the stack. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -sp - - Data: - - Addr: - - Float: - - -Display a space (`ASCII:SPACE`) - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - :spaces (n-) [ sp ] times ; - #12 spaces - ----------------------------------------------------------------- - -store - - Data: na- - Addr: - - Float: - - -Store a value into the specified address. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - -Example #1: - - 'Base var - #10 &Base store - ----------------------------------------------------------------- - -store-next - - Data: na-a - Addr: - - Float: - - -Store a value into the specified address and return the next address. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -swap - - Data: nm-mn - Addr: - - Float: - - -Exchange the position of the top two items on the stack - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -sys:argc - - Data: -n - Addr: - - Float: - - -Return the number of arguments passed to the program. - -Class Handler: class:word | Namespace: sys | Interface Layer: rre - ----------------------------------------------------------------- - -sys:argv - - Data: n-s - Addr: - - Float: - - -Given an argument number, return the argument as a string. - -Class Handler: class:word | Namespace: sys | Interface Layer: rre - ----------------------------------------------------------------- - -tab - - Data: - - Addr: - - Float: - - -Display a tab (`ASCII:HT`) - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -times - - Data: nq- - Addr: - - Float: - - -Run the specified quote the specified number of times. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - #12 [ $- c:put ] times - ----------------------------------------------------------------- - -times - - Data: nq- - Addr: - - Float: - - -Run a quote the specified number of times, tracking the loop index in `I`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -tri - - Data: xqqq-? - Addr: - - Float: - - -Apply q1 against x, then q2 against a copy of x, and finally q3 against another copy of x. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -tri* - - Data: xyzqqq-? - Addr: - - Float: - - -Apply q1 against x, q2 against y, and q3 against z. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -tri@ - - Data: xyzq-? - Addr: - - Float: - - -Apply q against x, then against y, and finally against z. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -tuck - - Data: nm-mnm - Addr: - - Float: - - -Put a copy of the top item on the stack under the second one. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -u:-INF - - Data: -u - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:-inf? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:INF - - Data: -u - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:MAX - - Data: -u - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:MIN - - Data: -u - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:NAN - - Data: -u - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:clip - - Data: u-U - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:inf? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:max? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:min? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:n? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:nan? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:to-f - - Data: u- - Addr: - - Float: -n - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -u:zero? - - Data: u-f - Addr: - - Float: - - -{n/a} - -Class Handler: class:word | Namespace: {n/a} | Interface Layer: {n/a} - ----------------------------------------------------------------- - -unix:chdir - - Data: s- - Addr: - - Float: - - -Change the current working directory to the specified one. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - -Example #1: - - '/etc unix:chdir - ----------------------------------------------------------------- - -unix:exec0 - - Data: s- - Addr: - - Float: - - -Execute a process by running the application specified by s. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:exec1 - - Data: ss- - Addr: - - Float: - - -Execute a process by running the application specified by s1. Pass s2 as an argument. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:exec2 - - Data: sss- - Addr: - - Float: - - -Execute a process by running the application specified by s1. Pass s2 and s3 as arguments. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:exec3 - - Data: ssss- - Addr: - - Float: - - -Execute a process by running the application specified by s1. Pass s2, s3, and s4 as arguments. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:exit - - Data: n- - Addr: - - Float: - - -Exit the current process, returning the specified return code. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:fork - - Data: -n - Addr: - - Float: - - -Fork the current process. Returns a PID. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:getenv - - Data: sa- - Addr: - - Float: - - -Get an environment variable. Provide the name and an address to store it in. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - -Example #1: - - 'SHELL s:empty [ unix:getenv ] sip s:put nl - ----------------------------------------------------------------- - -unix:getpid - - Data: -n - Addr: - - Float: - - -Return the PID of the current process. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:io:n:put - - Data: n- - Addr: - - Float: - - -Display a number (in base 10) to the standard output device. This is faster than `n:put`, but not portable. - -Class Handler: class:word | Namespace: unix:io | Interface Layer: rre - ----------------------------------------------------------------- - -unix:io:s:put - - Data: s- - Addr: - - Float: - - -Display a string to stdout. This is faster than `s:put`, but not portable. - -Class Handler: class:word | Namespace: unix:io | Interface Layer: rre - ----------------------------------------------------------------- - -unix:kill - - Data: nn- - Addr: - - Float: - - -Terminates a process. Takes a process and a signal to send. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:pclose - - Data: n- - Addr: - - Float: - - -Close a pipe. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:popen - - Data: sn-n - Addr: - - Float: - - -Open a pipe. Takes a command to run, and a file mode (`file:R` or `file:W`; `file:R+` may work on some systems). Returns a file ID usable with words in the `file:` namespace. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:putenv - - Data: s- - Addr: - - Float: - - -Takes a string in the form `name=value` and sets an environment variable named `name` to `value`. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - -Example #1: - - 'EDITOR=vi unix:putenv - ----------------------------------------------------------------- - -unix:sleep - - Data: n- - Addr: - - Float: - - -Sleep for the specified number of seconds. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:system - - Data: s- - Addr: - - Float: - - -Runs another application using the system shell and returns after execution is completed. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - -Example #1: - - 'ls_-lh_/etc unix:system - ----------------------------------------------------------------- - -unix:wait - - Data: -n - Addr: - - Float: - - -Waits for a child process to complete. This maps to the wait() system call. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -unix:write - - Data: sh- - Addr: - - Float: - - -Write a string to the specified file handle. - -Class Handler: class:word | Namespace: unix | Interface Layer: rre - ----------------------------------------------------------------- - -until - - Data: q- - Addr: - - Float: - - -Execute quote repeatedly while the quote returns a value of `FALSE`. The quote should return a flag of either `TRUE` or `FALSE`, though `until` will treat any non-zero value as `TRUE`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - #10 [ dup n:put nl n:dec dup n:zero? ] until - ----------------------------------------------------------------- - -v:dec - - Data: a- - Addr: - - Float: - - -Decrement the value stored at the specified address by 1. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:dec-by - - Data: na- - Addr: - - Float: - - -Decrement the value stored at the specified address by the specified value. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:inc - - Data: a- - Addr: - - Float: - - -Increment the value stored at the specified address by 1. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:inc-by - - Data: na- - Addr: - - Float: - - -Increment the value stored at the specified address by the specified value. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:limit - - Data: alu- - Addr: - - Float: - - -Fetch the value stored at the address, then run `n:limit` against it, using the specified lower and upper bounds. Then store the resulting value back to the original address. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:off - - Data: a- - Addr: - - Float: - - -Set a variable to 0. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:on - - Data: a- - Addr: - - Float: - - -Set a variable to -1. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:preserve - - Data: aq- - Addr: - - Float: - - -Make a copy of the value at the address, then run the quote. Once the quote completes, restore the address to the specified value. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -v:update-using - - Data: aq- - Addr: - - Float: - - -Fetch a value from the specified address, then run the quotation with this value on the stack. Afterwards, store the returned value at the original address. - -Class Handler: class:word | Namespace: v | Interface Layer: all - ----------------------------------------------------------------- - -var - - Data: s- - Addr: - - Float: - - -Create a variable. The variable is initialized to 0. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - 'Base var - ----------------------------------------------------------------- - -var - - Data: ns- - Addr: - - Float: - - -Create a variable with the specified initial value. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - #10 'Base var - - ----------------------------------------------------------------- - -while - - Data: q- - Addr: - - Float: - - -Execute quote repeatedly while the quote returns a `TRUE` value. The quote should return a flag of either `TRUE` or `FALSE`, though `while` will treat any non-zero value as `TRUE`. - -Class Handler: class:word | Namespace: global | Interface Layer: all - -Example #1: - - #10 [ dup n:put nl n:dec dup n:-zero? ] while - ----------------------------------------------------------------- - -xor - - Data: mn-o - Addr: - - Float: - - -Perform a bitwise XOR operation. - -Class Handler: class:primitive | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -{ - - Data: - - Addr: - - Float: - - -Begin a set. This is intended to make creating sets a bit cleaner than using a quotation and `set:from-results`. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -{{ - - Data: - - Addr: - - Float: - - -Begin a lexically scoped area. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -} - - Data: -a - Addr: - - Float: - - -Complete a set begun by `{`. Returns a pointer to the data. - -Class Handler: class:word | Namespace: set | Interface Layer: all - ----------------------------------------------------------------- - -}as - - Data: f- - Addr: - - Float: - - -End an assembly section. - -Class Handler: class:macro | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- - -}} - - Data: - - Addr: - - Float: - - -End a lexically scoped area. - -Class Handler: class:word | Namespace: global | Interface Layer: all - ----------------------------------------------------------------- +Stack: 31155 -1 43445 0 4194306 0 4194307 0 4194308 0 4194309 0 4194310 31155 4194311 -1 4194312 43445 4194313 0 4194314 4194306 4194315 0 4194316 4194307 4194317 0 4194318 4194308 4194319 0 4194320 4194309 4194321 0 4194322 4194310 4194323 31155 4194324 4194311 4194325 -1 4194326 4194312 4194327 43445 4194328 4194313 4194329 0 4194330 4194314 4194331 4194306 4194332 4194315 4194333 0 4194334 4194316 4194335 4194307 4194336 4194317 4194337 0 4194338 4194318 4194339 4194308 4194340 4194319 4194341 0 4194342 4194320 4194343 4194309 4194344 4194321 4194345 0 4194346 4194322 4194347 4194310 4194348 4194323 4194349 31155 4194350 4194324 4194351 4194311 4194352 4194325 4194353 -1 4194354 4194326 4194355 4194312 4194356 4194327 4194357 43445 4194358 4194328 4194359 4194313 4194360 4194329 4194361 0 4194362 4194330 4194363 4194314 4194364 4194331 4194365 4194306 4194366 4194332 4194367 4194315 4194368 4194333 4194369 0 4194370 4194334 4194371 4194316 4194372 4194335 4194373 4194307 4194374 4194336 4194375 4194317 4194376 4194337 4194377 0 4194378 4194338 4194379 4194318 4194380 4194339 4194381 4194308 4194382 4194340 4194383 4194319 4194384 4194341 4194385 0 4194386 4194342 4194387 4194320 4194388 4194343 4194389 4194309 4194390 4194344 4194391 4194321 4194392 4194345 4194393 0 4194394 4194346 4194395 4194322 4194396 4194347 4194397 4194310 4194398 4194348 4194399 4194323 4194400 4194349 4194401 31155 4194402 4194350 4194403 4194324 4194404 4194351 4194405 4194311 4194406 4194352 4194407 4194325 4194408 4194353 4194409 -1 4194410 4194354 4194411 4194326 4194412 4194355 4194413 4194312 4194414 4194356 4194415 4194327 4194416 4194357 4194417 43445 4194418 4194358 4194419 4194328 4194420 4194359 4194421 4194313 4194422 4194360 4194423 4194329 4194424 4194361 4194425 0 4194426 4194362 4194427 4194330 4194428 4194363 4194429 4194314 4194430 4194364 4194431 4194331 4194432 4194365 4194433 4194306 4194434 4194366 4194435 4194332 4194436 4194367 4194437 4194315 4194438 4194368 4194439 4194333 4194440 4194369 4194441 0 4194442 4194370 4194443 4194334 4194444 4194371 4194445 4194316 4194446 4194372 4194447 4194335 4194448 4194373 4194449 4194307 4194450 4194374 4194451 4194336 4194452 4194375 4194453 4194317 4194454 4194376 4194455 4194337 4194456 4194377 4194457 0 4194458 4194378 4194459 4194338 4194460 4194379 4194461 4194318 4194462 4194380 4194463 4194339 4194464 4194381 4194465 4194308 4194466 4194382 4194467 4194340 4194468 4194383 4194469 4194319 4194470 4194384 4194471 4194341 4194472 4194385 4194473 0 4194474 4194386 4194475 4194342 4194476 4194387 4194477 4194320 4194478 4194388 4194479 4194343 4194480 4194389 4194481 4194309 4194482 4194390 4194483 4194344 4194484 4194391 4194485 4194321 4194486 4194392 4194487 4194345 4194488 4194393 4194489 0 4194490 4194394 4194491 4194346 4194492 4194395 4194493 4194322 4194494 4194396 4194495 4194347 4194496 4194397 4194497 4194310 4194498 4194398 4194499 4194348 4194500 4194399 4194501 4194323 4194502 4194400 4194503 4194349 4194504 4194401 4194505 31155 4194506 4194402 4194507 4194350 4194508 4194403 4194509 4194324 4194510 4194404 4194511 4194351 4194512 4194405 4194513 4194311 4194514 4194406 4194515 4194352 4194516 4194407 4194517 4194325 4194518 4194408 4194519 4194353 4194520 4194409 4194521 -1 4194522 4194410 4194523 4194354 4194524 4194411 4194525 4194326 4194526 4194412 4194527 4194355 4194528 4194413 4194529 4194312 4194530 4194414 4194531 4194356 4194532 4194415 4194533 4194327 4194534 4194416 4194535 4194357 4194536 4194417 4194537 43445 4194538 4194418 4194539 4194358 4194540 4194419 4194541 4194328 4194542 4194420 4194543 4194359 4194544 4194421 4194545 4194313 4194546 4194422 4194547 4194360 4194548 4194423 4194549 4194329 4194550 4194424 4194551 4194361 4194552 4194425 4194553 0 4194554 4194426 4194555 4194362 4194556 4194427 4194557 4194330 4194558 4194428 4194559 4194363 4194560 4194429 4194561 4194314 4194562 4194430 4194563 4194364 4194564 4194431 4194565 4194331 4194566 4194432 4194567 4194365 4194568 4194433 4194569 4194306 4194570 4194434 4194571 4194366 4194572 4194435 4194573 4194332 4194574 4194436 4194575 4194367 4194576 4194437 4194577 4194315 4194578 4194438 4194579 4194368 4194580 4194439 4194581 4194333 4194582 4194440 4194583 4194369 4194584 4194441 4194585 0 4194586 4194442 4194587 4194370 4194588 4194443 4194589 4194334 4194590 4194444 4194591 4194371 4194592 4194445 4194593 4194316 4194594 4194446 4194595 4194372 4194596 4194447 4194597 4194335 4194598 4194448 4194599 4194373 4194600 4194449 4194601 4194307 4194602 4194450 4194603 4194374 4194604 4194451 4194605 4194336 4194606 4194452 4194607 4194375 4194608 4194453 4194609 4194317 4194610 4194454 4194611 4194376 4194612 4194455 4194613 4194337 4194614 4194456 4194615 4194377 4194616 4194457 4194617 0 4194618 4194458 4194619 4194378 4194620 4194459 4194621 4194338 4194622 4194460 4194623 4194379 4194624 4194461 4194625 4194318 4194626 4194462 4194627 4194380 4194628 4194463 4194629 4194339 4194630 4194464 4194631 4194381 4194632 4194465 4194633 4194308 4194634 4194466 4194635 4194382 4194636 4194467 4194637 4194340 4194638 4194468 4194639 4194383 4194640 4194469 4194641 4194319 4194642 4194470 4194643 4194384 4194644 4194471 4194645 4194341 4194646 4194472 4194647 4194385 4194648 4194473 4194649 0 4194650 4194474 4194651 4194386 4194652 4194475 4194653 4194342 4194654 4194476 4194655 4194387 4194656 4194477 4194657 4194320 4194658 4194478 4194659 4194388 4194660 4194479 4194661 4194343 4194662 4194480 4194663 4194389 4194664 4194481 4194665 4194309 4194666 4194482 4194667 4194390 4194668 4194483 4194669 4194344 4194670 4194484 4194671 4194391 4194672 4194485 4194673 4194321 4194674 4194486 4194675 4194392 4194676 4194487 4194677 4194345 4194678 4194488 4194679 4194393 4194680 4194489 4194681 0 4194682 4194490 4194683 4194394 4194684 4194491 4194685 4194346 4194686 4194492 4194687 4194395 4194688 4194493 4194689 4194322 4194690 4194494 4194691 4194396 4194692 4194495 4194693 4194347 4194694 4194496 4194695 4194397 4194696 4194497 4194697 4194310 4194698 4194498 4194699 4194398 4194700 4194499 4194701 4194348 4194702 4194500 4194703 4194399 4194704 4194501 4194705 4194323 4194706 4194502 4194707 4194400 4194708 4194503 4194709 4194349 4194710 4194504 4194711 4194401 4194712 4194505 4194713 31155 4194714 4194506 4194715 4194402 4194716 4194507 4194717 4194350 4194718 4194508 4194719 4194403 4194720 4194509 4194721 4194324 4194722 4194510 4194723 4194404 4194724 4194511 4194725 4194351 4194726 4194512 4194727 4194405 4194728 4194513 4194729 4194311 4194730 4194514 4194731 4194406 4194732 4194515 4194733 4194352 4194734 4194516 4194735 4194407 4194736 4194517 4194737 4194325 4194738 4194518 4194739 4194408 4194740 4194519 4194741 4194353 4194742 4194520 4194743 4194409 4194744 4194521 4194745 -1 4194746 4194522 4194747 4194410 4194748 4194523 4194749 4194354 4194750 4194524 4194751 4194411 4194752 4194525 4194753 4194326 4194754 4194526 4194755 4194412 4194756 4194527 4194757 4194355 4194758 4194528 4194759 4194413 4194760 4194529 4194761 4194312 4194762 4194530 4194763 4194414 4194764 4194531 4194765 4194356 4194766 4194532 4194767 4194415 4194768 4194533 4194769 4194327 4194770 4194534 4194771 4194416 4194772 4194535 4194773 4194357 4194774 4194536 4194775 4194417 4194776 4194537 4194777 43445 4194778 4194538 4194779 4194418 4194780 4194539 4194781 4194358 4194782 4194540 4194783 4194419 4194784 4194541 4194785 4194328 4194786 4194542 4194787 4194420 4194788 4194543 4194789 4194359 4194790 4194544 4194791 4194421 4194792 4194545 4194793 4194313 4194794 4194546 4194795 4194422 4194796 4194547 4194797 4194360 4194798 4194548 4194799 4194423 4194800 4194549 4194801 4194329 4194802 4194550 4194803 4194424 4194804 4194551 4194805 4194361 4194806 4194552 4194807 4194425 4194808 4194553 4194809 0 4194810 4194554 4194811 4194426 4194812 4194555 4194813 4194362 4194814 4194556 4194815 4194427 4194816 4194557 4194817 4194330 4194818 4194558 4194819 4194428 4194820 4194559 4194821 4194363 4194822 4194560 4194823 4194429 4194824 4194561 4194825 4194314 4194826 4194562 4194827 4194430 4194828 4194563 4194829 4194364 4194830 4194564 4194831 4194431 4194832 4194565 4194833 4194331 4194834 4194566 4194835 4194432 4194836 4194567 4194837 4194365 4194838 4194568 4194839 4194433 4194840 4194569 4194841 4194306 4194842 4194570 4194843 4194434 4194844 4194571 4194845 4194366 4194846 4194572 4194847 4194435 4194848 4194573 4194849 4194332 4194850 4194574 4194851 4194436 4194852 4194575 4194853 4194367 4194854 4194576 4194855 4194437 4194856 4194577 4194857 4194315 4194858 4194578 4194859 4194438 4194860 4194579 4194861 4194368 4194862 4194580 4194863 4194439 4194864 4194581 4194865 4194333 4194866 4194582 4194867 4194440 4194868 4194583 4194869 4194369 4194870 4194584 4194871 4194441 4194872 4194585 4194873 0 4194874 4194586 4194875 4194442 4194876 4194587 4194877 4194370 4194878 4194588 4194879 4194443 4194880 4194589 4194881 4194334 4194882 4194590 4194883 4194444 4194884 4194591 4194885 4194371 4194886 4194592 4194887 4194445 4194888 4194593 4194889 4194316 4194890 4194594 4194891 4194446 4194892 4194595 4194893 4194372 4194894 4194596 4194895 4194447 4194896 4194597 4194897 4194335 4194898 4194598 4194899 4194448 4194900 4194599 4194901 4194373 4194902 4194600 4194903 4194449 4194904 4194601 4194905 4194307 4194906 4194602 4194907 4194450 4194908 4194603 4194909 4194374 4194910 4194604 4194911 4194451 4194912 4194605 4194913 4194336 4194914 4194606 4194915 4194452 4194916 4194607 4194917 4194375 4194918 4194608 4194919 4194453 4194920 4194609 4194921 4194317 4194922 4194610 4194923 4194454 4194924 4194611 4194925 4194376 4194926 4194612 4194927 4194455 4194928 4194613 4194929 4194337 4194930 4194614 4194931 4194456 4194932 4194615 4194933 4194377 4194934 4194616 4194935 4194457 4194936 4194617 4194937 0 4194938 4194618 4194939 4194458 4194940 4194619 4194941 4194378 4194942 4194620 4194943 4194459 4194944 4194621 4194945 4194338 4194946 4194622 4194947 4194460 4194948 4194623 4194949 4194379 4194950 4194624 4194951 4194461 4194952 4194625 4194953 4194318 4194954 4194626 4194955 4194462 4194956 4194627 4194957 4194380 4194958 4194628 4194959 4194463 4194960 4194629 4194961 4194339 4194962 4194630 4194963 4194464 4194964 4194631 4194965 4194381 4194966 4194632 4194967 4194465 4194968 4194633 4194969 4194308 4194970 4194634 4194971 4194466 4194972 4194635 4194973 4194382 4194974 4194636 4194975 4194467 4194976 4194637 4194977 4194340 4194978 4194638 4194979 4194468 4194980 4194639 4194981 4194383 4194982 4194640 4194983 4194469 4194984 4194641 4194985 4194319 4194986 4194642 4194987 4194470 4194988 4194643 4194989 4194384 4194990 4194644 4194991 4194471 4194992 4194645 4194993 4194341 4194994 4194646 4194995 4194472 4194996 4194647 4194997 4194385 4194998 4194648 4194999 4194473 4195000 4194649 4195001 0 4195002 4194650 4195003 4194474 4195004 4194651 4195005 4194386 4195006 4194652 4195007 4194475 4195008 4194653 4195009 4194342 4195010 4194654 4195011 4194476 4195012 4194655 4195013 4194387 4195014 4194656 4195015 4194477 4195016 4194657 4195017 4194320 4195018 4194658 4195019 4194478 4195020 4194659 4195021 4194388 4195022 4194660 4195023 4194479 4195024 4194661 4195025 4194343 4195026 4194662 4195027 4194480 4195028 4194663 4195029 4194389 4195030 4194664 4195031 4194481 4195032 4194665 4195033 4194309 4195034 4194666 4195035 4194482 4195036 4194667 4195037 4194390 4195038 4194668 4195039 4194483 4195040 4194669 4195041 4194344 4195042 4194670 4195043 4194484 4195044 4194671 4195045 4194391 4195046 4194672 4195047 4194485 4195048 4194673 4195049 4194321 4195050 4194674 4195051 4194486 4195052 4194675 4195053 4194392 4195054 4194676 4195055 4194487 4195056 4194677 4195057 4194345 4195058 4194678 4195059 4194488 4195060 4194679 4195061 4194393 4195062 4194680 4195063 4194489 4195064 4194681 4195065 0 4195066 4194682 4195067 4194490 4195068 4194683 4195069 4194394 4195070 4194684 4195071 4194491 4195072 4194685 4195073 4194346 4195074 4194686 4195075 4194492 4195076 4194687 4195077 4194395 4195078 4194688 4195079 4194493 4195080 4194689 4195081 4194322 4195082 4194690 4195083 4194494 4195084 4194691 4195085 4194396 4195086 4194692 4195087 4194495 4195088 4194693 4195089 4194347 4195090 4194694 4195091 4194496 4195092 4194695 4195093 4194397 4195094 4194696 4195095 4194497 4195096 4194697 4195097 4194310 4195098 4194698 4195099 4194498 4195100 4194699 4195101 4194398 4195102 4194700 4195103 4194499 4195104 4194701 4195105 4194348 4195106 4194702 4195107 4194500 4195108 4194703 4195109 4194399 4195110 4194704 4195111 4194501 4195112 4194705 4195113 4194323 4195114 4194706 4195115 4194502 4195116 4194707 4195117 4194400 4195118 4194708 4195119 4194503 4195120 4194709 4195121 4194349 4195122 4194710 4195123 4194504 4195124 4194711 4195125 4194401 4195126 4194712 4195127 4194505 4195128 4194713 4195129 31155 4195130 4194714 4195131 4194506 4195132 4194715 4195133 4194402 4195134 4194716 4195135 4194507 4195136 4194717 4195137 4194350 4195138 4194718 4195139 4194508 4195140 4194719 4195141 4194403 4195142 4194720 4195143 4194509 4195144 4194721 4195145 4194324 4195146 4194722 4195147 4194510 4195148 4194723 4195149 4194404 4195150 4194724 4195151 4194511 4195152 4194725 4195153 4194351 4195154 4194726 4195155 4194512 4195156 4194727 4195157 4194405 4195158 4194728 4195159 4194513 4195160 4194729 4195161 4194311 4195162 4194730 4195163 4194514 4195164 4194731 4195165 4194406 4195166 4194732 4195167 4194515 4195168 4194733 4195169 4194352 4195170 4194734 4195171 4194516 4195172 4194735 4195173 4194407 4195174 4194736 4195175 4194517 4195176 4194737 4195177 4194325 4195178 4194738 4195179 4194518 4195180 4194739 4195181 4194408 4195182 4194740 4195183 4194519 4195184 4194741 4195185 4194353 4195186 4194742 4195187 4194520 4195188 4194743 4195189 4194409 4195190 4194744 4195191 4194521 4195192 4194745 4195193 -1 4195194 4194746 4195195 4194522 4195196 4194747 4195197 4194410 4195198 4194748 4195199 4194523 4195200 4194749 4195201 4194354 4195202 4194750 4195203 4194524 4195204 4194751 4195205 4194411 4195206 4194752 4195207 4194525 4195208 4194753 4195209 4194326 4195210 4194754 4195211 4194526 4195212 4194755 4195213 4194412 4195214 4194756 4195215 4194527 4195216 4194757 4195217 4194355 4195218 4194758 4195219 4194528 4195220 4194759 4195221 4194413 4195222 4194760 4195223 4194529 4195224 4194761 4195225 4194312 4195226 4194762 4195227 4194530 4195228 4194763 4195229 4194414 4195230 4194764 4195231 4194531 4195232 4194765 4195233 4194356 4195234 4194766 4195235 4194532 4195236 4194767 4195237 4194415 4195238 4194768 4195239 4194533 4195240 4194769 4195241 4194327 4195242 4194770 4195243 4194534 4195244 4194771 4195245 4194416 4195246 4194772 4195247 4194535 4195248 4194773 4195249 4194357 4195250 4194774 4195251 4194536 4195252 4194775 4195253 4194417 4195254 4194776 4195255 4194537 4195256 4194777 4195257 43445 4195258 4194778 4195259 4194538 4195260 4194779 4195261 4194418 4195262 4194780 4195263 4194539 4195264 4194781 4195265 4194358 4195266 4194782 4195267 4194540 4195268 4194783 4195269 4194419 4195270 4194784 4195271 4194541 4195272 4194785 4195273 4194328 4195274 4194786 4195275 4194542 4195276 4194787 4195277 4194420 4195278 4194788 4195279 4194543 4195280 4194789 4195281 4194359 4195282 4194790 4195283 4194544 4195284 4194791 4195285 4194421 4195286 4194792 4195287 4194545 4195288 4194793 4195289 4194313 4195290 4194794 4195291 4194546 4195292 4194795 4195293 4194422 4195294 4194796 4195295 4194547 4195296 4194797 4195297 4194360 4195298 4194798 4195299 4194548 4195300 4194799 4195301 4194423 4195302 4194800 4195303 4194549 4195304 4194801 4195305 4194329 4195306 4194802 4195307 4194550 4195308 4194803 4195309 4194424 4195310 4194804 4195311 4194551 4195312 4194805 4195313 4194361 4195314 4194806 4195315 4194552 4195316 4194807 4195317 4194425 4195318 4194808 4195319 4194553 4195320 4194809 4195321 0 4195322 4194810 4195323 4194554 4195324 4194811 4195325 4194426 4195326 4194812 4195327 4194555 4195328 4194813 4195329 4194362 4195330 4194814 4195331 4194556 4195332 4194815 4195333 4194427 4195334 4194816 4195335 [ TOS: 4194557 ] diff --git a/interfaces/image.c b/interfaces/image.c index 3f582a7..051a64a 100644 --- a/interfaces/image.c +++ b/interfaces/image.c @@ -1,6 +1,6 @@ #include -int32_t ngaImageCells = 9100; -int32_t ngaImage[] = { 1793,-1,9082,9099,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +int32_t ngaImageCells = 9044; +int32_t ngaImage[] = { 1793,-1,9026,9043,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,10,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,10,26,10, 68223234,1,2575,85000450,1,656912,354,339,268505089,66,65,135205121,66,10,101384453,0,9,10,2049,59, @@ -157,7 +157,7 @@ int32_t ngaImage[] = { 1793,-1,9082,9099,201906,0,10,1,10,2,10,3,10,4,10,5,10,6, 2065,4,16,10,3048,3101,147,118,58,117,112,100,97,116,101,45,117,115,105,110, 103,0,4,1793,3108,15,4,8,10,1,3104,2049,2077,16,10,3083,3122,147,99,111, 112,121,0,1793,3131,1,59,2049,2065,2049,62,10,1,3124,2049,2252,3,3,10,3114, - 3151,147,83,99,111,112,101,76,105,115,116,0,8977,9005,10,3138,3160,147,123,123, + 3151,147,83,99,111,112,101,76,105,115,116,0,8921,8949,10,3138,3160,147,123,123, 0,2049,1570,2,1,3151,2049,62,16,10,3154,3185,147,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1570,1,3151,2049,2863,16,10,3169,3199,147,125,125,0, 1,3151,2049,59,4,15,11,1793,3213,3841,3151,4097,2,10,1,3208,1793,3243,3841,3151, @@ -354,105 +354,102 @@ int32_t ngaImage[] = { 1793,-1,9082,9099,201906,0,10,1,10,2,10,3,10,4,10,5,10,6, 1793,7027,4,1,2016,2049,2065,10,1,7021,1,11,2049,67,10,1,7013,2049,6960,3, 10,6993,7054,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7040,7079,147, 115,101,116,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0, - 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7117, - 147,115,101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556, - 1793,7123,8,10,1,7121,2049,2065,2049,1556,4,18,2049,1835,1793,7148,2,2049,108,1793, - 7143,2049,108,10,1,7140,2049,2252,10,1,7135,2049,2065,10,7097,7172,147,115,101,116, - 58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793,7191,2,2049,82, - 2049,108,1793,7186,2049,108,10,1,7183,2049,3978,10,1,7176,2049,2065,10,7153,7201,134, - 81,0,0,7153,7218,147,115,101,116,58,102,111,114,45,101,97,99,104,0,1, - 7201,1793,7248,4097,7201,2049,59,1793,7242,2049,59,4,1793,7237,3841,7201,8,10,1,7233, - 2049,2065,10,1,7228,2049,2252,3,10,1,7222,2049,3062,10,7202,7264,147,115,101,116, - 58,100,117,112,0,2049,1835,1793,7282,2,15,2049,108,1793,7277,2049,108,10,1,7274, - 2049,7218,10,1,7268,2049,2065,10,7253,7301,147,115,101,116,58,102,105,108,116,101, - 114,0,1793,7329,67502597,1793,7308,8,10,1,7306,2049,2065,4,1793,7318,2049,108,10,1, - 7315,1793,7324,3,10,1,7322,2049,67,10,1,7303,2049,6906,2049,1835,1793,7344,67502597,15, - 2049,108,2049,7218,10,1,7337,2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7287,7362, - 134,70,0,0,7287,7380,147,115,101,116,58,99,111,110,116,97,105,110,115,63, - 0,1,7362,2049,3029,1793,7394,67502597,11,3841,7362,22,4097,7362,10,1,7386,2049,7218,3, - 3841,7362,10,7363,7426,147,115,101,116,58,99,111,110,116,97,105,110,115,45,115, - 116,114,105,110,103,63,0,1,7362,2049,3029,1793,7441,67502597,2049,96,3841,7362,22,4097, - 7362,10,1,7432,2049,7218,3,3841,7362,10,7402,7460,147,115,101,116,58,109,97,112, - 0,1793,7466,8,2049,108,10,1,7462,2049,6906,2049,1835,1793,7481,67502597,15,2049,108,2049, - 7218,10,1,7474,2049,2065,10,7449,7501,147,115,101,116,58,114,101,118,101,114,115, - 101,0,2049,1835,1793,7535,2049,59,1793,7513,17,2049,2876,10,1,7509,2049,2077,2,2049, - 108,1793,7529,2,15,2049,108,2049,2876,10,1,7522,2049,2252,3,10,1,7505,2049,2065, - 10,7486,7551,147,115,101,116,58,110,116,104,0,17,2049,2863,10,7540,7569,147,115, - 101,116,58,114,101,100,117,99,101,0,1793,7573,4,10,1,7571,2049,2065,2049,7218, - 10,7555,7592,147,115,101,116,58,109,97,107,101,0,2049,7079,2049,7501,10,7580,7602, - 159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10,7597,7620,159,125, - 0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049,153,1,41,2049, - 153,1,2876,2049,147,1,305,2049,159,1,7592,2049,147,10,7615,7659,134,73,48,0, - 105,105,0,7653,7668,134,73,49,0,46,46,0,7662,7677,134,73,50,0,46,46, - 0,7671,7686,134,73,51,0,46,46,0,7680,7699,147,111,112,99,111,100,101,0, - 2049,3652,46,46,0,1,7701,1793,7711,1,0,10,1,7708,2049,2326,2049,3652,108,105, - 0,1,7717,1793,7727,1,1,10,1,7724,2049,2326,2049,3652,100,117,0,1,7733,1793, - 7743,1,2,10,1,7740,2049,2326,2049,3652,100,114,0,1,7749,1793,7759,1,3,10, - 1,7756,2049,2326,2049,3652,115,119,0,1,7765,1793,7775,1,4,10,1,7772,2049,2326, - 2049,3652,112,117,0,1,7781,1793,7791,1,5,10,1,7788,2049,2326,2049,3652,112,111, - 0,1,7797,1793,7807,1,6,10,1,7804,2049,2326,2049,3652,106,117,0,1,7813,1793, - 7823,1,7,10,1,7820,2049,2326,2049,3652,99,97,0,1,7829,1793,7839,1,8,10, - 1,7836,2049,2326,2049,3652,99,99,0,1,7845,1793,7855,1,9,10,1,7852,2049,2326, - 2049,3652,114,101,0,1,7861,1793,7871,1,10,10,1,7868,2049,2326,2049,3652,101,113, - 0,1,7877,1793,7887,1,11,10,1,7884,2049,2326,2049,3652,110,101,0,1,7893,1793, - 7903,1,12,10,1,7900,2049,2326,2049,3652,108,116,0,1,7909,1793,7919,1,13,10, - 1,7916,2049,2326,2049,3652,103,116,0,1,7925,1793,7935,1,14,10,1,7932,2049,2326, - 2049,3652,102,101,0,1,7941,1793,7951,1,15,10,1,7948,2049,2326,2049,3652,115,116, - 0,1,7957,1793,7967,1,16,10,1,7964,2049,2326,2049,3652,97,100,0,1,7973,1793, - 7983,1,17,10,1,7980,2049,2326,2049,3652,115,117,0,1,7989,1793,7999,1,18,10, - 1,7996,2049,2326,2049,3652,109,117,0,1,8005,1793,8015,1,19,10,1,8012,2049,2326, - 2049,3652,100,105,0,1,8021,1793,8031,1,20,10,1,8028,2049,2326,2049,3652,97,110, - 0,1,8037,1793,8047,1,21,10,1,8044,2049,2326,2049,3652,111,114,0,1,8053,1793, - 8063,1,22,10,1,8060,2049,2326,2049,3652,120,111,0,1,8069,1793,8079,1,23,10, - 1,8076,2049,2326,2049,3652,115,104,0,1,8085,1793,8095,1,24,10,1,8092,2049,2326, - 2049,3652,122,114,0,1,8101,1793,8111,1,25,10,1,8108,2049,2326,2049,3652,101,110, - 0,1,8117,1793,8127,1,26,10,1,8124,2049,2326,2049,3652,105,101,0,1,8133,1793, - 8143,1,27,10,1,8140,2049,2326,2049,3652,105,113,0,1,8149,1793,8159,1,28,10, - 1,8156,2049,2326,2049,3652,105,105,0,1,8165,1793,8175,1,29,10,1,8172,2049,2326, - 3,1,0,10,7689,8191,147,112,97,99,107,0,1,7659,2049,7699,1,7668,2049,7699, - 1,7677,2049,7699,1,7686,2049,7699,1,-24,24,4,1,-16,24,17,4,1,-8,24, - 17,4,17,10,7615,8228,147,105,0,2,1,7659,1,2,2049,3122,1,2,17,2, - 1,7668,1,2,2049,3122,1,2,17,2,1,7677,1,2,2049,3122,1,2,17,1, - 7686,1,2,2049,3122,2049,8191,2049,108,10,8223,8274,147,100,0,2049,108,10,8269,8282, - 147,114,0,2049,200,2049,161,15,2049,108,10,8277,8297,159,97,115,123,0,3841,127, - 1,127,2049,3029,10,8290,8311,159,125,97,115,0,4097,127,10,8304,8330,147,99,117, - 114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18,10,8314,8352,147, - 99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8358,1,32,11,10,1, - 8354,2049,4407,2049,82,10,8336,8379,147,110,101,120,116,45,116,111,107,101,110,0, - 1,32,2049,6120,10,8365,8402,147,112,114,111,99,101,115,115,45,116,111,107,101, - 110,115,0,1793,8428,2049,8379,4,1793,8421,2,2049,82,2049,2538,1,366,1,11,2049, - 67,10,1,8409,2049,2065,2049,2863,10,1,8404,2049,2252,2049,366,10,8304,8449,147,115, - 58,101,118,97,108,117,97,116,101,0,2049,8330,2049,4610,2049,8330,2,2049,8352,2049, - 8402,10,8435,8467,134,76,80,0,0,8461,8477,134,73,110,100,101,120,0,0,0, + 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7116, + 147,115,101,116,58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793, + 7135,2,2049,82,2049,108,1793,7130,2049,108,10,1,7127,2049,3978,10,1,7120,2049,2065, + 10,7097,7145,134,81,0,0,7097,7162,147,115,101,116,58,102,111,114,45,101,97, + 99,104,0,1,7145,1793,7192,4097,7145,2049,59,1793,7186,2049,59,4,1793,7181,3841,7145, + 8,10,1,7177,2049,2065,10,1,7172,2049,2252,3,10,1,7166,2049,3062,10,7146,7208, + 147,115,101,116,58,100,117,112,0,2049,1835,1793,7226,2,15,2049,108,1793,7221,2049, + 108,10,1,7218,2049,7162,10,1,7212,2049,2065,10,7197,7245,147,115,101,116,58,102, + 105,108,116,101,114,0,1793,7273,67502597,1793,7252,8,10,1,7250,2049,2065,4,1793,7262, + 2049,108,10,1,7259,1793,7268,3,10,1,7266,2049,67,10,1,7247,2049,6906,2049,1835, + 1793,7288,67502597,15,2049,108,2049,7162,10,1,7281,2049,2065,2049,1835,67502597,18,2049,2876,67502597, + 16,10,7231,7306,134,70,0,0,7231,7324,147,115,101,116,58,99,111,110,116,97, + 105,110,115,63,0,1,7306,2049,3029,1793,7338,67502597,11,3841,7306,22,4097,7306,10,1, + 7330,2049,7162,3,3841,7306,10,7307,7370,147,115,101,116,58,99,111,110,116,97,105, + 110,115,45,115,116,114,105,110,103,63,0,1,7306,2049,3029,1793,7385,67502597,2049,96, + 3841,7306,22,4097,7306,10,1,7376,2049,7162,3,3841,7306,10,7346,7404,147,115,101,116, + 58,109,97,112,0,1793,7410,8,2049,108,10,1,7406,2049,6906,2049,1835,1793,7425,67502597, + 15,2049,108,2049,7162,10,1,7418,2049,2065,10,7393,7445,147,115,101,116,58,114,101, + 118,101,114,115,101,0,2049,1835,1793,7479,2049,59,1793,7457,17,2049,2876,10,1,7453, + 2049,2077,2,2049,108,1793,7473,2,15,2049,108,2049,2876,10,1,7466,2049,2252,3,10, + 1,7449,2049,2065,10,7430,7495,147,115,101,116,58,110,116,104,0,17,2049,2863,10, + 7484,7513,147,115,101,116,58,114,101,100,117,99,101,0,1793,7517,4,10,1,7515, + 2049,2065,2049,7162,10,7499,7536,147,115,101,116,58,109,97,107,101,0,2049,7079,2049, + 7445,10,7524,7546,159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10, + 7541,7564,159,125,0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049, + 153,1,41,2049,153,1,2876,2049,147,1,305,2049,159,1,7536,2049,147,10,7559,7603, + 134,73,48,0,105,105,0,7597,7612,134,73,49,0,46,46,0,7606,7621,134,73, + 50,0,46,46,0,7615,7630,134,73,51,0,46,46,0,7624,7643,147,111,112,99, + 111,100,101,0,2049,3652,46,46,0,1,7645,1793,7655,1,0,10,1,7652,2049,2326, + 2049,3652,108,105,0,1,7661,1793,7671,1,1,10,1,7668,2049,2326,2049,3652,100,117, + 0,1,7677,1793,7687,1,2,10,1,7684,2049,2326,2049,3652,100,114,0,1,7693,1793, + 7703,1,3,10,1,7700,2049,2326,2049,3652,115,119,0,1,7709,1793,7719,1,4,10, + 1,7716,2049,2326,2049,3652,112,117,0,1,7725,1793,7735,1,5,10,1,7732,2049,2326, + 2049,3652,112,111,0,1,7741,1793,7751,1,6,10,1,7748,2049,2326,2049,3652,106,117, + 0,1,7757,1793,7767,1,7,10,1,7764,2049,2326,2049,3652,99,97,0,1,7773,1793, + 7783,1,8,10,1,7780,2049,2326,2049,3652,99,99,0,1,7789,1793,7799,1,9,10, + 1,7796,2049,2326,2049,3652,114,101,0,1,7805,1793,7815,1,10,10,1,7812,2049,2326, + 2049,3652,101,113,0,1,7821,1793,7831,1,11,10,1,7828,2049,2326,2049,3652,110,101, + 0,1,7837,1793,7847,1,12,10,1,7844,2049,2326,2049,3652,108,116,0,1,7853,1793, + 7863,1,13,10,1,7860,2049,2326,2049,3652,103,116,0,1,7869,1793,7879,1,14,10, + 1,7876,2049,2326,2049,3652,102,101,0,1,7885,1793,7895,1,15,10,1,7892,2049,2326, + 2049,3652,115,116,0,1,7901,1793,7911,1,16,10,1,7908,2049,2326,2049,3652,97,100, + 0,1,7917,1793,7927,1,17,10,1,7924,2049,2326,2049,3652,115,117,0,1,7933,1793, + 7943,1,18,10,1,7940,2049,2326,2049,3652,109,117,0,1,7949,1793,7959,1,19,10, + 1,7956,2049,2326,2049,3652,100,105,0,1,7965,1793,7975,1,20,10,1,7972,2049,2326, + 2049,3652,97,110,0,1,7981,1793,7991,1,21,10,1,7988,2049,2326,2049,3652,111,114, + 0,1,7997,1793,8007,1,22,10,1,8004,2049,2326,2049,3652,120,111,0,1,8013,1793, + 8023,1,23,10,1,8020,2049,2326,2049,3652,115,104,0,1,8029,1793,8039,1,24,10, + 1,8036,2049,2326,2049,3652,122,114,0,1,8045,1793,8055,1,25,10,1,8052,2049,2326, + 2049,3652,101,110,0,1,8061,1793,8071,1,26,10,1,8068,2049,2326,2049,3652,105,101, + 0,1,8077,1793,8087,1,27,10,1,8084,2049,2326,2049,3652,105,113,0,1,8093,1793, + 8103,1,28,10,1,8100,2049,2326,2049,3652,105,105,0,1,8109,1793,8119,1,29,10, + 1,8116,2049,2326,3,1,0,10,7633,8135,147,112,97,99,107,0,1,7603,2049,7643, + 1,7612,2049,7643,1,7621,2049,7643,1,7630,2049,7643,1,-24,24,4,1,-16,24,17, + 4,1,-8,24,17,4,17,10,7559,8172,147,105,0,2,1,7603,1,2,2049,3122, + 1,2,17,2,1,7612,1,2,2049,3122,1,2,17,2,1,7621,1,2,2049,3122, + 1,2,17,1,7630,1,2,2049,3122,2049,8135,2049,108,10,8167,8218,147,100,0,2049, + 108,10,8213,8226,147,114,0,2049,200,2049,161,15,2049,108,10,8221,8241,159,97,115, + 123,0,3841,127,1,127,2049,3029,10,8234,8255,159,125,97,115,0,4097,127,10,8248, + 8274,147,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18, + 10,8258,8296,147,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8302,1, + 32,11,10,1,8298,2049,4407,2049,82,10,8280,8323,147,110,101,120,116,45,116,111, + 107,101,110,0,1,32,2049,6120,10,8309,8346,147,112,114,111,99,101,115,115,45, + 116,111,107,101,110,115,0,1793,8372,2049,8323,4,1793,8365,2,2049,82,2049,2538,1, + 366,1,11,2049,67,10,1,8353,2049,2065,2049,2863,10,1,8348,2049,2252,2049,366,10, + 8248,8393,147,115,58,101,118,97,108,117,97,116,101,0,2049,8274,2049,4610,2049,8274, + 2,2049,8296,2049,8346,10,8379,8411,134,76,80,0,0,8405,8421,134,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,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8468,8613,147,110,101,120,116,0,3841,8467,1,8477,17,2049, - 2964,10,8605,8629,147,112,114,101,112,0,1,8467,2049,2964,1,0,3841,8467,1,8477, - 17,16,10,8621,8650,147,100,111,110,101,0,1,8467,2049,2979,10,8435,8660,147,73, - 0,3841,8467,1,8477,17,15,10,8655,8672,147,74,0,3841,8467,1,8477,17,2049,2876, - 15,10,8667,8686,147,75,0,3841,8467,1,8477,17,1,2,18,15,10,8681,8717,147, - 116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120,62,0,2049,8629, - 4,1793,8737,25,2049,2876,5,1,21,2049,2077,6,2049,8613,1,8722,7,10,1,8722, - 8,3,2049,8650,10,8696,8760,147,105,111,58,101,110,117,109,101,114,97,116,101, - 0,27,10,8744,8774,147,105,111,58,113,117,101,114,121,0,28,10,8762,8789,147, - 105,111,58,105,110,118,111,107,101,0,29,10,8776,8799,134,83,108,111,116,0, - 0,8776,8815,147,105,111,58,115,99,97,110,45,102,111,114,0,1,-1,4097,8799, - 2049,8760,1793,8841,2049,8660,2049,8774,772,67502597,11,1793,8837,2049,8660,4097,8799,10,1,8832, - 9,10,1,8823,2049,8717,3,3841,8799,10,8800,8858,147,99,58,112,117,116,0,1, - 0,2049,8789,10,8849,8869,147,110,108,0,1,10,2049,8858,10,8863,8880,147,115,112, - 0,1,32,2049,8858,10,8874,8892,147,116,97,98,0,1,9,2049,8858,10,8885,8906, - 147,115,58,112,117,116,0,1793,8911,2049,8858,10,1,8908,2049,3978,10,8897,8925,147, - 110,58,112,117,116,0,2049,5949,2049,8906,10,8916,8941,147,100,58,119,111,114,100, - 115,0,1793,8950,2049,165,2049,8906,2049,8880,10,1,8943,2049,6960,10,8930,8964,147,114, - 101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8966,7,10,8955,8991, - 147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3,5,2049,8991,6, - 2,2049,8925,2049,8880,10,8977,9027,147,100,105,115,112,108,97,121,45,105,102,45, - 109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,9039,2049,8906,2049,8880,10, - 1,9034,1793,9045,3,10,1,9043,2049,67,10,8977,9066,147,100,58,119,111,114,100, - 115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9077,2049,165,2049,9027,10,1,9072, - 2049,6960,10,9050,9090,147,70,82,69,69,0,2049,3523,1,1025,18,2049,1835,18,10, - 0 }; + 0,0,0,0,0,0,0,0,0,0,8412,8557,147,110,101,120,116,0,3841,8411, + 1,8421,17,2049,2964,10,8549,8573,147,112,114,101,112,0,1,8411,2049,2964,1,0, + 3841,8411,1,8421,17,16,10,8565,8594,147,100,111,110,101,0,1,8411,2049,2979,10, + 8379,8604,147,73,0,3841,8411,1,8421,17,15,10,8599,8616,147,74,0,3841,8411,1, + 8421,17,2049,2876,15,10,8611,8630,147,75,0,3841,8411,1,8421,17,1,2,18,15, + 10,8625,8661,147,116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120, + 62,0,2049,8573,4,1793,8681,25,2049,2876,5,1,21,2049,2077,6,2049,8557,1,8666, + 7,10,1,8666,8,3,2049,8594,10,8640,8704,147,105,111,58,101,110,117,109,101, + 114,97,116,101,0,27,10,8688,8718,147,105,111,58,113,117,101,114,121,0,28, + 10,8706,8733,147,105,111,58,105,110,118,111,107,101,0,29,10,8720,8743,134,83, + 108,111,116,0,0,8720,8759,147,105,111,58,115,99,97,110,45,102,111,114,0, + 1,-1,4097,8743,2049,8704,1793,8785,2049,8604,2049,8718,772,67502597,11,1793,8781,2049,8604,4097, + 8743,10,1,8776,9,10,1,8767,2049,8661,3,3841,8743,10,8744,8802,147,99,58,112, + 117,116,0,1,0,2049,8733,10,8793,8813,147,110,108,0,1,10,2049,8802,10,8807, + 8824,147,115,112,0,1,32,2049,8802,10,8818,8836,147,116,97,98,0,1,9,2049, + 8802,10,8829,8850,147,115,58,112,117,116,0,1793,8855,2049,8802,10,1,8852,2049,3978, + 10,8841,8869,147,110,58,112,117,116,0,2049,5949,2049,8850,10,8860,8885,147,100,58, + 119,111,114,100,115,0,1793,8894,2049,165,2049,8850,2049,8824,10,1,8887,2049,6960,10, + 8874,8908,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8910, + 7,10,8899,8935,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3, + 5,2049,8935,6,2,2049,8869,2049,8824,10,8921,8971,147,100,105,115,112,108,97,121, + 45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,8983,2049, + 8850,2049,8824,10,1,8978,1793,8989,3,10,1,8987,2049,67,10,8921,9010,147,100,58, + 119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9021,2049,165,2049, + 8971,10,1,9016,2049,6960,10,8994,9034,147,70,82,69,69,0,2049,3523,1,1025,18, + 2049,1835,18,10,0 }; diff --git a/interfaces/ri_image.c b/interfaces/ri_image.c index 88b130e..d9e6291 100644 --- a/interfaces/ri_image.c +++ b/interfaces/ri_image.c @@ -1,6 +1,6 @@ #include -int32_t ngaImageCells = 11304; -int32_t ngaImage[] = { 1793,-1,11288,11303,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +int32_t ngaImageCells = 11248; +int32_t ngaImage[] = { 1793,-1,11232,11247,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,10,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,10,26,10, 68223234,1,2575,85000450,1,656912,354,339,268505089,66,65,135205121,66,10,101384453,0,9,10,2049,59, @@ -157,7 +157,7 @@ int32_t ngaImage[] = { 1793,-1,11288,11303,201906,0,10,1,10,2,10,3,10,4,10,5,10, 2065,4,16,10,3048,3101,147,118,58,117,112,100,97,116,101,45,117,115,105,110, 103,0,4,1793,3108,15,4,8,10,1,3104,2049,2077,16,10,3083,3122,147,99,111, 112,121,0,1793,3131,1,59,2049,2065,2049,62,10,1,3124,2049,2252,3,3,10,3114, - 3151,147,83,99,111,112,101,76,105,115,116,0,11033,11112,10,3138,3160,147,123,123, + 3151,147,83,99,111,112,101,76,105,115,116,0,10977,11056,10,3138,3160,147,123,123, 0,2049,1570,2,1,3151,2049,62,16,10,3154,3185,147,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1570,1,3151,2049,2863,16,10,3169,3199,147,125,125,0, 1,3151,2049,59,4,15,11,1793,3213,3841,3151,4097,2,10,1,3208,1793,3243,3841,3151, @@ -354,215 +354,212 @@ int32_t ngaImage[] = { 1793,-1,11288,11303,201906,0,10,1,10,2,10,3,10,4,10,5,10, 1793,7027,4,1,2016,2049,2065,10,1,7021,1,11,2049,67,10,1,7013,2049,6960,3, 10,6993,7054,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7040,7079,147, 115,101,116,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0, - 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7117, - 147,115,101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556, - 1793,7123,8,10,1,7121,2049,2065,2049,1556,4,18,2049,1835,1793,7148,2,2049,108,1793, - 7143,2049,108,10,1,7140,2049,2252,10,1,7135,2049,2065,10,7097,7172,147,115,101,116, - 58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793,7191,2,2049,82, - 2049,108,1793,7186,2049,108,10,1,7183,2049,3978,10,1,7176,2049,2065,10,7153,7201,134, - 81,0,0,7153,7218,147,115,101,116,58,102,111,114,45,101,97,99,104,0,1, - 7201,1793,7248,4097,7201,2049,59,1793,7242,2049,59,4,1793,7237,3841,7201,8,10,1,7233, - 2049,2065,10,1,7228,2049,2252,3,10,1,7222,2049,3062,10,7202,7264,147,115,101,116, - 58,100,117,112,0,2049,1835,1793,7282,2,15,2049,108,1793,7277,2049,108,10,1,7274, - 2049,7218,10,1,7268,2049,2065,10,7253,7301,147,115,101,116,58,102,105,108,116,101, - 114,0,1793,7329,67502597,1793,7308,8,10,1,7306,2049,2065,4,1793,7318,2049,108,10,1, - 7315,1793,7324,3,10,1,7322,2049,67,10,1,7303,2049,6906,2049,1835,1793,7344,67502597,15, - 2049,108,2049,7218,10,1,7337,2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7287,7362, - 134,70,0,0,7287,7380,147,115,101,116,58,99,111,110,116,97,105,110,115,63, - 0,1,7362,2049,3029,1793,7394,67502597,11,3841,7362,22,4097,7362,10,1,7386,2049,7218,3, - 3841,7362,10,7363,7426,147,115,101,116,58,99,111,110,116,97,105,110,115,45,115, - 116,114,105,110,103,63,0,1,7362,2049,3029,1793,7441,67502597,2049,96,3841,7362,22,4097, - 7362,10,1,7432,2049,7218,3,3841,7362,10,7402,7460,147,115,101,116,58,109,97,112, - 0,1793,7466,8,2049,108,10,1,7462,2049,6906,2049,1835,1793,7481,67502597,15,2049,108,2049, - 7218,10,1,7474,2049,2065,10,7449,7501,147,115,101,116,58,114,101,118,101,114,115, - 101,0,2049,1835,1793,7535,2049,59,1793,7513,17,2049,2876,10,1,7509,2049,2077,2,2049, - 108,1793,7529,2,15,2049,108,2049,2876,10,1,7522,2049,2252,3,10,1,7505,2049,2065, - 10,7486,7551,147,115,101,116,58,110,116,104,0,17,2049,2863,10,7540,7569,147,115, - 101,116,58,114,101,100,117,99,101,0,1793,7573,4,10,1,7571,2049,2065,2049,7218, - 10,7555,7592,147,115,101,116,58,109,97,107,101,0,2049,7079,2049,7501,10,7580,7602, - 159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10,7597,7620,159,125, - 0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049,153,1,41,2049, - 153,1,2876,2049,147,1,305,2049,159,1,7592,2049,147,10,7615,7659,134,73,48,0, - 105,105,0,7653,7668,134,73,49,0,46,46,0,7662,7677,134,73,50,0,46,46, - 0,7671,7686,134,73,51,0,46,46,0,7680,7699,147,111,112,99,111,100,101,0, - 2049,3652,46,46,0,1,7701,1793,7711,1,0,10,1,7708,2049,2326,2049,3652,108,105, - 0,1,7717,1793,7727,1,1,10,1,7724,2049,2326,2049,3652,100,117,0,1,7733,1793, - 7743,1,2,10,1,7740,2049,2326,2049,3652,100,114,0,1,7749,1793,7759,1,3,10, - 1,7756,2049,2326,2049,3652,115,119,0,1,7765,1793,7775,1,4,10,1,7772,2049,2326, - 2049,3652,112,117,0,1,7781,1793,7791,1,5,10,1,7788,2049,2326,2049,3652,112,111, - 0,1,7797,1793,7807,1,6,10,1,7804,2049,2326,2049,3652,106,117,0,1,7813,1793, - 7823,1,7,10,1,7820,2049,2326,2049,3652,99,97,0,1,7829,1793,7839,1,8,10, - 1,7836,2049,2326,2049,3652,99,99,0,1,7845,1793,7855,1,9,10,1,7852,2049,2326, - 2049,3652,114,101,0,1,7861,1793,7871,1,10,10,1,7868,2049,2326,2049,3652,101,113, - 0,1,7877,1793,7887,1,11,10,1,7884,2049,2326,2049,3652,110,101,0,1,7893,1793, - 7903,1,12,10,1,7900,2049,2326,2049,3652,108,116,0,1,7909,1793,7919,1,13,10, - 1,7916,2049,2326,2049,3652,103,116,0,1,7925,1793,7935,1,14,10,1,7932,2049,2326, - 2049,3652,102,101,0,1,7941,1793,7951,1,15,10,1,7948,2049,2326,2049,3652,115,116, - 0,1,7957,1793,7967,1,16,10,1,7964,2049,2326,2049,3652,97,100,0,1,7973,1793, - 7983,1,17,10,1,7980,2049,2326,2049,3652,115,117,0,1,7989,1793,7999,1,18,10, - 1,7996,2049,2326,2049,3652,109,117,0,1,8005,1793,8015,1,19,10,1,8012,2049,2326, - 2049,3652,100,105,0,1,8021,1793,8031,1,20,10,1,8028,2049,2326,2049,3652,97,110, - 0,1,8037,1793,8047,1,21,10,1,8044,2049,2326,2049,3652,111,114,0,1,8053,1793, - 8063,1,22,10,1,8060,2049,2326,2049,3652,120,111,0,1,8069,1793,8079,1,23,10, - 1,8076,2049,2326,2049,3652,115,104,0,1,8085,1793,8095,1,24,10,1,8092,2049,2326, - 2049,3652,122,114,0,1,8101,1793,8111,1,25,10,1,8108,2049,2326,2049,3652,101,110, - 0,1,8117,1793,8127,1,26,10,1,8124,2049,2326,2049,3652,105,101,0,1,8133,1793, - 8143,1,27,10,1,8140,2049,2326,2049,3652,105,113,0,1,8149,1793,8159,1,28,10, - 1,8156,2049,2326,2049,3652,105,105,0,1,8165,1793,8175,1,29,10,1,8172,2049,2326, - 3,1,0,10,7689,8191,147,112,97,99,107,0,1,7659,2049,7699,1,7668,2049,7699, - 1,7677,2049,7699,1,7686,2049,7699,1,-24,24,4,1,-16,24,17,4,1,-8,24, - 17,4,17,10,7615,8228,147,105,0,2,1,7659,1,2,2049,3122,1,2,17,2, - 1,7668,1,2,2049,3122,1,2,17,2,1,7677,1,2,2049,3122,1,2,17,1, - 7686,1,2,2049,3122,2049,8191,2049,108,10,8223,8274,147,100,0,2049,108,10,8269,8282, - 147,114,0,2049,200,2049,161,15,2049,108,10,8277,8297,159,97,115,123,0,3841,127, - 1,127,2049,3029,10,8290,8311,159,125,97,115,0,4097,127,10,8304,8330,147,99,117, - 114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18,10,8314,8352,147, - 99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8358,1,32,11,10,1, - 8354,2049,4407,2049,82,10,8336,8379,147,110,101,120,116,45,116,111,107,101,110,0, - 1,32,2049,6120,10,8365,8402,147,112,114,111,99,101,115,115,45,116,111,107,101, - 110,115,0,1793,8428,2049,8379,4,1793,8421,2,2049,82,2049,2538,1,366,1,11,2049, - 67,10,1,8409,2049,2065,2049,2863,10,1,8404,2049,2252,2049,366,10,8304,8449,147,115, - 58,101,118,97,108,117,97,116,101,0,2049,8330,2049,4610,2049,8330,2,2049,8352,2049, - 8402,10,8435,8467,134,76,80,0,0,8461,8477,134,73,110,100,101,120,0,0,0, + 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7116, + 147,115,101,116,58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793, + 7135,2,2049,82,2049,108,1793,7130,2049,108,10,1,7127,2049,3978,10,1,7120,2049,2065, + 10,7097,7145,134,81,0,0,7097,7162,147,115,101,116,58,102,111,114,45,101,97, + 99,104,0,1,7145,1793,7192,4097,7145,2049,59,1793,7186,2049,59,4,1793,7181,3841,7145, + 8,10,1,7177,2049,2065,10,1,7172,2049,2252,3,10,1,7166,2049,3062,10,7146,7208, + 147,115,101,116,58,100,117,112,0,2049,1835,1793,7226,2,15,2049,108,1793,7221,2049, + 108,10,1,7218,2049,7162,10,1,7212,2049,2065,10,7197,7245,147,115,101,116,58,102, + 105,108,116,101,114,0,1793,7273,67502597,1793,7252,8,10,1,7250,2049,2065,4,1793,7262, + 2049,108,10,1,7259,1793,7268,3,10,1,7266,2049,67,10,1,7247,2049,6906,2049,1835, + 1793,7288,67502597,15,2049,108,2049,7162,10,1,7281,2049,2065,2049,1835,67502597,18,2049,2876,67502597, + 16,10,7231,7306,134,70,0,0,7231,7324,147,115,101,116,58,99,111,110,116,97, + 105,110,115,63,0,1,7306,2049,3029,1793,7338,67502597,11,3841,7306,22,4097,7306,10,1, + 7330,2049,7162,3,3841,7306,10,7307,7370,147,115,101,116,58,99,111,110,116,97,105, + 110,115,45,115,116,114,105,110,103,63,0,1,7306,2049,3029,1793,7385,67502597,2049,96, + 3841,7306,22,4097,7306,10,1,7376,2049,7162,3,3841,7306,10,7346,7404,147,115,101,116, + 58,109,97,112,0,1793,7410,8,2049,108,10,1,7406,2049,6906,2049,1835,1793,7425,67502597, + 15,2049,108,2049,7162,10,1,7418,2049,2065,10,7393,7445,147,115,101,116,58,114,101, + 118,101,114,115,101,0,2049,1835,1793,7479,2049,59,1793,7457,17,2049,2876,10,1,7453, + 2049,2077,2,2049,108,1793,7473,2,15,2049,108,2049,2876,10,1,7466,2049,2252,3,10, + 1,7449,2049,2065,10,7430,7495,147,115,101,116,58,110,116,104,0,17,2049,2863,10, + 7484,7513,147,115,101,116,58,114,101,100,117,99,101,0,1793,7517,4,10,1,7515, + 2049,2065,2049,7162,10,7499,7536,147,115,101,116,58,109,97,107,101,0,2049,7079,2049, + 7445,10,7524,7546,159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10, + 7541,7564,159,125,0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049, + 153,1,41,2049,153,1,2876,2049,147,1,305,2049,159,1,7536,2049,147,10,7559,7603, + 134,73,48,0,105,105,0,7597,7612,134,73,49,0,46,46,0,7606,7621,134,73, + 50,0,46,46,0,7615,7630,134,73,51,0,46,46,0,7624,7643,147,111,112,99, + 111,100,101,0,2049,3652,46,46,0,1,7645,1793,7655,1,0,10,1,7652,2049,2326, + 2049,3652,108,105,0,1,7661,1793,7671,1,1,10,1,7668,2049,2326,2049,3652,100,117, + 0,1,7677,1793,7687,1,2,10,1,7684,2049,2326,2049,3652,100,114,0,1,7693,1793, + 7703,1,3,10,1,7700,2049,2326,2049,3652,115,119,0,1,7709,1793,7719,1,4,10, + 1,7716,2049,2326,2049,3652,112,117,0,1,7725,1793,7735,1,5,10,1,7732,2049,2326, + 2049,3652,112,111,0,1,7741,1793,7751,1,6,10,1,7748,2049,2326,2049,3652,106,117, + 0,1,7757,1793,7767,1,7,10,1,7764,2049,2326,2049,3652,99,97,0,1,7773,1793, + 7783,1,8,10,1,7780,2049,2326,2049,3652,99,99,0,1,7789,1793,7799,1,9,10, + 1,7796,2049,2326,2049,3652,114,101,0,1,7805,1793,7815,1,10,10,1,7812,2049,2326, + 2049,3652,101,113,0,1,7821,1793,7831,1,11,10,1,7828,2049,2326,2049,3652,110,101, + 0,1,7837,1793,7847,1,12,10,1,7844,2049,2326,2049,3652,108,116,0,1,7853,1793, + 7863,1,13,10,1,7860,2049,2326,2049,3652,103,116,0,1,7869,1793,7879,1,14,10, + 1,7876,2049,2326,2049,3652,102,101,0,1,7885,1793,7895,1,15,10,1,7892,2049,2326, + 2049,3652,115,116,0,1,7901,1793,7911,1,16,10,1,7908,2049,2326,2049,3652,97,100, + 0,1,7917,1793,7927,1,17,10,1,7924,2049,2326,2049,3652,115,117,0,1,7933,1793, + 7943,1,18,10,1,7940,2049,2326,2049,3652,109,117,0,1,7949,1793,7959,1,19,10, + 1,7956,2049,2326,2049,3652,100,105,0,1,7965,1793,7975,1,20,10,1,7972,2049,2326, + 2049,3652,97,110,0,1,7981,1793,7991,1,21,10,1,7988,2049,2326,2049,3652,111,114, + 0,1,7997,1793,8007,1,22,10,1,8004,2049,2326,2049,3652,120,111,0,1,8013,1793, + 8023,1,23,10,1,8020,2049,2326,2049,3652,115,104,0,1,8029,1793,8039,1,24,10, + 1,8036,2049,2326,2049,3652,122,114,0,1,8045,1793,8055,1,25,10,1,8052,2049,2326, + 2049,3652,101,110,0,1,8061,1793,8071,1,26,10,1,8068,2049,2326,2049,3652,105,101, + 0,1,8077,1793,8087,1,27,10,1,8084,2049,2326,2049,3652,105,113,0,1,8093,1793, + 8103,1,28,10,1,8100,2049,2326,2049,3652,105,105,0,1,8109,1793,8119,1,29,10, + 1,8116,2049,2326,3,1,0,10,7633,8135,147,112,97,99,107,0,1,7603,2049,7643, + 1,7612,2049,7643,1,7621,2049,7643,1,7630,2049,7643,1,-24,24,4,1,-16,24,17, + 4,1,-8,24,17,4,17,10,7559,8172,147,105,0,2,1,7603,1,2,2049,3122, + 1,2,17,2,1,7612,1,2,2049,3122,1,2,17,2,1,7621,1,2,2049,3122, + 1,2,17,1,7630,1,2,2049,3122,2049,8135,2049,108,10,8167,8218,147,100,0,2049, + 108,10,8213,8226,147,114,0,2049,200,2049,161,15,2049,108,10,8221,8241,159,97,115, + 123,0,3841,127,1,127,2049,3029,10,8234,8255,159,125,97,115,0,4097,127,10,8248, + 8274,147,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18, + 10,8258,8296,147,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8302,1, + 32,11,10,1,8298,2049,4407,2049,82,10,8280,8323,147,110,101,120,116,45,116,111, + 107,101,110,0,1,32,2049,6120,10,8309,8346,147,112,114,111,99,101,115,115,45, + 116,111,107,101,110,115,0,1793,8372,2049,8323,4,1793,8365,2,2049,82,2049,2538,1, + 366,1,11,2049,67,10,1,8353,2049,2065,2049,2863,10,1,8348,2049,2252,2049,366,10, + 8248,8393,147,115,58,101,118,97,108,117,97,116,101,0,2049,8274,2049,4610,2049,8274, + 2,2049,8296,2049,8346,10,8379,8411,134,76,80,0,0,8405,8421,134,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,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8468,8613,147,110,101,120,116,0,3841,8467,1,8477,17,2049, - 2964,10,8605,8629,147,112,114,101,112,0,1,8467,2049,2964,1,0,3841,8467,1,8477, - 17,16,10,8621,8650,147,100,111,110,101,0,1,8467,2049,2979,10,8435,8660,147,73, - 0,3841,8467,1,8477,17,15,10,8655,8672,147,74,0,3841,8467,1,8477,17,2049,2876, - 15,10,8667,8686,147,75,0,3841,8467,1,8477,17,1,2,18,15,10,8681,8717,147, - 116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120,62,0,2049,8629, - 4,1793,8737,25,2049,2876,5,1,21,2049,2077,6,2049,8613,1,8722,7,10,1,8722, - 8,3,2049,8650,10,8696,8760,147,105,111,58,101,110,117,109,101,114,97,116,101, - 0,27,10,8744,8774,147,105,111,58,113,117,101,114,121,0,28,10,8762,8789,147, - 105,111,58,105,110,118,111,107,101,0,29,10,8776,8799,134,83,108,111,116,0, - 0,8776,8815,147,105,111,58,115,99,97,110,45,102,111,114,0,1,-1,4097,8799, - 2049,8760,1793,8841,2049,8660,2049,8774,772,67502597,11,1793,8837,2049,8660,4097,8799,10,1,8832, - 9,10,1,8823,2049,8717,3,3841,8799,10,8800,8858,147,99,58,112,117,116,0,1, - 0,2049,8789,10,8849,8869,147,110,108,0,1,10,2049,8858,10,8863,8880,147,115,112, - 0,1,32,2049,8858,10,8874,8892,147,116,97,98,0,1,9,2049,8858,10,8885,8906, - 147,115,58,112,117,116,0,1793,8911,2049,8858,10,1,8908,2049,3978,10,8897,8925,147, - 110,58,112,117,116,0,2049,5949,2049,8906,10,8916,8941,147,100,58,119,111,114,100, - 115,0,1793,8950,2049,165,2049,8906,2049,8880,10,1,8943,2049,6960,10,8930,8964,147,114, - 101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8966,7,10,8955,8991, - 147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3,5,2049,8991,6, - 2,2049,8925,2049,8880,10,8977,9027,147,100,105,115,112,108,97,121,45,105,102,45, - 109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,9039,2049,8906,2049,8880,10, - 1,9034,1793,9045,3,10,1,9043,2049,67,10,8977,9066,147,100,58,119,111,114,100, - 115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9077,2049,165,2049,9027,10,1,9072, - 2049,6960,10,9050,9090,147,70,82,69,69,0,2049,3523,1,1025,18,2049,1835,18,10, - 9082,9116,134,105,111,58,70,105,108,101,115,121,115,116,101,109,0,0,9099,9129, - 147,105,100,101,110,116,105,102,121,0,3841,9116,2049,2522,1793,9196,1,4,2049,8815, - 2,2049,2557,1793,9184,3,2049,3652,73,79,32,68,69,86,73,67,69,32,84,89, - 80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,78,68,0,1,9147, - 2049,8906,2049,8869,10,1,9144,1793,9191,4097,9116,10,1,9188,2049,67,10,1,9135,9, - 10,9082,9221,147,105,111,58,102,105,108,101,45,111,112,101,114,97,116,105,111, - 110,0,2049,9129,3841,9116,2049,8789,10,9200,0,134,102,105,108,101,58,82,0,9228, - 1,134,102,105,108,101,58,87,0,9238,2,134,102,105,108,101,58,65,0,9248, - 3,134,102,105,108,101,58,82,43,0,9258,9282,147,102,105,108,101,58,111,112, - 101,110,0,1,0,2049,9221,10,9269,9301,147,102,105,108,101,58,99,108,111,115, - 101,0,1,1,2049,9221,10,9287,9319,147,102,105,108,101,58,114,101,97,100,0, - 1,2,2049,9221,10,9306,9338,147,102,105,108,101,58,119,114,105,116,101,0,1, - 3,2049,9221,10,9324,9356,147,102,105,108,101,58,116,101,108,108,0,1,4,2049, - 9221,10,9343,9374,147,102,105,108,101,58,115,101,101,107,0,1,5,2049,9221,10, - 9361,9392,147,102,105,108,101,58,115,105,122,101,0,1,6,2049,9221,10,9379,9412, - 147,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,9221,10,9397,9431, - 147,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9221,10,9417,9452,147, - 102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,9282,2,2049,2538, - 1793,9466,2049,9301,2049,2428,10,1,9461,1793,9474,3,2049,2440,10,1,9470,2049,67,10, - 9436,9505,147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,114,101,97, - 100,105,110,103,62,0,1,0,2049,9282,2,2049,9392,4,10,9479,9539,147,102,105, - 108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,101,110,100,62,0, - 1,2,2049,9282,2,2049,9392,4,10,9514,9574,147,102,105,108,101,58,111,112,101, - 110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,1,1,2049,9282,10, - 9548,9586,134,70,73,68,0,0,9579,9595,134,83,105,122,101,0,0,9587,9606,134, - 65,99,116,105,111,110,0,0,9596,9617,134,66,117,102,102,101,114,0,0,9607, - 9627,147,45,101,111,102,63,0,3841,9586,2049,9356,3841,9595,13,10,9618,9647,147,112, - 114,101,115,101,114,118,101,0,1,9586,1793,9662,1,9595,1793,9657,8,10,1,9655, - 2049,3062,10,1,9651,2049,3062,10,9548,9685,147,102,105,108,101,58,114,101,97,100, - 45,108,105,110,101,0,4097,9586,1793,9742,2049,1835,2,4097,9617,2049,3430,1793,9734,3841, - 9586,2049,9319,2,2049,3338,1793,9711,1,13,11,10,1,9707,1793,9719,1,10,11,10, - 1,9715,1793,9727,1,0,11,10,1,9723,2049,2129,22,22,10,1,9698,2049,2223,2049, - 3362,3,10,1,9689,2049,3454,3841,9617,10,9667,9771,147,102,105,108,101,58,102,111, - 114,45,101,97,99,104,45,108,105,110,101,0,1793,9802,4097,9606,2049,9505,4097,9586, - 4097,9595,1793,9793,3841,9586,2049,9685,3841,9606,8,2049,9627,10,1,9783,2049,2197,3841,9586, - 2049,9301,10,1,9773,2049,9647,10,9749,9814,134,70,73,68,0,0,9807,9823,134,83, - 105,122,101,0,0,9749,9838,147,102,105,108,101,58,115,108,117,114,112,0,1793, - 9868,2049,9505,4097,9814,4097,9823,2049,3430,3841,9823,1793,9859,3841,9814,2049,9319,2049,3338,10, - 1,9852,2049,2252,3841,9814,2049,9301,10,1,9840,2049,3454,10,9824,9880,134,70,73,68, - 0,0,9824,9894,147,102,105,108,101,58,115,112,101,119,0,2049,9574,4097,9880,1793, - 9905,3841,9880,2049,9338,10,1,9900,2049,3978,3841,9880,2049,9301,10,9881,9934,134,105,111, - 58,70,108,111,97,116,105,110,103,80,111,105,110,116,0,0,9914,9947,147,105, - 100,101,110,116,105,102,121,0,3841,9934,2049,2522,1793,10014,1,2,2049,8815,2,2049, - 2557,1793,10002,3,2049,3652,73,79,32,68,69,86,73,67,69,32,84,89,80,69, - 32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0,1,9965,2049,8906, - 2049,8869,10,1,9962,1793,10009,4097,9934,10,1,10006,2049,67,10,1,9953,9,10,9881, - 10040,147,105,111,58,102,108,111,97,116,45,111,112,101,114,97,116,105,111,110, - 0,2049,9947,3841,9934,2049,8789,10,10018,10061,147,110,58,116,111,45,102,108,111,97, - 116,0,1,0,2049,10040,10,10047,10080,147,115,58,116,111,45,102,108,111,97,116, - 0,1,1,2049,10040,10,10066,10100,147,102,58,116,111,45,110,117,109,98,101,114, - 0,1,2,2049,10040,10,10085,10120,147,102,58,116,111,45,115,116,114,105,110,103, - 0,2049,3633,2,1,3,2049,10040,10,10105,10135,147,102,58,43,0,1,4,2049,10040, - 10,10128,10147,147,102,58,45,0,1,5,2049,10040,10,10140,10159,147,102,58,42,0, - 1,6,2049,10040,10,10152,10171,147,102,58,47,0,1,7,2049,10040,10,10164,10187,147, - 102,58,102,108,111,111,114,0,1,8,2049,10040,10,10176,10205,147,102,58,99,101, - 105,108,105,110,103,0,1,9,2049,10040,10,10192,10220,147,102,58,115,113,114,116, - 0,1,10,2049,10040,10,10210,10234,147,102,58,101,113,63,0,1,11,2049,10040,10, - 10225,10249,147,102,58,45,101,113,63,0,1,12,2049,10040,10,10239,10263,147,102,58, - 108,116,63,0,1,13,2049,10040,10,10254,10277,147,102,58,103,116,63,0,1,14, - 2049,10040,10,10268,10293,147,102,58,100,101,112,116,104,0,1,15,2049,10040,10,10282, - 10307,147,102,58,100,117,112,0,1,16,2049,10040,10,10298,10322,147,102,58,100,114, - 111,112,0,1,17,2049,10040,10,10312,10337,147,102,58,115,119,97,112,0,1,18, - 2049,10040,10,10327,10351,147,102,58,108,111,103,0,1,19,2049,10040,10,10342,10367,147, - 102,58,112,111,119,101,114,0,1,20,2049,10040,10,10356,10381,147,102,58,115,105, - 110,0,1,21,2049,10040,10,10372,10395,147,102,58,99,111,115,0,1,22,2049,10040, - 10,10386,10409,147,102,58,116,97,110,0,1,23,2049,10040,10,10400,10424,147,102,58, - 97,115,105,110,0,1,24,2049,10040,10,10414,10439,147,102,58,97,99,111,115,0, - 1,25,2049,10040,10,10429,10454,147,102,58,97,116,97,110,0,1,26,2049,10040,10, - 10444,10471,147,102,58,115,113,117,97,114,101,0,2049,10307,2049,10159,10,10459,10486,147, - 102,58,111,118,101,114,0,2049,10120,2049,10307,2049,10080,2049,10337,10,10476,10505,147,102, - 58,116,117,99,107,0,2049,10337,2049,10486,10,10495,10525,147,102,58,112,111,115,105, - 116,105,118,101,63,0,1,0,2049,10061,2049,10277,10,10510,10547,147,102,58,110,101, - 103,97,116,105,118,101,63,0,1,0,2049,10061,2049,10263,10,10532,10566,147,102,58, - 110,101,103,97,116,101,0,1,-1,2049,10061,2049,10159,10,10554,10582,147,102,58,97, - 98,115,0,2049,10307,2049,10547,1793,10591,2049,10566,10,1,10588,9,10,10573,10607,159,112, - 114,101,102,105,120,58,46,0,2049,1806,1793,10614,2049,3678,10,1,10611,1793,10621,2049, - 3607,10,1,10618,2049,67,1,10080,2049,147,10,10595,10639,147,102,58,112,117,116,0, - 2049,10120,2049,8906,10,10630,10652,147,102,58,80,73,0,2049,3652,51,46,49,52,49, - 53,57,50,0,1,10654,2049,10080,10,10644,10675,147,102,58,69,0,2049,3652,50,46, - 55,49,56,50,56,49,0,1,10677,2049,10080,10,10668,10700,147,102,58,78,65,78, - 0,2049,3652,48,0,1,10702,2049,10080,2049,3652,48,0,1,10710,2049,10080,2049,10171,10, - 10691,10728,147,102,58,73,78,70,0,2049,3652,49,46,48,0,1,10730,2049,10080,2049, - 3652,48,0,1,10740,2049,10080,2049,10171,10,10719,10759,147,102,58,45,73,78,70,0, - 2049,3652,45,49,46,48,0,1,10761,2049,10080,2049,3652,48,0,1,10772,2049,10080,2049, - 10171,10,10749,10791,147,102,58,110,97,110,63,0,2049,10307,2049,10249,10,10781,10806,147, - 102,58,105,110,102,63,0,2049,10728,2049,10234,10,10796,10822,147,102,58,45,105,110, - 102,63,0,2049,10759,2049,10234,10,10811,10838,147,102,58,114,111,117,110,100,0,2049, - 10307,2049,10547,1793,10859,2049,3652,48,46,53,0,1,10846,2049,10080,2049,10147,2049,10205,10, - 1,10844,1793,10878,2049,3652,48,46,53,0,1,10865,2049,10080,2049,10135,2049,10187,10,1, - 10863,2049,67,10,10827,2147483646,134,117,58,77,65,88,0,10883,-2147483646,134,117,58,77,73, - 78,0,10892,-2147483648,134,117,58,78,65,78,0,10901,2147483647,134,117,58,73,78,70,0, - 10910,-2147483647,134,117,58,45,73,78,70,0,10919,10937,147,117,58,110,63,0,1,-2147483646, - 2049,2863,1,2147483646,2049,2876,2049,2894,10,10929,10958,147,117,58,109,97,120,63,0,1, - 2147483646,11,10,10948,10972,147,117,58,109,105,110,63,0,1,-2147483646,11,10,10962,10987,147, - 117,58,122,101,114,111,63,0,2049,2522,10,10976,11000,147,117,58,110,97,110,63, - 0,1,-2147483648,11,10,10990,11014,147,117,58,105,110,102,63,0,1,2147483647,11,10,11004, - 11029,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,11018,11043,147,117,58,99, - 108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,11033,11055,147,115,0,2049,3652,49,48, - 46,48,101,45,52,0,1,11057,2049,10080,10,11050,11082,147,102,58,101,110,99,111, - 100,101,0,2049,3652,48,46,53,0,1,11084,2049,10080,2049,10367,2049,11055,2049,3652,45, - 49,46,48,0,1,11098,2049,10080,2049,10367,2049,10159,10,11070,11124,147,102,58,100,101, - 99,111,100,101,0,2049,10471,2049,11055,2049,10471,2049,10159,10,11033,11143,147,102,58,116, - 111,45,117,0,2049,10307,2049,11082,2049,10838,2049,10100,2049,11043,2049,10307,2049,10791,1793,11163, - 3,1,-2147483648,10,1,11159,9,2049,10307,2049,10806,1793,11176,3,1,2147483647,10,1,11172,9, - 2049,10307,2049,10822,1793,11189,3,1,-2147483647,10,1,11185,9,2049,10322,10,11133,11205,147,117, - 58,116,111,45,102,0,2049,10061,2049,11124,10,11195,11220,147,117,58,116,111,45,102, - 0,2,2049,10061,2049,11124,2,2049,11000,1793,11235,2049,10322,2049,10700,10,1,11230,9,2, - 2049,11014,1793,11248,2049,10322,2049,10728,10,1,11243,9,2,2049,11029,1793,11261,2049,10322,2049, - 10759,10,1,11256,9,3,10,11210,11277,147,102,58,115,116,111,114,101,0,1793,11282, - 2049,11143,10,1,11279,2049,2065,16,10,11266,11299,147,102,58,102,101,116,99,104,0, - 15,2049,11220,10,0 }; + 0,0,0,0,0,0,0,0,0,0,8412,8557,147,110,101,120,116,0,3841,8411, + 1,8421,17,2049,2964,10,8549,8573,147,112,114,101,112,0,1,8411,2049,2964,1,0, + 3841,8411,1,8421,17,16,10,8565,8594,147,100,111,110,101,0,1,8411,2049,2979,10, + 8379,8604,147,73,0,3841,8411,1,8421,17,15,10,8599,8616,147,74,0,3841,8411,1, + 8421,17,2049,2876,15,10,8611,8630,147,75,0,3841,8411,1,8421,17,1,2,18,15, + 10,8625,8661,147,116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120, + 62,0,2049,8573,4,1793,8681,25,2049,2876,5,1,21,2049,2077,6,2049,8557,1,8666, + 7,10,1,8666,8,3,2049,8594,10,8640,8704,147,105,111,58,101,110,117,109,101, + 114,97,116,101,0,27,10,8688,8718,147,105,111,58,113,117,101,114,121,0,28, + 10,8706,8733,147,105,111,58,105,110,118,111,107,101,0,29,10,8720,8743,134,83, + 108,111,116,0,0,8720,8759,147,105,111,58,115,99,97,110,45,102,111,114,0, + 1,-1,4097,8743,2049,8704,1793,8785,2049,8604,2049,8718,772,67502597,11,1793,8781,2049,8604,4097, + 8743,10,1,8776,9,10,1,8767,2049,8661,3,3841,8743,10,8744,8802,147,99,58,112, + 117,116,0,1,0,2049,8733,10,8793,8813,147,110,108,0,1,10,2049,8802,10,8807, + 8824,147,115,112,0,1,32,2049,8802,10,8818,8836,147,116,97,98,0,1,9,2049, + 8802,10,8829,8850,147,115,58,112,117,116,0,1793,8855,2049,8802,10,1,8852,2049,3978, + 10,8841,8869,147,110,58,112,117,116,0,2049,5949,2049,8850,10,8860,8885,147,100,58, + 119,111,114,100,115,0,1793,8894,2049,165,2049,8850,2049,8824,10,1,8887,2049,6960,10, + 8874,8908,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8910, + 7,10,8899,8935,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3, + 5,2049,8935,6,2,2049,8869,2049,8824,10,8921,8971,147,100,105,115,112,108,97,121, + 45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,8983,2049, + 8850,2049,8824,10,1,8978,1793,8989,3,10,1,8987,2049,67,10,8921,9010,147,100,58, + 119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9021,2049,165,2049, + 8971,10,1,9016,2049,6960,10,8994,9034,147,70,82,69,69,0,2049,3523,1,1025,18, + 2049,1835,18,10,9026,9060,134,105,111,58,70,105,108,101,115,121,115,116,101,109, + 0,0,9043,9073,147,105,100,101,110,116,105,102,121,0,3841,9060,2049,2522,1793,9140, + 1,4,2049,8759,2,2049,2557,1793,9128,3,2049,3652,73,79,32,68,69,86,73,67, + 69,32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,78, + 68,0,1,9091,2049,8850,2049,8813,10,1,9088,1793,9135,4097,9060,10,1,9132,2049,67, + 10,1,9079,9,10,9026,9165,147,105,111,58,102,105,108,101,45,111,112,101,114, + 97,116,105,111,110,0,2049,9073,3841,9060,2049,8733,10,9144,0,134,102,105,108,101, + 58,82,0,9172,1,134,102,105,108,101,58,87,0,9182,2,134,102,105,108,101, + 58,65,0,9192,3,134,102,105,108,101,58,82,43,0,9202,9226,147,102,105,108, + 101,58,111,112,101,110,0,1,0,2049,9165,10,9213,9245,147,102,105,108,101,58, + 99,108,111,115,101,0,1,1,2049,9165,10,9231,9263,147,102,105,108,101,58,114, + 101,97,100,0,1,2,2049,9165,10,9250,9282,147,102,105,108,101,58,119,114,105, + 116,101,0,1,3,2049,9165,10,9268,9300,147,102,105,108,101,58,116,101,108,108, + 0,1,4,2049,9165,10,9287,9318,147,102,105,108,101,58,115,101,101,107,0,1, + 5,2049,9165,10,9305,9336,147,102,105,108,101,58,115,105,122,101,0,1,6,2049, + 9165,10,9323,9356,147,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049, + 9165,10,9341,9375,147,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9165, + 10,9361,9396,147,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049, + 9226,2,2049,2538,1793,9410,2049,9245,2049,2428,10,1,9405,1793,9418,3,2049,2440,10,1, + 9414,2049,67,10,9380,9449,147,102,105,108,101,58,111,112,101,110,60,102,111,114, + 45,114,101,97,100,105,110,103,62,0,1,0,2049,9226,2,2049,9336,4,10,9423, + 9483,147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,101, + 110,100,62,0,1,2,2049,9226,2,2049,9336,4,10,9458,9518,147,102,105,108,101, + 58,111,112,101,110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,1, + 1,2049,9226,10,9492,9530,134,70,73,68,0,0,9523,9539,134,83,105,122,101,0, + 0,9531,9550,134,65,99,116,105,111,110,0,0,9540,9561,134,66,117,102,102,101, + 114,0,0,9551,9571,147,45,101,111,102,63,0,3841,9530,2049,9300,3841,9539,13,10, + 9562,9591,147,112,114,101,115,101,114,118,101,0,1,9530,1793,9606,1,9539,1793,9601, + 8,10,1,9599,2049,3062,10,1,9595,2049,3062,10,9492,9629,147,102,105,108,101,58, + 114,101,97,100,45,108,105,110,101,0,4097,9530,1793,9686,2049,1835,2,4097,9561,2049, + 3430,1793,9678,3841,9530,2049,9263,2,2049,3338,1793,9655,1,13,11,10,1,9651,1793,9663, + 1,10,11,10,1,9659,1793,9671,1,0,11,10,1,9667,2049,2129,22,22,10,1, + 9642,2049,2223,2049,3362,3,10,1,9633,2049,3454,3841,9561,10,9611,9715,147,102,105,108, + 101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,9746,4097,9550, + 2049,9449,4097,9530,4097,9539,1793,9737,3841,9530,2049,9629,3841,9550,8,2049,9571,10,1,9727, + 2049,2197,3841,9530,2049,9245,10,1,9717,2049,9591,10,9693,9758,134,70,73,68,0,0, + 9751,9767,134,83,105,122,101,0,0,9693,9782,147,102,105,108,101,58,115,108,117, + 114,112,0,1793,9812,2049,9449,4097,9758,4097,9767,2049,3430,3841,9767,1793,9803,3841,9758,2049, + 9263,2049,3338,10,1,9796,2049,2252,3841,9758,2049,9245,10,1,9784,2049,3454,10,9768,9824, + 134,70,73,68,0,0,9768,9838,147,102,105,108,101,58,115,112,101,119,0,2049, + 9518,4097,9824,1793,9849,3841,9824,2049,9282,10,1,9844,2049,3978,3841,9824,2049,9245,10,9825, + 9878,134,105,111,58,70,108,111,97,116,105,110,103,80,111,105,110,116,0,0, + 9858,9891,147,105,100,101,110,116,105,102,121,0,3841,9878,2049,2522,1793,9958,1,2, + 2049,8759,2,2049,2557,1793,9946,3,2049,3652,73,79,32,68,69,86,73,67,69,32, + 84,89,80,69,32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0, + 1,9909,2049,8850,2049,8813,10,1,9906,1793,9953,4097,9878,10,1,9950,2049,67,10,1, + 9897,9,10,9825,9984,147,105,111,58,102,108,111,97,116,45,111,112,101,114,97, + 116,105,111,110,0,2049,9891,3841,9878,2049,8733,10,9962,10005,147,110,58,116,111,45, + 102,108,111,97,116,0,1,0,2049,9984,10,9991,10024,147,115,58,116,111,45,102, + 108,111,97,116,0,1,1,2049,9984,10,10010,10044,147,102,58,116,111,45,110,117, + 109,98,101,114,0,1,2,2049,9984,10,10029,10064,147,102,58,116,111,45,115,116, + 114,105,110,103,0,2049,3633,2,1,3,2049,9984,10,10049,10079,147,102,58,43,0, + 1,4,2049,9984,10,10072,10091,147,102,58,45,0,1,5,2049,9984,10,10084,10103,147, + 102,58,42,0,1,6,2049,9984,10,10096,10115,147,102,58,47,0,1,7,2049,9984, + 10,10108,10131,147,102,58,102,108,111,111,114,0,1,8,2049,9984,10,10120,10149,147, + 102,58,99,101,105,108,105,110,103,0,1,9,2049,9984,10,10136,10164,147,102,58, + 115,113,114,116,0,1,10,2049,9984,10,10154,10178,147,102,58,101,113,63,0,1, + 11,2049,9984,10,10169,10193,147,102,58,45,101,113,63,0,1,12,2049,9984,10,10183, + 10207,147,102,58,108,116,63,0,1,13,2049,9984,10,10198,10221,147,102,58,103,116, + 63,0,1,14,2049,9984,10,10212,10237,147,102,58,100,101,112,116,104,0,1,15, + 2049,9984,10,10226,10251,147,102,58,100,117,112,0,1,16,2049,9984,10,10242,10266,147, + 102,58,100,114,111,112,0,1,17,2049,9984,10,10256,10281,147,102,58,115,119,97, + 112,0,1,18,2049,9984,10,10271,10295,147,102,58,108,111,103,0,1,19,2049,9984, + 10,10286,10311,147,102,58,112,111,119,101,114,0,1,20,2049,9984,10,10300,10325,147, + 102,58,115,105,110,0,1,21,2049,9984,10,10316,10339,147,102,58,99,111,115,0, + 1,22,2049,9984,10,10330,10353,147,102,58,116,97,110,0,1,23,2049,9984,10,10344, + 10368,147,102,58,97,115,105,110,0,1,24,2049,9984,10,10358,10383,147,102,58,97, + 99,111,115,0,1,25,2049,9984,10,10373,10398,147,102,58,97,116,97,110,0,1, + 26,2049,9984,10,10388,10415,147,102,58,115,113,117,97,114,101,0,2049,10251,2049,10103, + 10,10403,10430,147,102,58,111,118,101,114,0,2049,10064,2049,10251,2049,10024,2049,10281,10, + 10420,10449,147,102,58,116,117,99,107,0,2049,10281,2049,10430,10,10439,10469,147,102,58, + 112,111,115,105,116,105,118,101,63,0,1,0,2049,10005,2049,10221,10,10454,10491,147, + 102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,10005,2049,10207,10,10476, + 10510,147,102,58,110,101,103,97,116,101,0,1,-1,2049,10005,2049,10103,10,10498,10526, + 147,102,58,97,98,115,0,2049,10251,2049,10491,1793,10535,2049,10510,10,1,10532,9,10, + 10517,10551,159,112,114,101,102,105,120,58,46,0,2049,1806,1793,10558,2049,3678,10,1, + 10555,1793,10565,2049,3607,10,1,10562,2049,67,1,10024,2049,147,10,10539,10583,147,102,58, + 112,117,116,0,2049,10064,2049,8850,10,10574,10596,147,102,58,80,73,0,2049,3652,51, + 46,49,52,49,53,57,50,0,1,10598,2049,10024,10,10588,10619,147,102,58,69,0, + 2049,3652,50,46,55,49,56,50,56,49,0,1,10621,2049,10024,10,10612,10644,147,102, + 58,78,65,78,0,2049,3652,48,0,1,10646,2049,10024,2049,3652,48,0,1,10654,2049, + 10024,2049,10115,10,10635,10672,147,102,58,73,78,70,0,2049,3652,49,46,48,0,1, + 10674,2049,10024,2049,3652,48,0,1,10684,2049,10024,2049,10115,10,10663,10703,147,102,58,45, + 73,78,70,0,2049,3652,45,49,46,48,0,1,10705,2049,10024,2049,3652,48,0,1, + 10716,2049,10024,2049,10115,10,10693,10735,147,102,58,110,97,110,63,0,2049,10251,2049,10193, + 10,10725,10750,147,102,58,105,110,102,63,0,2049,10672,2049,10178,10,10740,10766,147,102, + 58,45,105,110,102,63,0,2049,10703,2049,10178,10,10755,10782,147,102,58,114,111,117, + 110,100,0,2049,10251,2049,10491,1793,10803,2049,3652,48,46,53,0,1,10790,2049,10024,2049, + 10091,2049,10149,10,1,10788,1793,10822,2049,3652,48,46,53,0,1,10809,2049,10024,2049,10079, + 2049,10131,10,1,10807,2049,67,10,10771,2147483646,134,117,58,77,65,88,0,10827,-2147483646,134, + 117,58,77,73,78,0,10836,-2147483648,134,117,58,78,65,78,0,10845,2147483647,134,117,58, + 73,78,70,0,10854,-2147483647,134,117,58,45,73,78,70,0,10863,10881,147,117,58,110, + 63,0,1,-2147483646,2049,2863,1,2147483646,2049,2876,2049,2894,10,10873,10902,147,117,58,109,97, + 120,63,0,1,2147483646,11,10,10892,10916,147,117,58,109,105,110,63,0,1,-2147483646,11, + 10,10906,10931,147,117,58,122,101,114,111,63,0,2049,2522,10,10920,10944,147,117,58, + 110,97,110,63,0,1,-2147483648,11,10,10934,10958,147,117,58,105,110,102,63,0,1, + 2147483647,11,10,10948,10973,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,10962,10987, + 147,117,58,99,108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,10977,10999,147,115,0, + 2049,3652,49,48,46,48,101,45,52,0,1,11001,2049,10024,10,10994,11026,147,102,58, + 101,110,99,111,100,101,0,2049,3652,48,46,53,0,1,11028,2049,10024,2049,10311,2049, + 10999,2049,3652,45,49,46,48,0,1,11042,2049,10024,2049,10311,2049,10103,10,11014,11068,147, + 102,58,100,101,99,111,100,101,0,2049,10415,2049,10999,2049,10415,2049,10103,10,10977,11087, + 147,102,58,116,111,45,117,0,2049,10251,2049,11026,2049,10782,2049,10044,2049,10987,2049,10251, + 2049,10735,1793,11107,3,1,-2147483648,10,1,11103,9,2049,10251,2049,10750,1793,11120,3,1,2147483647, + 10,1,11116,9,2049,10251,2049,10766,1793,11133,3,1,-2147483647,10,1,11129,9,2049,10266,10, + 11077,11149,147,117,58,116,111,45,102,0,2049,10005,2049,11068,10,11139,11164,147,117,58, + 116,111,45,102,0,2,2049,10005,2049,11068,2,2049,10944,1793,11179,2049,10266,2049,10644,10, + 1,11174,9,2,2049,10958,1793,11192,2049,10266,2049,10672,10,1,11187,9,2,2049,10973,1793, + 11205,2049,10266,2049,10703,10,1,11200,9,3,10,11154,11221,147,102,58,115,116,111,114, + 101,0,1793,11226,2049,11087,10,1,11223,2049,2065,16,10,11210,11243,147,102,58,102,101, + 116,99,104,0,15,2049,11164,10,0 }; diff --git a/interfaces/rre_image.c b/interfaces/rre_image.c index eb6203d..1b9668d 100644 --- a/interfaces/rre_image.c +++ b/interfaces/rre_image.c @@ -1,6 +1,6 @@ #include -int32_t ngaImageCells = 12749; -int32_t ngaImage[] = { 1793,-1,12712,12748,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, +int32_t ngaImageCells = 12693; +int32_t ngaImage[] = { 1793,-1,12656,12692,201906,0,10,1,10,2,10,3,10,4,10,5,10,6,10, 7,10,8,10,9,10,10,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,10,26,10, 68223234,1,2575,85000450,1,656912,354,339,268505089,66,65,135205121,66,10,101384453,0,9,10,2049,59, @@ -157,7 +157,7 @@ int32_t ngaImage[] = { 1793,-1,12712,12748,201906,0,10,1,10,2,10,3,10,4,10,5,10, 2065,4,16,10,3048,3101,147,118,58,117,112,100,97,116,101,45,117,115,105,110, 103,0,4,1793,3108,15,4,8,10,1,3104,2049,2077,16,10,3083,3122,147,99,111, 112,121,0,1793,3131,1,59,2049,2065,2049,62,10,1,3124,2049,2252,3,3,10,3114, - 3151,147,83,99,111,112,101,76,105,115,116,0,12572,12655,10,3138,3160,147,123,123, + 3151,147,83,99,111,112,101,76,105,115,116,0,12516,12599,10,3138,3160,147,123,123, 0,2049,1570,2,1,3151,2049,62,16,10,3154,3185,147,45,45,45,114,101,118,101, 97,108,45,45,45,0,2049,1570,1,3151,2049,2863,16,10,3169,3199,147,125,125,0, 1,3151,2049,59,4,15,11,1793,3213,3841,3151,4097,2,10,1,3208,1793,3243,3841,3151, @@ -354,287 +354,284 @@ int32_t ngaImage[] = { 1793,-1,12712,12748,201906,0,10,1,10,2,10,3,10,4,10,5,10, 1793,7027,4,1,2016,2049,2065,10,1,7021,1,11,2049,67,10,1,7013,2049,6960,3, 10,6993,7054,147,115,101,116,58,108,101,110,103,116,104,0,15,10,7040,7079,147, 115,101,116,58,99,111,117,110,116,101,100,45,114,101,115,117,108,116,115,0, - 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7117, - 147,115,101,116,58,102,114,111,109,45,114,101,115,117,108,116,115,0,2049,1556, - 1793,7123,8,10,1,7121,2049,2065,2049,1556,4,18,2049,1835,1793,7148,2,2049,108,1793, - 7143,2049,108,10,1,7140,2049,2252,10,1,7135,2049,2065,10,7097,7172,147,115,101,116, - 58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793,7191,2,2049,82, - 2049,108,1793,7186,2049,108,10,1,7183,2049,3978,10,1,7176,2049,2065,10,7153,7201,134, - 81,0,0,7153,7218,147,115,101,116,58,102,111,114,45,101,97,99,104,0,1, - 7201,1793,7248,4097,7201,2049,59,1793,7242,2049,59,4,1793,7237,3841,7201,8,10,1,7233, - 2049,2065,10,1,7228,2049,2252,3,10,1,7222,2049,3062,10,7202,7264,147,115,101,116, - 58,100,117,112,0,2049,1835,1793,7282,2,15,2049,108,1793,7277,2049,108,10,1,7274, - 2049,7218,10,1,7268,2049,2065,10,7253,7301,147,115,101,116,58,102,105,108,116,101, - 114,0,1793,7329,67502597,1793,7308,8,10,1,7306,2049,2065,4,1793,7318,2049,108,10,1, - 7315,1793,7324,3,10,1,7322,2049,67,10,1,7303,2049,6906,2049,1835,1793,7344,67502597,15, - 2049,108,2049,7218,10,1,7337,2049,2065,2049,1835,67502597,18,2049,2876,67502597,16,10,7287,7362, - 134,70,0,0,7287,7380,147,115,101,116,58,99,111,110,116,97,105,110,115,63, - 0,1,7362,2049,3029,1793,7394,67502597,11,3841,7362,22,4097,7362,10,1,7386,2049,7218,3, - 3841,7362,10,7363,7426,147,115,101,116,58,99,111,110,116,97,105,110,115,45,115, - 116,114,105,110,103,63,0,1,7362,2049,3029,1793,7441,67502597,2049,96,3841,7362,22,4097, - 7362,10,1,7432,2049,7218,3,3841,7362,10,7402,7460,147,115,101,116,58,109,97,112, - 0,1793,7466,8,2049,108,10,1,7462,2049,6906,2049,1835,1793,7481,67502597,15,2049,108,2049, - 7218,10,1,7474,2049,2065,10,7449,7501,147,115,101,116,58,114,101,118,101,114,115, - 101,0,2049,1835,1793,7535,2049,59,1793,7513,17,2049,2876,10,1,7509,2049,2077,2,2049, - 108,1793,7529,2,15,2049,108,2049,2876,10,1,7522,2049,2252,3,10,1,7505,2049,2065, - 10,7486,7551,147,115,101,116,58,110,116,104,0,17,2049,2863,10,7540,7569,147,115, - 101,116,58,114,101,100,117,99,101,0,1793,7573,4,10,1,7571,2049,2065,2049,7218, - 10,7555,7592,147,115,101,116,58,109,97,107,101,0,2049,7079,2049,7501,10,7580,7602, - 159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10,7597,7620,159,125, - 0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049,153,1,41,2049, - 153,1,2876,2049,147,1,305,2049,159,1,7592,2049,147,10,7615,7659,134,73,48,0, - 105,105,0,7653,7668,134,73,49,0,46,46,0,7662,7677,134,73,50,0,46,46, - 0,7671,7686,134,73,51,0,46,46,0,7680,7699,147,111,112,99,111,100,101,0, - 2049,3652,46,46,0,1,7701,1793,7711,1,0,10,1,7708,2049,2326,2049,3652,108,105, - 0,1,7717,1793,7727,1,1,10,1,7724,2049,2326,2049,3652,100,117,0,1,7733,1793, - 7743,1,2,10,1,7740,2049,2326,2049,3652,100,114,0,1,7749,1793,7759,1,3,10, - 1,7756,2049,2326,2049,3652,115,119,0,1,7765,1793,7775,1,4,10,1,7772,2049,2326, - 2049,3652,112,117,0,1,7781,1793,7791,1,5,10,1,7788,2049,2326,2049,3652,112,111, - 0,1,7797,1793,7807,1,6,10,1,7804,2049,2326,2049,3652,106,117,0,1,7813,1793, - 7823,1,7,10,1,7820,2049,2326,2049,3652,99,97,0,1,7829,1793,7839,1,8,10, - 1,7836,2049,2326,2049,3652,99,99,0,1,7845,1793,7855,1,9,10,1,7852,2049,2326, - 2049,3652,114,101,0,1,7861,1793,7871,1,10,10,1,7868,2049,2326,2049,3652,101,113, - 0,1,7877,1793,7887,1,11,10,1,7884,2049,2326,2049,3652,110,101,0,1,7893,1793, - 7903,1,12,10,1,7900,2049,2326,2049,3652,108,116,0,1,7909,1793,7919,1,13,10, - 1,7916,2049,2326,2049,3652,103,116,0,1,7925,1793,7935,1,14,10,1,7932,2049,2326, - 2049,3652,102,101,0,1,7941,1793,7951,1,15,10,1,7948,2049,2326,2049,3652,115,116, - 0,1,7957,1793,7967,1,16,10,1,7964,2049,2326,2049,3652,97,100,0,1,7973,1793, - 7983,1,17,10,1,7980,2049,2326,2049,3652,115,117,0,1,7989,1793,7999,1,18,10, - 1,7996,2049,2326,2049,3652,109,117,0,1,8005,1793,8015,1,19,10,1,8012,2049,2326, - 2049,3652,100,105,0,1,8021,1793,8031,1,20,10,1,8028,2049,2326,2049,3652,97,110, - 0,1,8037,1793,8047,1,21,10,1,8044,2049,2326,2049,3652,111,114,0,1,8053,1793, - 8063,1,22,10,1,8060,2049,2326,2049,3652,120,111,0,1,8069,1793,8079,1,23,10, - 1,8076,2049,2326,2049,3652,115,104,0,1,8085,1793,8095,1,24,10,1,8092,2049,2326, - 2049,3652,122,114,0,1,8101,1793,8111,1,25,10,1,8108,2049,2326,2049,3652,101,110, - 0,1,8117,1793,8127,1,26,10,1,8124,2049,2326,2049,3652,105,101,0,1,8133,1793, - 8143,1,27,10,1,8140,2049,2326,2049,3652,105,113,0,1,8149,1793,8159,1,28,10, - 1,8156,2049,2326,2049,3652,105,105,0,1,8165,1793,8175,1,29,10,1,8172,2049,2326, - 3,1,0,10,7689,8191,147,112,97,99,107,0,1,7659,2049,7699,1,7668,2049,7699, - 1,7677,2049,7699,1,7686,2049,7699,1,-24,24,4,1,-16,24,17,4,1,-8,24, - 17,4,17,10,7615,8228,147,105,0,2,1,7659,1,2,2049,3122,1,2,17,2, - 1,7668,1,2,2049,3122,1,2,17,2,1,7677,1,2,2049,3122,1,2,17,1, - 7686,1,2,2049,3122,2049,8191,2049,108,10,8223,8274,147,100,0,2049,108,10,8269,8282, - 147,114,0,2049,200,2049,161,15,2049,108,10,8277,8297,159,97,115,123,0,3841,127, - 1,127,2049,3029,10,8290,8311,159,125,97,115,0,4097,127,10,8304,8330,147,99,117, - 114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18,10,8314,8352,147, - 99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8358,1,32,11,10,1, - 8354,2049,4407,2049,82,10,8336,8379,147,110,101,120,116,45,116,111,107,101,110,0, - 1,32,2049,6120,10,8365,8402,147,112,114,111,99,101,115,115,45,116,111,107,101, - 110,115,0,1793,8428,2049,8379,4,1793,8421,2,2049,82,2049,2538,1,366,1,11,2049, - 67,10,1,8409,2049,2065,2049,2863,10,1,8404,2049,2252,2049,366,10,8304,8449,147,115, - 58,101,118,97,108,117,97,116,101,0,2049,8330,2049,4610,2049,8330,2,2049,8352,2049, - 8402,10,8435,8467,134,76,80,0,0,8461,8477,134,73,110,100,101,120,0,0,0, + 8,2049,1835,1793,7092,2,2049,108,1,108,2049,2252,10,1,7084,2049,2065,10,7056,7116, + 147,115,101,116,58,102,114,111,109,45,115,116,114,105,110,103,0,2049,1835,1793, + 7135,2,2049,82,2049,108,1793,7130,2049,108,10,1,7127,2049,3978,10,1,7120,2049,2065, + 10,7097,7145,134,81,0,0,7097,7162,147,115,101,116,58,102,111,114,45,101,97, + 99,104,0,1,7145,1793,7192,4097,7145,2049,59,1793,7186,2049,59,4,1793,7181,3841,7145, + 8,10,1,7177,2049,2065,10,1,7172,2049,2252,3,10,1,7166,2049,3062,10,7146,7208, + 147,115,101,116,58,100,117,112,0,2049,1835,1793,7226,2,15,2049,108,1793,7221,2049, + 108,10,1,7218,2049,7162,10,1,7212,2049,2065,10,7197,7245,147,115,101,116,58,102, + 105,108,116,101,114,0,1793,7273,67502597,1793,7252,8,10,1,7250,2049,2065,4,1793,7262, + 2049,108,10,1,7259,1793,7268,3,10,1,7266,2049,67,10,1,7247,2049,6906,2049,1835, + 1793,7288,67502597,15,2049,108,2049,7162,10,1,7281,2049,2065,2049,1835,67502597,18,2049,2876,67502597, + 16,10,7231,7306,134,70,0,0,7231,7324,147,115,101,116,58,99,111,110,116,97, + 105,110,115,63,0,1,7306,2049,3029,1793,7338,67502597,11,3841,7306,22,4097,7306,10,1, + 7330,2049,7162,3,3841,7306,10,7307,7370,147,115,101,116,58,99,111,110,116,97,105, + 110,115,45,115,116,114,105,110,103,63,0,1,7306,2049,3029,1793,7385,67502597,2049,96, + 3841,7306,22,4097,7306,10,1,7376,2049,7162,3,3841,7306,10,7346,7404,147,115,101,116, + 58,109,97,112,0,1793,7410,8,2049,108,10,1,7406,2049,6906,2049,1835,1793,7425,67502597, + 15,2049,108,2049,7162,10,1,7418,2049,2065,10,7393,7445,147,115,101,116,58,114,101, + 118,101,114,115,101,0,2049,1835,1793,7479,2049,59,1793,7457,17,2049,2876,10,1,7453, + 2049,2077,2,2049,108,1793,7473,2,15,2049,108,2049,2876,10,1,7466,2049,2252,3,10, + 1,7449,2049,2065,10,7430,7495,147,115,101,116,58,110,116,104,0,17,2049,2863,10, + 7484,7513,147,115,101,116,58,114,101,100,117,99,101,0,1793,7517,4,10,1,7515, + 2049,2065,2049,7162,10,7499,7536,147,115,101,116,58,109,97,107,101,0,2049,7079,2049, + 7445,10,7524,7546,159,123,0,1,288,2049,159,1,1556,2049,147,1,288,2049,159,10, + 7541,7564,159,125,0,1,305,2049,159,1,2065,2049,147,1,1556,2049,147,1,13,2049, + 153,1,41,2049,153,1,2876,2049,147,1,305,2049,159,1,7536,2049,147,10,7559,7603, + 134,73,48,0,105,105,0,7597,7612,134,73,49,0,46,46,0,7606,7621,134,73, + 50,0,46,46,0,7615,7630,134,73,51,0,46,46,0,7624,7643,147,111,112,99, + 111,100,101,0,2049,3652,46,46,0,1,7645,1793,7655,1,0,10,1,7652,2049,2326, + 2049,3652,108,105,0,1,7661,1793,7671,1,1,10,1,7668,2049,2326,2049,3652,100,117, + 0,1,7677,1793,7687,1,2,10,1,7684,2049,2326,2049,3652,100,114,0,1,7693,1793, + 7703,1,3,10,1,7700,2049,2326,2049,3652,115,119,0,1,7709,1793,7719,1,4,10, + 1,7716,2049,2326,2049,3652,112,117,0,1,7725,1793,7735,1,5,10,1,7732,2049,2326, + 2049,3652,112,111,0,1,7741,1793,7751,1,6,10,1,7748,2049,2326,2049,3652,106,117, + 0,1,7757,1793,7767,1,7,10,1,7764,2049,2326,2049,3652,99,97,0,1,7773,1793, + 7783,1,8,10,1,7780,2049,2326,2049,3652,99,99,0,1,7789,1793,7799,1,9,10, + 1,7796,2049,2326,2049,3652,114,101,0,1,7805,1793,7815,1,10,10,1,7812,2049,2326, + 2049,3652,101,113,0,1,7821,1793,7831,1,11,10,1,7828,2049,2326,2049,3652,110,101, + 0,1,7837,1793,7847,1,12,10,1,7844,2049,2326,2049,3652,108,116,0,1,7853,1793, + 7863,1,13,10,1,7860,2049,2326,2049,3652,103,116,0,1,7869,1793,7879,1,14,10, + 1,7876,2049,2326,2049,3652,102,101,0,1,7885,1793,7895,1,15,10,1,7892,2049,2326, + 2049,3652,115,116,0,1,7901,1793,7911,1,16,10,1,7908,2049,2326,2049,3652,97,100, + 0,1,7917,1793,7927,1,17,10,1,7924,2049,2326,2049,3652,115,117,0,1,7933,1793, + 7943,1,18,10,1,7940,2049,2326,2049,3652,109,117,0,1,7949,1793,7959,1,19,10, + 1,7956,2049,2326,2049,3652,100,105,0,1,7965,1793,7975,1,20,10,1,7972,2049,2326, + 2049,3652,97,110,0,1,7981,1793,7991,1,21,10,1,7988,2049,2326,2049,3652,111,114, + 0,1,7997,1793,8007,1,22,10,1,8004,2049,2326,2049,3652,120,111,0,1,8013,1793, + 8023,1,23,10,1,8020,2049,2326,2049,3652,115,104,0,1,8029,1793,8039,1,24,10, + 1,8036,2049,2326,2049,3652,122,114,0,1,8045,1793,8055,1,25,10,1,8052,2049,2326, + 2049,3652,101,110,0,1,8061,1793,8071,1,26,10,1,8068,2049,2326,2049,3652,105,101, + 0,1,8077,1793,8087,1,27,10,1,8084,2049,2326,2049,3652,105,113,0,1,8093,1793, + 8103,1,28,10,1,8100,2049,2326,2049,3652,105,105,0,1,8109,1793,8119,1,29,10, + 1,8116,2049,2326,3,1,0,10,7633,8135,147,112,97,99,107,0,1,7603,2049,7643, + 1,7612,2049,7643,1,7621,2049,7643,1,7630,2049,7643,1,-24,24,4,1,-16,24,17, + 4,1,-8,24,17,4,17,10,7559,8172,147,105,0,2,1,7603,1,2,2049,3122, + 1,2,17,2,1,7612,1,2,2049,3122,1,2,17,2,1,7621,1,2,2049,3122, + 1,2,17,1,7630,1,2,2049,3122,2049,8135,2049,108,10,8167,8218,147,100,0,2049, + 108,10,8213,8226,147,114,0,2049,200,2049,161,15,2049,108,10,8221,8241,159,97,115, + 123,0,3841,127,1,127,2049,3029,10,8234,8255,159,125,97,115,0,4097,127,10,8248, + 8274,147,99,117,114,114,101,110,116,45,108,105,110,101,0,2049,3523,1,1025,18, + 10,8258,8296,147,99,111,117,110,116,45,116,111,107,101,110,115,0,1793,8302,1, + 32,11,10,1,8298,2049,4407,2049,82,10,8280,8323,147,110,101,120,116,45,116,111, + 107,101,110,0,1,32,2049,6120,10,8309,8346,147,112,114,111,99,101,115,115,45, + 116,111,107,101,110,115,0,1793,8372,2049,8323,4,1793,8365,2,2049,82,2049,2538,1, + 366,1,11,2049,67,10,1,8353,2049,2065,2049,2863,10,1,8348,2049,2252,2049,366,10, + 8248,8393,147,115,58,101,118,97,108,117,97,116,101,0,2049,8274,2049,4610,2049,8274, + 2,2049,8296,2049,8346,10,8379,8411,134,76,80,0,0,8405,8421,134,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,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,8468,8613,147,110,101,120,116,0,3841,8467,1,8477,17,2049, - 2964,10,8605,8629,147,112,114,101,112,0,1,8467,2049,2964,1,0,3841,8467,1,8477, - 17,16,10,8621,8650,147,100,111,110,101,0,1,8467,2049,2979,10,8435,8660,147,73, - 0,3841,8467,1,8477,17,15,10,8655,8672,147,74,0,3841,8467,1,8477,17,2049,2876, - 15,10,8667,8686,147,75,0,3841,8467,1,8477,17,1,2,18,15,10,8681,8717,147, - 116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120,62,0,2049,8629, - 4,1793,8737,25,2049,2876,5,1,21,2049,2077,6,2049,8613,1,8722,7,10,1,8722, - 8,3,2049,8650,10,8696,8760,147,105,111,58,101,110,117,109,101,114,97,116,101, - 0,27,10,8744,8774,147,105,111,58,113,117,101,114,121,0,28,10,8762,8789,147, - 105,111,58,105,110,118,111,107,101,0,29,10,8776,8799,134,83,108,111,116,0, - 0,8776,8815,147,105,111,58,115,99,97,110,45,102,111,114,0,1,-1,4097,8799, - 2049,8760,1793,8841,2049,8660,2049,8774,772,67502597,11,1793,8837,2049,8660,4097,8799,10,1,8832, - 9,10,1,8823,2049,8717,3,3841,8799,10,8800,8858,147,99,58,112,117,116,0,1, - 0,2049,8789,10,8849,8869,147,110,108,0,1,10,2049,8858,10,8863,8880,147,115,112, - 0,1,32,2049,8858,10,8874,8892,147,116,97,98,0,1,9,2049,8858,10,8885,8906, - 147,115,58,112,117,116,0,1793,8911,2049,8858,10,1,8908,2049,3978,10,8897,8925,147, - 110,58,112,117,116,0,2049,5949,2049,8906,10,8916,8941,147,100,58,119,111,114,100, - 115,0,1793,8950,2049,165,2049,8906,2049,8880,10,1,8943,2049,6960,10,8930,8964,147,114, - 101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8966,7,10,8955,8991, - 147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3,5,2049,8991,6, - 2,2049,8925,2049,8880,10,8977,9027,147,100,105,115,112,108,97,121,45,105,102,45, - 109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,9039,2049,8906,2049,8880,10, - 1,9034,1793,9045,3,10,1,9043,2049,67,10,8977,9066,147,100,58,119,111,114,100, - 115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9077,2049,165,2049,9027,10,1,9072, - 2049,6960,10,9050,9090,147,70,82,69,69,0,2049,3523,1,1025,18,2049,1835,18,10, - 9082,9116,134,105,111,58,70,105,108,101,115,121,115,116,101,109,0,0,9099,9129, - 147,105,100,101,110,116,105,102,121,0,3841,9116,2049,2522,1793,9196,1,4,2049,8815, - 2,2049,2557,1793,9184,3,2049,3652,73,79,32,68,69,86,73,67,69,32,84,89, - 80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,78,68,0,1,9147, - 2049,8906,2049,8869,10,1,9144,1793,9191,4097,9116,10,1,9188,2049,67,10,1,9135,9, - 10,9082,9221,147,105,111,58,102,105,108,101,45,111,112,101,114,97,116,105,111, - 110,0,2049,9129,3841,9116,2049,8789,10,9200,0,134,102,105,108,101,58,82,0,9228, - 1,134,102,105,108,101,58,87,0,9238,2,134,102,105,108,101,58,65,0,9248, - 3,134,102,105,108,101,58,82,43,0,9258,9282,147,102,105,108,101,58,111,112, - 101,110,0,1,0,2049,9221,10,9269,9301,147,102,105,108,101,58,99,108,111,115, - 101,0,1,1,2049,9221,10,9287,9319,147,102,105,108,101,58,114,101,97,100,0, - 1,2,2049,9221,10,9306,9338,147,102,105,108,101,58,119,114,105,116,101,0,1, - 3,2049,9221,10,9324,9356,147,102,105,108,101,58,116,101,108,108,0,1,4,2049, - 9221,10,9343,9374,147,102,105,108,101,58,115,101,101,107,0,1,5,2049,9221,10, - 9361,9392,147,102,105,108,101,58,115,105,122,101,0,1,6,2049,9221,10,9379,9412, - 147,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049,9221,10,9397,9431, - 147,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9221,10,9417,9452,147, - 102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049,9282,2,2049,2538, - 1793,9466,2049,9301,2049,2428,10,1,9461,1793,9474,3,2049,2440,10,1,9470,2049,67,10, - 9436,9505,147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,114,101,97, - 100,105,110,103,62,0,1,0,2049,9282,2,2049,9392,4,10,9479,9539,147,102,105, - 108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,101,110,100,62,0, - 1,2,2049,9282,2,2049,9392,4,10,9514,9574,147,102,105,108,101,58,111,112,101, - 110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,1,1,2049,9282,10, - 9548,9586,134,70,73,68,0,0,9579,9595,134,83,105,122,101,0,0,9587,9606,134, - 65,99,116,105,111,110,0,0,9596,9617,134,66,117,102,102,101,114,0,0,9607, - 9627,147,45,101,111,102,63,0,3841,9586,2049,9356,3841,9595,13,10,9618,9647,147,112, - 114,101,115,101,114,118,101,0,1,9586,1793,9662,1,9595,1793,9657,8,10,1,9655, - 2049,3062,10,1,9651,2049,3062,10,9548,9685,147,102,105,108,101,58,114,101,97,100, - 45,108,105,110,101,0,4097,9586,1793,9742,2049,1835,2,4097,9617,2049,3430,1793,9734,3841, - 9586,2049,9319,2,2049,3338,1793,9711,1,13,11,10,1,9707,1793,9719,1,10,11,10, - 1,9715,1793,9727,1,0,11,10,1,9723,2049,2129,22,22,10,1,9698,2049,2223,2049, - 3362,3,10,1,9689,2049,3454,3841,9617,10,9667,9771,147,102,105,108,101,58,102,111, - 114,45,101,97,99,104,45,108,105,110,101,0,1793,9802,4097,9606,2049,9505,4097,9586, - 4097,9595,1793,9793,3841,9586,2049,9685,3841,9606,8,2049,9627,10,1,9783,2049,2197,3841,9586, - 2049,9301,10,1,9773,2049,9647,10,9749,9814,134,70,73,68,0,0,9807,9823,134,83, - 105,122,101,0,0,9749,9838,147,102,105,108,101,58,115,108,117,114,112,0,1793, - 9868,2049,9505,4097,9814,4097,9823,2049,3430,3841,9823,1793,9859,3841,9814,2049,9319,2049,3338,10, - 1,9852,2049,2252,3841,9814,2049,9301,10,1,9840,2049,3454,10,9824,9880,134,70,73,68, - 0,0,9824,9894,147,102,105,108,101,58,115,112,101,119,0,2049,9574,4097,9880,1793, - 9905,3841,9880,2049,9338,10,1,9900,2049,3978,3841,9880,2049,9301,10,9881,9927,134,105,111, - 58,71,111,112,104,101,114,0,0,9914,9940,147,105,100,101,110,116,105,102,121, - 0,3841,9927,2049,2522,1793,10007,1,5,2049,8815,2,2049,2557,1793,9995,3,2049,3652,73, - 79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,53,32,78, - 79,84,32,70,79,85,78,68,0,1,9958,2049,8906,2049,8869,10,1,9955,1793,10002, - 4097,9927,10,1,9999,2049,67,10,1,9946,9,10,9881,10025,147,103,111,112,104,101, - 114,58,103,101,116,0,2049,9940,1,0,3841,9927,2049,8789,10,10011,10054,134,105,111, - 58,70,108,111,97,116,105,110,103,80,111,105,110,116,0,0,10034,10067,147,105, - 100,101,110,116,105,102,121,0,3841,10054,2049,2522,1793,10134,1,2,2049,8815,2,2049, - 2557,1793,10122,3,2049,3652,73,79,32,68,69,86,73,67,69,32,84,89,80,69, - 32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0,1,10085,2049,8906, - 2049,8869,10,1,10082,1793,10129,4097,10054,10,1,10126,2049,67,10,1,10073,9,10,10011, - 10160,147,105,111,58,102,108,111,97,116,45,111,112,101,114,97,116,105,111,110, - 0,2049,10067,3841,10054,2049,8789,10,10138,10181,147,110,58,116,111,45,102,108,111,97, - 116,0,1,0,2049,10160,10,10167,10200,147,115,58,116,111,45,102,108,111,97,116, - 0,1,1,2049,10160,10,10186,10220,147,102,58,116,111,45,110,117,109,98,101,114, - 0,1,2,2049,10160,10,10205,10240,147,102,58,116,111,45,115,116,114,105,110,103, - 0,2049,3633,2,1,3,2049,10160,10,10225,10255,147,102,58,43,0,1,4,2049,10160, - 10,10248,10267,147,102,58,45,0,1,5,2049,10160,10,10260,10279,147,102,58,42,0, - 1,6,2049,10160,10,10272,10291,147,102,58,47,0,1,7,2049,10160,10,10284,10307,147, - 102,58,102,108,111,111,114,0,1,8,2049,10160,10,10296,10325,147,102,58,99,101, - 105,108,105,110,103,0,1,9,2049,10160,10,10312,10340,147,102,58,115,113,114,116, - 0,1,10,2049,10160,10,10330,10354,147,102,58,101,113,63,0,1,11,2049,10160,10, - 10345,10369,147,102,58,45,101,113,63,0,1,12,2049,10160,10,10359,10383,147,102,58, - 108,116,63,0,1,13,2049,10160,10,10374,10397,147,102,58,103,116,63,0,1,14, - 2049,10160,10,10388,10413,147,102,58,100,101,112,116,104,0,1,15,2049,10160,10,10402, - 10427,147,102,58,100,117,112,0,1,16,2049,10160,10,10418,10442,147,102,58,100,114, - 111,112,0,1,17,2049,10160,10,10432,10457,147,102,58,115,119,97,112,0,1,18, - 2049,10160,10,10447,10471,147,102,58,108,111,103,0,1,19,2049,10160,10,10462,10487,147, - 102,58,112,111,119,101,114,0,1,20,2049,10160,10,10476,10501,147,102,58,115,105, - 110,0,1,21,2049,10160,10,10492,10515,147,102,58,99,111,115,0,1,22,2049,10160, - 10,10506,10529,147,102,58,116,97,110,0,1,23,2049,10160,10,10520,10544,147,102,58, - 97,115,105,110,0,1,24,2049,10160,10,10534,10559,147,102,58,97,99,111,115,0, - 1,25,2049,10160,10,10549,10574,147,102,58,97,116,97,110,0,1,26,2049,10160,10, - 10564,10591,147,102,58,115,113,117,97,114,101,0,2049,10427,2049,10279,10,10579,10606,147, - 102,58,111,118,101,114,0,2049,10240,2049,10427,2049,10200,2049,10457,10,10596,10625,147,102, - 58,116,117,99,107,0,2049,10457,2049,10606,10,10615,10645,147,102,58,112,111,115,105, - 116,105,118,101,63,0,1,0,2049,10181,2049,10397,10,10630,10667,147,102,58,110,101, - 103,97,116,105,118,101,63,0,1,0,2049,10181,2049,10383,10,10652,10686,147,102,58, - 110,101,103,97,116,101,0,1,-1,2049,10181,2049,10279,10,10674,10702,147,102,58,97, - 98,115,0,2049,10427,2049,10667,1793,10711,2049,10686,10,1,10708,9,10,10693,10727,159,112, - 114,101,102,105,120,58,46,0,2049,1806,1793,10734,2049,3678,10,1,10731,1793,10741,2049, - 3607,10,1,10738,2049,67,1,10200,2049,147,10,10715,10759,147,102,58,112,117,116,0, - 2049,10240,2049,8906,10,10750,10772,147,102,58,80,73,0,2049,3652,51,46,49,52,49, - 53,57,50,0,1,10774,2049,10200,10,10764,10795,147,102,58,69,0,2049,3652,50,46, - 55,49,56,50,56,49,0,1,10797,2049,10200,10,10788,10820,147,102,58,78,65,78, - 0,2049,3652,48,0,1,10822,2049,10200,2049,3652,48,0,1,10830,2049,10200,2049,10291,10, - 10811,10848,147,102,58,73,78,70,0,2049,3652,49,46,48,0,1,10850,2049,10200,2049, - 3652,48,0,1,10860,2049,10200,2049,10291,10,10839,10879,147,102,58,45,73,78,70,0, - 2049,3652,45,49,46,48,0,1,10881,2049,10200,2049,3652,48,0,1,10892,2049,10200,2049, - 10291,10,10869,10911,147,102,58,110,97,110,63,0,2049,10427,2049,10369,10,10901,10926,147, - 102,58,105,110,102,63,0,2049,10848,2049,10354,10,10916,10942,147,102,58,45,105,110, - 102,63,0,2049,10879,2049,10354,10,10931,10958,147,102,58,114,111,117,110,100,0,2049, - 10427,2049,10667,1793,10979,2049,3652,48,46,53,0,1,10966,2049,10200,2049,10267,2049,10325,10, - 1,10964,1793,10998,2049,3652,48,46,53,0,1,10985,2049,10200,2049,10255,2049,10307,10,1, - 10983,2049,67,10,10947,2147483646,134,117,58,77,65,88,0,11003,-2147483646,134,117,58,77,73, - 78,0,11012,-2147483648,134,117,58,78,65,78,0,11021,2147483647,134,117,58,73,78,70,0, - 11030,-2147483647,134,117,58,45,73,78,70,0,11039,11057,147,117,58,110,63,0,1,-2147483646, - 2049,2863,1,2147483646,2049,2876,2049,2894,10,11049,11078,147,117,58,109,97,120,63,0,1, - 2147483646,11,10,11068,11092,147,117,58,109,105,110,63,0,1,-2147483646,11,10,11082,11107,147, - 117,58,122,101,114,111,63,0,2049,2522,10,11096,11120,147,117,58,110,97,110,63, - 0,1,-2147483648,11,10,11110,11134,147,117,58,105,110,102,63,0,1,2147483647,11,10,11124, - 11149,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,11138,11163,147,117,58,99, - 108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,11153,11175,147,115,0,2049,3652,49,48, - 46,48,101,45,52,0,1,11177,2049,10200,10,11170,11202,147,102,58,101,110,99,111, - 100,101,0,2049,3652,48,46,53,0,1,11204,2049,10200,2049,10487,2049,11175,2049,3652,45, - 49,46,48,0,1,11218,2049,10200,2049,10487,2049,10279,10,11190,11244,147,102,58,100,101, - 99,111,100,101,0,2049,10591,2049,11175,2049,10591,2049,10279,10,11153,11263,147,102,58,116, - 111,45,117,0,2049,10427,2049,11202,2049,10958,2049,10220,2049,11163,2049,10427,2049,10911,1793,11283, - 3,1,-2147483648,10,1,11279,9,2049,10427,2049,10926,1793,11296,3,1,2147483647,10,1,11292,9, - 2049,10427,2049,10942,1793,11309,3,1,-2147483647,10,1,11305,9,2049,10442,10,11253,11325,147,117, - 58,116,111,45,102,0,2049,10181,2049,11244,10,11315,11340,147,117,58,116,111,45,102, - 0,2,2049,10181,2049,11244,2,2049,11120,1793,11355,2049,10442,2049,10820,10,1,11350,9,2, - 2049,11134,1793,11368,2049,10442,2049,10848,10,1,11363,9,2,2049,11149,1793,11381,2049,10442,2049, - 10879,10,1,11376,9,3,10,11330,11397,147,102,58,115,116,111,114,101,0,1793,11402, - 2049,11263,10,1,11399,2049,2065,16,10,11386,11419,147,102,58,102,101,116,99,104,0, - 15,2049,11340,10,11408,11441,134,105,111,58,85,110,105,120,83,121,115,99,97,108, - 108,0,0,11423,11454,147,105,100,101,110,116,105,102,121,0,3841,11441,2049,2522,1793, - 11521,1,8,2049,8815,2,2049,2557,1793,11509,3,2049,3652,73,79,32,68,69,86,73, - 67,69,32,84,89,80,69,32,48,48,48,56,32,78,79,84,32,70,79,85, - 78,68,0,1,11472,2049,8906,2049,8869,10,1,11469,1793,11516,4097,11441,10,1,11513,2049, - 67,10,1,11460,9,10,11408,11544,147,105,111,58,117,110,105,120,45,115,121,115, - 99,97,108,108,0,2049,11454,3841,11441,2049,8789,10,11525,11566,147,117,110,105,120,58, - 115,121,115,116,101,109,0,1,0,2049,11544,10,11551,11584,147,117,110,105,120,58, - 102,111,114,107,0,1,1,2049,11544,10,11571,11603,147,117,110,105,120,58,101,120, - 101,99,48,0,1,2,2049,11544,10,11589,11622,147,117,110,105,120,58,101,120,101, - 99,49,0,1,3,2049,11544,10,11608,11641,147,117,110,105,120,58,101,120,101,99, - 50,0,1,4,2049,11544,10,11627,11660,147,117,110,105,120,58,101,120,101,99,51, - 0,1,5,2049,11544,10,11646,11678,147,117,110,105,120,58,101,120,105,116,0,1, - 6,2049,11544,10,11665,11698,147,117,110,105,120,58,103,101,116,112,105,100,0,1, - 7,2049,11544,10,11683,11716,147,117,110,105,120,58,119,97,105,116,0,1,8,2049, - 11544,10,11703,11734,147,117,110,105,120,58,107,105,108,108,0,1,9,2049,11544,10, - 11721,11753,147,117,110,105,120,58,112,111,112,101,110,0,1,10,2049,11544,10,11739, - 11773,147,117,110,105,120,58,112,99,108,111,115,101,0,1,11,2049,11544,10,11758, - 11792,147,117,110,105,120,58,119,114,105,116,101,0,1793,11798,2,2049,82,10,1, - 11794,2049,2065,1,12,2049,11544,10,11778,11821,147,117,110,105,120,58,99,104,100,105, - 114,0,1,13,2049,11544,10,11807,11841,147,117,110,105,120,58,103,101,116,101,110, - 118,0,1,14,2049,11544,10,11826,11861,147,117,110,105,120,58,112,117,116,101,110, - 118,0,1,15,2049,11544,10,11846,11880,147,117,110,105,120,58,115,108,101,101,112, - 0,1,16,2049,11544,10,11866,11902,147,117,110,105,120,58,105,111,58,110,58,112, - 117,116,0,1,17,2049,11544,10,11885,11924,147,117,110,105,120,58,105,111,58,115, - 58,112,117,116,0,1,18,2049,11544,10,11907,11944,134,105,111,58,75,101,121,98, - 111,97,114,100,0,0,11929,11957,147,105,100,101,110,116,105,102,121,0,3841,11944, - 2049,2522,1793,12024,1,1,2049,8815,2,2049,2557,1793,12012,3,2049,3652,73,79,32,68, - 69,86,73,67,69,32,84,89,80,69,32,48,48,48,49,32,78,79,84,32, - 70,79,85,78,68,0,1,11975,2049,8906,2049,8869,10,1,11972,1793,12019,4097,11944,10, - 1,12016,2049,67,10,1,11963,9,10,11907,12037,147,99,58,103,101,116,0,2049,11957, - 3841,11944,2049,8789,10,12028,12060,134,105,111,58,83,99,114,105,112,116,105,110,103, - 0,0,12044,12073,147,105,100,101,110,116,105,102,121,0,3841,12060,2049,2522,1793,12140, - 1,9,2049,8815,2,2049,2557,1793,12128,3,2049,3652,73,79,32,68,69,86,73,67, - 69,32,84,89,80,69,32,48,48,48,57,32,78,79,84,32,70,79,85,78, - 68,0,1,12091,2049,8906,2049,8869,10,1,12088,1793,12135,4097,12060,10,1,12132,2049,67, - 10,1,12079,9,10,12028,12156,147,115,121,115,58,97,114,103,99,0,2049,12073,1, - 0,3841,12060,2049,8789,10,12144,12177,147,115,121,115,58,97,114,103,118,0,2049,3633, - 4,2049,12073,1,1,3841,12060,2049,8789,10,12165,12200,147,105,110,99,108,117,100,101, - 0,2049,12073,1,2,3841,12060,2049,8789,10,12189,12219,134,78,111,69,99,104,111,0, - 0,12209,12231,147,118,101,114,115,105,111,110,0,3841,4,1,100,20,2049,8925,1, - 46,2049,8858,2049,8925,10,12220,12253,147,101,111,108,63,0,1793,12259,1,13,11,10, - 1,12255,1793,12267,1,10,11,10,1,12263,1793,12275,1,32,11,10,1,12271,2049,2129, - 22,22,10,12245,12292,147,118,97,108,105,100,63,0,2,2049,82,2049,2538,10,12282, - 12304,147,111,107,0,3841,12219,2049,2675,25,3,2049,1806,1793,12327,2049,8869,2049,3652,79, - 107,32,0,1,12318,2049,8906,10,1,12314,2049,73,10,12298,12345,147,99,104,101,99, - 107,45,101,111,102,0,2,1793,12352,1,-1,11,10,1,12348,1793,12360,1,4,11, - 10,1,12356,2049,2092,22,1793,12382,2049,3652,98,121,101,0,1,12369,2049,200,2049,161, - 15,8,10,1,12367,9,10,12332,12398,147,99,104,101,99,107,45,98,115,0,2, - 1793,12405,1,8,11,10,1,12401,1793,12413,1,127,11,10,1,12409,2049,2092,22,1793, - 12426,2049,3362,2049,3362,771,10,1,12420,9,10,12386,12439,147,115,58,103,101,116,0, - 1793,12468,1,1025,2049,3430,1793,12459,2049,12037,2,2049,3338,2049,12345,2049,12398,2049,12253,10, - 1,12447,2049,2223,2049,3304,2049,3745,10,1,12441,2049,3454,10,12209,12483,147,98,97,110, - 110,101,114,0,3841,12219,2049,2675,25,3,2049,3652,82,69,84,82,79,32,49,50, - 32,40,114,120,45,0,1,12491,2049,8906,2049,12231,1,41,2049,8858,2049,8869,2049,1543, - 2049,8925,2049,3652,32,77,65,88,44,32,84,73,66,32,64,32,49,48,50,53, - 44,32,72,101,97,112,32,64,32,0,1,12523,2049,8906,2049,1835,2049,8925,2049,8869, - 10,12473,12567,147,98,121,101,0,1,0,2049,11678,10,12560,12582,147,108,105,115,116, - 101,110,0,2049,12304,2049,12439,2049,12292,1793,12595,2049,366,2049,12304,10,1,12590,1793,12601, - 3,10,1,12599,2049,67,1,12584,7,10,12572,12619,147,103,97,116,104,101,114,0, - 2,1793,12626,1,8,11,10,1,12622,1793,12634,1,127,11,10,1,12630,2049,2092,22, - 1793,12643,3,10,1,12641,1793,12650,2049,3338,10,1,12647,2049,67,10,12609,12664,147,99, - 121,99,108,101,0,2049,12037,2049,2055,4,8,2049,2675,25,3,2049,12619,1,12664,7, - 10,12572,12695,147,112,97,114,115,101,45,117,110,116,105,108,0,1793,12707,2049,3633, - 2049,3430,2049,12664,771,2049,3304,10,1,12697,2049,3454,10,12680,12721,147,115,58,103,101, - 116,0,1793,12743,1793,12729,1,10,11,10,1,12725,1793,12737,1,13,11,10,1,12733, - 2049,2092,22,10,1,12723,2049,12695,10,0 }; + 0,0,0,0,0,0,0,0,0,0,8412,8557,147,110,101,120,116,0,3841,8411, + 1,8421,17,2049,2964,10,8549,8573,147,112,114,101,112,0,1,8411,2049,2964,1,0, + 3841,8411,1,8421,17,16,10,8565,8594,147,100,111,110,101,0,1,8411,2049,2979,10, + 8379,8604,147,73,0,3841,8411,1,8421,17,15,10,8599,8616,147,74,0,3841,8411,1, + 8421,17,2049,2876,15,10,8611,8630,147,75,0,3841,8411,1,8421,17,1,2,18,15, + 10,8625,8661,147,116,105,109,101,115,60,119,105,116,104,45,105,110,100,101,120, + 62,0,2049,8573,4,1793,8681,25,2049,2876,5,1,21,2049,2077,6,2049,8557,1,8666, + 7,10,1,8666,8,3,2049,8594,10,8640,8704,147,105,111,58,101,110,117,109,101, + 114,97,116,101,0,27,10,8688,8718,147,105,111,58,113,117,101,114,121,0,28, + 10,8706,8733,147,105,111,58,105,110,118,111,107,101,0,29,10,8720,8743,134,83, + 108,111,116,0,0,8720,8759,147,105,111,58,115,99,97,110,45,102,111,114,0, + 1,-1,4097,8743,2049,8704,1793,8785,2049,8604,2049,8718,772,67502597,11,1793,8781,2049,8604,4097, + 8743,10,1,8776,9,10,1,8767,2049,8661,3,3841,8743,10,8744,8802,147,99,58,112, + 117,116,0,1,0,2049,8733,10,8793,8813,147,110,108,0,1,10,2049,8802,10,8807, + 8824,147,115,112,0,1,32,2049,8802,10,8818,8836,147,116,97,98,0,1,9,2049, + 8802,10,8829,8850,147,115,58,112,117,116,0,1793,8855,2049,8802,10,1,8852,2049,3978, + 10,8841,8869,147,110,58,112,117,116,0,2049,5949,2049,8850,10,8860,8885,147,100,58, + 119,111,114,100,115,0,1793,8894,2049,165,2049,8850,2049,8824,10,1,8887,2049,6960,10, + 8874,8908,147,114,101,115,101,116,0,2049,1556,25,5,3,6,1,1,18,1,8910, + 7,10,8899,8935,147,100,117,109,112,45,115,116,97,99,107,0,2049,1556,25,3, + 5,2049,8935,6,2,2049,8869,2049,8824,10,8921,8971,147,100,105,115,112,108,97,121, + 45,105,102,45,109,97,116,99,104,101,100,0,2,2049,1835,2049,4278,1793,8983,2049, + 8850,2049,8824,10,1,8978,1793,8989,3,10,1,8987,2049,67,10,8921,9010,147,100,58, + 119,111,114,100,115,45,119,105,116,104,0,2049,1835,2049,4610,1793,9021,2049,165,2049, + 8971,10,1,9016,2049,6960,10,8994,9034,147,70,82,69,69,0,2049,3523,1,1025,18, + 2049,1835,18,10,9026,9060,134,105,111,58,70,105,108,101,115,121,115,116,101,109, + 0,0,9043,9073,147,105,100,101,110,116,105,102,121,0,3841,9060,2049,2522,1793,9140, + 1,4,2049,8759,2,2049,2557,1793,9128,3,2049,3652,73,79,32,68,69,86,73,67, + 69,32,84,89,80,69,32,48,48,48,52,32,78,79,84,32,70,79,85,78, + 68,0,1,9091,2049,8850,2049,8813,10,1,9088,1793,9135,4097,9060,10,1,9132,2049,67, + 10,1,9079,9,10,9026,9165,147,105,111,58,102,105,108,101,45,111,112,101,114, + 97,116,105,111,110,0,2049,9073,3841,9060,2049,8733,10,9144,0,134,102,105,108,101, + 58,82,0,9172,1,134,102,105,108,101,58,87,0,9182,2,134,102,105,108,101, + 58,65,0,9192,3,134,102,105,108,101,58,82,43,0,9202,9226,147,102,105,108, + 101,58,111,112,101,110,0,1,0,2049,9165,10,9213,9245,147,102,105,108,101,58, + 99,108,111,115,101,0,1,1,2049,9165,10,9231,9263,147,102,105,108,101,58,114, + 101,97,100,0,1,2,2049,9165,10,9250,9282,147,102,105,108,101,58,119,114,105, + 116,101,0,1,3,2049,9165,10,9268,9300,147,102,105,108,101,58,116,101,108,108, + 0,1,4,2049,9165,10,9287,9318,147,102,105,108,101,58,115,101,101,107,0,1, + 5,2049,9165,10,9305,9336,147,102,105,108,101,58,115,105,122,101,0,1,6,2049, + 9165,10,9323,9356,147,102,105,108,101,58,100,101,108,101,116,101,0,1,7,2049, + 9165,10,9341,9375,147,102,105,108,101,58,102,108,117,115,104,0,1,8,2049,9165, + 10,9361,9396,147,102,105,108,101,58,101,120,105,115,116,115,63,0,1,0,2049, + 9226,2,2049,2538,1793,9410,2049,9245,2049,2428,10,1,9405,1793,9418,3,2049,2440,10,1, + 9414,2049,67,10,9380,9449,147,102,105,108,101,58,111,112,101,110,60,102,111,114, + 45,114,101,97,100,105,110,103,62,0,1,0,2049,9226,2,2049,9336,4,10,9423, + 9483,147,102,105,108,101,58,111,112,101,110,60,102,111,114,45,97,112,112,101, + 110,100,62,0,1,2,2049,9226,2,2049,9336,4,10,9458,9518,147,102,105,108,101, + 58,111,112,101,110,60,102,111,114,45,119,114,105,116,105,110,103,62,0,1, + 1,2049,9226,10,9492,9530,134,70,73,68,0,0,9523,9539,134,83,105,122,101,0, + 0,9531,9550,134,65,99,116,105,111,110,0,0,9540,9561,134,66,117,102,102,101, + 114,0,0,9551,9571,147,45,101,111,102,63,0,3841,9530,2049,9300,3841,9539,13,10, + 9562,9591,147,112,114,101,115,101,114,118,101,0,1,9530,1793,9606,1,9539,1793,9601, + 8,10,1,9599,2049,3062,10,1,9595,2049,3062,10,9492,9629,147,102,105,108,101,58, + 114,101,97,100,45,108,105,110,101,0,4097,9530,1793,9686,2049,1835,2,4097,9561,2049, + 3430,1793,9678,3841,9530,2049,9263,2,2049,3338,1793,9655,1,13,11,10,1,9651,1793,9663, + 1,10,11,10,1,9659,1793,9671,1,0,11,10,1,9667,2049,2129,22,22,10,1, + 9642,2049,2223,2049,3362,3,10,1,9633,2049,3454,3841,9561,10,9611,9715,147,102,105,108, + 101,58,102,111,114,45,101,97,99,104,45,108,105,110,101,0,1793,9746,4097,9550, + 2049,9449,4097,9530,4097,9539,1793,9737,3841,9530,2049,9629,3841,9550,8,2049,9571,10,1,9727, + 2049,2197,3841,9530,2049,9245,10,1,9717,2049,9591,10,9693,9758,134,70,73,68,0,0, + 9751,9767,134,83,105,122,101,0,0,9693,9782,147,102,105,108,101,58,115,108,117, + 114,112,0,1793,9812,2049,9449,4097,9758,4097,9767,2049,3430,3841,9767,1793,9803,3841,9758,2049, + 9263,2049,3338,10,1,9796,2049,2252,3841,9758,2049,9245,10,1,9784,2049,3454,10,9768,9824, + 134,70,73,68,0,0,9768,9838,147,102,105,108,101,58,115,112,101,119,0,2049, + 9518,4097,9824,1793,9849,3841,9824,2049,9282,10,1,9844,2049,3978,3841,9824,2049,9245,10,9825, + 9871,134,105,111,58,71,111,112,104,101,114,0,0,9858,9884,147,105,100,101,110, + 116,105,102,121,0,3841,9871,2049,2522,1793,9951,1,5,2049,8759,2,2049,2557,1793,9939, + 3,2049,3652,73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48, + 48,53,32,78,79,84,32,70,79,85,78,68,0,1,9902,2049,8850,2049,8813,10, + 1,9899,1793,9946,4097,9871,10,1,9943,2049,67,10,1,9890,9,10,9825,9969,147,103, + 111,112,104,101,114,58,103,101,116,0,2049,9884,1,0,3841,9871,2049,8733,10,9955, + 9998,134,105,111,58,70,108,111,97,116,105,110,103,80,111,105,110,116,0,0, + 9978,10011,147,105,100,101,110,116,105,102,121,0,3841,9998,2049,2522,1793,10078,1,2, + 2049,8759,2,2049,2557,1793,10066,3,2049,3652,73,79,32,68,69,86,73,67,69,32, + 84,89,80,69,32,48,48,48,50,32,78,79,84,32,70,79,85,78,68,0, + 1,10029,2049,8850,2049,8813,10,1,10026,1793,10073,4097,9998,10,1,10070,2049,67,10,1, + 10017,9,10,9955,10104,147,105,111,58,102,108,111,97,116,45,111,112,101,114,97, + 116,105,111,110,0,2049,10011,3841,9998,2049,8733,10,10082,10125,147,110,58,116,111,45, + 102,108,111,97,116,0,1,0,2049,10104,10,10111,10144,147,115,58,116,111,45,102, + 108,111,97,116,0,1,1,2049,10104,10,10130,10164,147,102,58,116,111,45,110,117, + 109,98,101,114,0,1,2,2049,10104,10,10149,10184,147,102,58,116,111,45,115,116, + 114,105,110,103,0,2049,3633,2,1,3,2049,10104,10,10169,10199,147,102,58,43,0, + 1,4,2049,10104,10,10192,10211,147,102,58,45,0,1,5,2049,10104,10,10204,10223,147, + 102,58,42,0,1,6,2049,10104,10,10216,10235,147,102,58,47,0,1,7,2049,10104, + 10,10228,10251,147,102,58,102,108,111,111,114,0,1,8,2049,10104,10,10240,10269,147, + 102,58,99,101,105,108,105,110,103,0,1,9,2049,10104,10,10256,10284,147,102,58, + 115,113,114,116,0,1,10,2049,10104,10,10274,10298,147,102,58,101,113,63,0,1, + 11,2049,10104,10,10289,10313,147,102,58,45,101,113,63,0,1,12,2049,10104,10,10303, + 10327,147,102,58,108,116,63,0,1,13,2049,10104,10,10318,10341,147,102,58,103,116, + 63,0,1,14,2049,10104,10,10332,10357,147,102,58,100,101,112,116,104,0,1,15, + 2049,10104,10,10346,10371,147,102,58,100,117,112,0,1,16,2049,10104,10,10362,10386,147, + 102,58,100,114,111,112,0,1,17,2049,10104,10,10376,10401,147,102,58,115,119,97, + 112,0,1,18,2049,10104,10,10391,10415,147,102,58,108,111,103,0,1,19,2049,10104, + 10,10406,10431,147,102,58,112,111,119,101,114,0,1,20,2049,10104,10,10420,10445,147, + 102,58,115,105,110,0,1,21,2049,10104,10,10436,10459,147,102,58,99,111,115,0, + 1,22,2049,10104,10,10450,10473,147,102,58,116,97,110,0,1,23,2049,10104,10,10464, + 10488,147,102,58,97,115,105,110,0,1,24,2049,10104,10,10478,10503,147,102,58,97, + 99,111,115,0,1,25,2049,10104,10,10493,10518,147,102,58,97,116,97,110,0,1, + 26,2049,10104,10,10508,10535,147,102,58,115,113,117,97,114,101,0,2049,10371,2049,10223, + 10,10523,10550,147,102,58,111,118,101,114,0,2049,10184,2049,10371,2049,10144,2049,10401,10, + 10540,10569,147,102,58,116,117,99,107,0,2049,10401,2049,10550,10,10559,10589,147,102,58, + 112,111,115,105,116,105,118,101,63,0,1,0,2049,10125,2049,10341,10,10574,10611,147, + 102,58,110,101,103,97,116,105,118,101,63,0,1,0,2049,10125,2049,10327,10,10596, + 10630,147,102,58,110,101,103,97,116,101,0,1,-1,2049,10125,2049,10223,10,10618,10646, + 147,102,58,97,98,115,0,2049,10371,2049,10611,1793,10655,2049,10630,10,1,10652,9,10, + 10637,10671,159,112,114,101,102,105,120,58,46,0,2049,1806,1793,10678,2049,3678,10,1, + 10675,1793,10685,2049,3607,10,1,10682,2049,67,1,10144,2049,147,10,10659,10703,147,102,58, + 112,117,116,0,2049,10184,2049,8850,10,10694,10716,147,102,58,80,73,0,2049,3652,51, + 46,49,52,49,53,57,50,0,1,10718,2049,10144,10,10708,10739,147,102,58,69,0, + 2049,3652,50,46,55,49,56,50,56,49,0,1,10741,2049,10144,10,10732,10764,147,102, + 58,78,65,78,0,2049,3652,48,0,1,10766,2049,10144,2049,3652,48,0,1,10774,2049, + 10144,2049,10235,10,10755,10792,147,102,58,73,78,70,0,2049,3652,49,46,48,0,1, + 10794,2049,10144,2049,3652,48,0,1,10804,2049,10144,2049,10235,10,10783,10823,147,102,58,45, + 73,78,70,0,2049,3652,45,49,46,48,0,1,10825,2049,10144,2049,3652,48,0,1, + 10836,2049,10144,2049,10235,10,10813,10855,147,102,58,110,97,110,63,0,2049,10371,2049,10313, + 10,10845,10870,147,102,58,105,110,102,63,0,2049,10792,2049,10298,10,10860,10886,147,102, + 58,45,105,110,102,63,0,2049,10823,2049,10298,10,10875,10902,147,102,58,114,111,117, + 110,100,0,2049,10371,2049,10611,1793,10923,2049,3652,48,46,53,0,1,10910,2049,10144,2049, + 10211,2049,10269,10,1,10908,1793,10942,2049,3652,48,46,53,0,1,10929,2049,10144,2049,10199, + 2049,10251,10,1,10927,2049,67,10,10891,2147483646,134,117,58,77,65,88,0,10947,-2147483646,134, + 117,58,77,73,78,0,10956,-2147483648,134,117,58,78,65,78,0,10965,2147483647,134,117,58, + 73,78,70,0,10974,-2147483647,134,117,58,45,73,78,70,0,10983,11001,147,117,58,110, + 63,0,1,-2147483646,2049,2863,1,2147483646,2049,2876,2049,2894,10,10993,11022,147,117,58,109,97, + 120,63,0,1,2147483646,11,10,11012,11036,147,117,58,109,105,110,63,0,1,-2147483646,11, + 10,11026,11051,147,117,58,122,101,114,111,63,0,2049,2522,10,11040,11064,147,117,58, + 110,97,110,63,0,1,-2147483648,11,10,11054,11078,147,117,58,105,110,102,63,0,1, + 2147483647,11,10,11068,11093,147,117,58,45,105,110,102,63,0,1,-2147483647,11,10,11082,11107, + 147,117,58,99,108,105,112,0,1,-2147483646,1,2147483646,2049,2846,10,11097,11119,147,115,0, + 2049,3652,49,48,46,48,101,45,52,0,1,11121,2049,10144,10,11114,11146,147,102,58, + 101,110,99,111,100,101,0,2049,3652,48,46,53,0,1,11148,2049,10144,2049,10431,2049, + 11119,2049,3652,45,49,46,48,0,1,11162,2049,10144,2049,10431,2049,10223,10,11134,11188,147, + 102,58,100,101,99,111,100,101,0,2049,10535,2049,11119,2049,10535,2049,10223,10,11097,11207, + 147,102,58,116,111,45,117,0,2049,10371,2049,11146,2049,10902,2049,10164,2049,11107,2049,10371, + 2049,10855,1793,11227,3,1,-2147483648,10,1,11223,9,2049,10371,2049,10870,1793,11240,3,1,2147483647, + 10,1,11236,9,2049,10371,2049,10886,1793,11253,3,1,-2147483647,10,1,11249,9,2049,10386,10, + 11197,11269,147,117,58,116,111,45,102,0,2049,10125,2049,11188,10,11259,11284,147,117,58, + 116,111,45,102,0,2,2049,10125,2049,11188,2,2049,11064,1793,11299,2049,10386,2049,10764,10, + 1,11294,9,2,2049,11078,1793,11312,2049,10386,2049,10792,10,1,11307,9,2,2049,11093,1793, + 11325,2049,10386,2049,10823,10,1,11320,9,3,10,11274,11341,147,102,58,115,116,111,114, + 101,0,1793,11346,2049,11207,10,1,11343,2049,2065,16,10,11330,11363,147,102,58,102,101, + 116,99,104,0,15,2049,11284,10,11352,11385,134,105,111,58,85,110,105,120,83,121, + 115,99,97,108,108,0,0,11367,11398,147,105,100,101,110,116,105,102,121,0,3841, + 11385,2049,2522,1793,11465,1,8,2049,8759,2,2049,2557,1793,11453,3,2049,3652,73,79,32, + 68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,56,32,78,79,84, + 32,70,79,85,78,68,0,1,11416,2049,8850,2049,8813,10,1,11413,1793,11460,4097,11385, + 10,1,11457,2049,67,10,1,11404,9,10,11352,11488,147,105,111,58,117,110,105,120, + 45,115,121,115,99,97,108,108,0,2049,11398,3841,11385,2049,8733,10,11469,11510,147,117, + 110,105,120,58,115,121,115,116,101,109,0,1,0,2049,11488,10,11495,11528,147,117, + 110,105,120,58,102,111,114,107,0,1,1,2049,11488,10,11515,11547,147,117,110,105, + 120,58,101,120,101,99,48,0,1,2,2049,11488,10,11533,11566,147,117,110,105,120, + 58,101,120,101,99,49,0,1,3,2049,11488,10,11552,11585,147,117,110,105,120,58, + 101,120,101,99,50,0,1,4,2049,11488,10,11571,11604,147,117,110,105,120,58,101, + 120,101,99,51,0,1,5,2049,11488,10,11590,11622,147,117,110,105,120,58,101,120, + 105,116,0,1,6,2049,11488,10,11609,11642,147,117,110,105,120,58,103,101,116,112, + 105,100,0,1,7,2049,11488,10,11627,11660,147,117,110,105,120,58,119,97,105,116, + 0,1,8,2049,11488,10,11647,11678,147,117,110,105,120,58,107,105,108,108,0,1, + 9,2049,11488,10,11665,11697,147,117,110,105,120,58,112,111,112,101,110,0,1,10, + 2049,11488,10,11683,11717,147,117,110,105,120,58,112,99,108,111,115,101,0,1,11, + 2049,11488,10,11702,11736,147,117,110,105,120,58,119,114,105,116,101,0,1793,11742,2, + 2049,82,10,1,11738,2049,2065,1,12,2049,11488,10,11722,11765,147,117,110,105,120,58, + 99,104,100,105,114,0,1,13,2049,11488,10,11751,11785,147,117,110,105,120,58,103, + 101,116,101,110,118,0,1,14,2049,11488,10,11770,11805,147,117,110,105,120,58,112, + 117,116,101,110,118,0,1,15,2049,11488,10,11790,11824,147,117,110,105,120,58,115, + 108,101,101,112,0,1,16,2049,11488,10,11810,11846,147,117,110,105,120,58,105,111, + 58,110,58,112,117,116,0,1,17,2049,11488,10,11829,11868,147,117,110,105,120,58, + 105,111,58,115,58,112,117,116,0,1,18,2049,11488,10,11851,11888,134,105,111,58, + 75,101,121,98,111,97,114,100,0,0,11873,11901,147,105,100,101,110,116,105,102, + 121,0,3841,11888,2049,2522,1793,11968,1,1,2049,8759,2,2049,2557,1793,11956,3,2049,3652, + 73,79,32,68,69,86,73,67,69,32,84,89,80,69,32,48,48,48,49,32, + 78,79,84,32,70,79,85,78,68,0,1,11919,2049,8850,2049,8813,10,1,11916,1793, + 11963,4097,11888,10,1,11960,2049,67,10,1,11907,9,10,11851,11981,147,99,58,103,101, + 116,0,2049,11901,3841,11888,2049,8733,10,11972,12004,134,105,111,58,83,99,114,105,112, + 116,105,110,103,0,0,11988,12017,147,105,100,101,110,116,105,102,121,0,3841,12004, + 2049,2522,1793,12084,1,9,2049,8759,2,2049,2557,1793,12072,3,2049,3652,73,79,32,68, + 69,86,73,67,69,32,84,89,80,69,32,48,48,48,57,32,78,79,84,32, + 70,79,85,78,68,0,1,12035,2049,8850,2049,8813,10,1,12032,1793,12079,4097,12004,10, + 1,12076,2049,67,10,1,12023,9,10,11972,12100,147,115,121,115,58,97,114,103,99, + 0,2049,12017,1,0,3841,12004,2049,8733,10,12088,12121,147,115,121,115,58,97,114,103, + 118,0,2049,3633,4,2049,12017,1,1,3841,12004,2049,8733,10,12109,12144,147,105,110,99, + 108,117,100,101,0,2049,12017,1,2,3841,12004,2049,8733,10,12133,12163,134,78,111,69, + 99,104,111,0,0,12153,12175,147,118,101,114,115,105,111,110,0,3841,4,1,100, + 20,2049,8869,1,46,2049,8802,2049,8869,10,12164,12197,147,101,111,108,63,0,1793,12203, + 1,13,11,10,1,12199,1793,12211,1,10,11,10,1,12207,1793,12219,1,32,11,10, + 1,12215,2049,2129,22,22,10,12189,12236,147,118,97,108,105,100,63,0,2,2049,82, + 2049,2538,10,12226,12248,147,111,107,0,3841,12163,2049,2675,25,3,2049,1806,1793,12271,2049, + 8813,2049,3652,79,107,32,0,1,12262,2049,8850,10,1,12258,2049,73,10,12242,12289,147, + 99,104,101,99,107,45,101,111,102,0,2,1793,12296,1,-1,11,10,1,12292,1793, + 12304,1,4,11,10,1,12300,2049,2092,22,1793,12326,2049,3652,98,121,101,0,1,12313, + 2049,200,2049,161,15,8,10,1,12311,9,10,12276,12342,147,99,104,101,99,107,45, + 98,115,0,2,1793,12349,1,8,11,10,1,12345,1793,12357,1,127,11,10,1,12353, + 2049,2092,22,1793,12370,2049,3362,2049,3362,771,10,1,12364,9,10,12330,12383,147,115,58, + 103,101,116,0,1793,12412,1,1025,2049,3430,1793,12403,2049,11981,2,2049,3338,2049,12289,2049, + 12342,2049,12197,10,1,12391,2049,2223,2049,3304,2049,3745,10,1,12385,2049,3454,10,12153,12427, + 147,98,97,110,110,101,114,0,3841,12163,2049,2675,25,3,2049,3652,82,69,84,82, + 79,32,49,50,32,40,114,120,45,0,1,12435,2049,8850,2049,12175,1,41,2049,8802, + 2049,8813,2049,1543,2049,8869,2049,3652,32,77,65,88,44,32,84,73,66,32,64,32, + 49,48,50,53,44,32,72,101,97,112,32,64,32,0,1,12467,2049,8850,2049,1835, + 2049,8869,2049,8813,10,12417,12511,147,98,121,101,0,1,0,2049,11622,10,12504,12526,147, + 108,105,115,116,101,110,0,2049,12248,2049,12383,2049,12236,1793,12539,2049,366,2049,12248,10, + 1,12534,1793,12545,3,10,1,12543,2049,67,1,12528,7,10,12516,12563,147,103,97,116, + 104,101,114,0,2,1793,12570,1,8,11,10,1,12566,1793,12578,1,127,11,10,1, + 12574,2049,2092,22,1793,12587,3,10,1,12585,1793,12594,2049,3338,10,1,12591,2049,67,10, + 12553,12608,147,99,121,99,108,101,0,2049,11981,2049,2055,4,8,2049,2675,25,3,2049, + 12563,1,12608,7,10,12516,12639,147,112,97,114,115,101,45,117,110,116,105,108,0, + 1793,12651,2049,3633,2049,3430,2049,12608,771,2049,3304,10,1,12641,2049,3454,10,12624,12665,147, + 115,58,103,101,116,0,1793,12687,1793,12673,1,10,11,10,1,12669,1793,12681,1,13, + 11,10,1,12677,2049,2092,22,10,1,12667,2049,12639,10,0 }; diff --git a/ngaImage b/ngaImage index ade94b5..53e43a8 100644 Binary files a/ngaImage and b/ngaImage differ diff --git a/words.tsv b/words.tsv index 20a72cc..d224cde 100644 --- a/words.tsv +++ b/words.tsv @@ -108,6 +108,7 @@ class:data n- || n-n - - Class handler for data structures. Keep the address or class:macro a- - - Class handler for compiler macros (immediate words) Execute the function at the provided address. Execute the function at the provided address. class:word {n/a} {n/a} class all class:primitive a- - - Class handler for primitive words (words which map to Nga instructions) Execute the function. Compile the machine code in the definiton into the current definition. class:word {n/a} {n/a} class all class:word a- - - Class handler for normal words. Execute the function at the provided address. Compile a call to the specified address into the current definition. class:word {n/a} {n/a} class all +class:word {n/a} {n/a} set all clock:day -n - - Return the current day. class:word {n/a} {n/a} clock iOS clock:hour -n - - Return the current hour. class:word {n/a} {n/a} clock iOS clock:minute -n - - Return the current minute. class:word {n/a} {n/a} clock iOS @@ -347,10 +348,9 @@ set:counted-results q-a - - Run a quote and construct a new set from the returne set:dup a-b - - Make a copy of a set. Return the address of the copy. class:word {n/a} {n/a} set all set:filter aq-b - - For each item in the initial set, run the specified quote. If the quote returns `TRUE`, copy the item into a new set. If `FALSE`, discard it. Returns a pointer to the new set. class:word {n/a} {n/a} set all set:for-each aq- - - Execute the quote once for each item in the set. class:word {n/a} {n/a} set all -set:from-results q-a - - Execute quote. Return a new set containing the values the quote leaves on the stack. This is deprecated and will be removed in 2019. class:word {n/a} {n/a} set all set:from-string s-a - - Create a new set with the characters in the source string. class:word {n/a} {n/a} set all set:length a-n - - Return the length of a set. class:word {n/a} {n/a} set all -set:make q-a - - Execute quote. Return a new set containing the values the quote leaves on the stack. This is identical to doing `set:from-results set:reverse` class:word {n/a} {n/a} set all +set:make q-a - - Execute quote. Return a new set containing the values the quote leaves on the stack. This is identical to doing `set:counted-results set:reverse` set:map aq- - - Execute quote once for each item in the set. Constructs a new set from the value returned by the quote. class:word {n/a} {n/a} set all set:nth an-b - - Return the actual address of the nth item in the set. class:word {n/a} {n/a} set all set:reduce pnq-n - - Takes a set, a starting value, and a quote. This will apply the quote to each item in the set; the quote should consume two values and return one. class:word {n/a} {n/a} set all @@ -417,7 +417,7 @@ var s- - - Create a variable. The variable is initialized to 0. class:word var ns- - - Create a variable with the specified initial value. class:word #10 'Base var\n {n/a} global all while q- - - Execute quote repeatedly while the quote returns a `TRUE` value. The quote should return a flag of either `TRUE` or `FALSE`, though `while` will treat any non-zero value as `TRUE`. class:word #10 [ dup n:put nl n:dec dup n:-zero? ] while {n/a} global all xor mn-o - - Perform a bitwise XOR operation. class:primitive {n/a} {n/a} global all -{ - - - Begin a set. This is intended to make creating sets a bit cleaner than using a quotation and `set:from-results`. class:word {n/a} {n/a} set all +{ - - - Begin a set. This is intended to make creating sets a bit cleaner than using a quotation and `set:counteh-results`. class:word {n/a} {n/a} set all {{ - - - Begin a lexically scoped area. class:word {n/a} {n/a} global all } -a - - Complete a set begun by `{`. Returns a pointer to the data. class:word {n/a} {n/a} set all }as f- - - End an assembly section. class:macro {n/a} {n/a} global all