Doc: File types article modernization.

git-svn-id: svn://ultimatepp.org/upp/trunk@15143 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
klugier 2020-09-24 23:42:30 +00:00
parent 431a194194
commit ea746e5735
2 changed files with 149 additions and 121 deletions

View file

@ -1,10 +1,9 @@
topic "TheIDE and Ultimate++ File Types";
[ $$0,0#00000000000000000000000000000000:Default]
topic "File Types";
[l288;i704;a17;O9;~~~.992; $$1,0#10431211400427159095818037425705:param]
[a83;*R6 $$2,5#31310162474203024125188417583966:caption]
[b83;* $$3,5#07864147445237544204411237157677:title]
[H4;b83;*4 $$3,5#07864147445237544204411237157677:title]
[b167;a42;C $$4,13#40027414424643823182269349404212:item]
[b42;a42; $$5,5#45413000475342174754091244180557:text]
[b42;a42;ph2 $$5,5#45413000475342174754091244180557:text]
[l288;a17; $$6,6#27521748481378242620020725143825:desc]
[l321;t246;C@5;1 $$7,7#20902679421464641399138805415013:code]
[b2503; $$8,0#65142375456100023862071332075487:separator]
@ -18,124 +17,151 @@ topic "TheIDE and Ultimate++ File Types";
[l321;*C$7 $$16,16#03451589433145915344929335295360:result]
[l321;b83;a83;*C$7 $$17,17#07531550463529505371228428965313:result`-line]
[l160;t4167;*C+117 $$18,5#88603949442205825958800053222425:package`-title]
[a42;ph2 $$19,19#646FC4297C32F11C479D4FEE54310C42:text`-table]
[b83;*+117 $$20,20#1546C2CD4112BAB0A26C534D6F11ED13:subtitle]
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US
[s0;= [*R6 TheIDE and Ultimate`+`+ File Types]&]
[s2; File Types&]
[s3; Table of contents&]
[s0;2 &]
[s0; [^topic`:`/`/ide`/app`/Files`_en`-us`#1^2 1. Introduction]&]
[s0; [^topic`:`/`/ide`/app`/Files`_en`-us`#2^2 2. File types]&]
[s0; [2 ][^topic`:`/`/ide`/app`/Files`_en`-us`#2`_1^2 2.1 Text files]&]
[s0; [2 ][^topic`:`/`/ide`/app`/Files`_en`-us`#2`_2^2 2.2 Special
files]&]
[s0; [2 ][^topic`:`/`/ide`/app`/Files`_en`-us`#2`_3^2 2.3 Other files
and directories]&]
[s0; [2 ][^topic`:`/`/ide`/app`/Files`_en`-us`#2`_4^2 2.4 Settings
files]&]
[s0;2 &]
[s0; [*2 File types recognized by TheIDE][2 :]&]
[s3;:1: 1. Introduction&]
[s5; In this article U`+`+ related files and files types will be
discussed.&]
[s3;:2: 2. File types&]
[s20;:2`_1: 2.1 Text files&]
[s5; Text files are widely supported by our integrated environment
TheIDE. Many of them are used in the daily development process
of U`+`+ applications.&]
[s0;2 &]
[ {{2413:7587^ [s0; [*2 .cpp, .cc, .cxx, .c, .m, .mm]&]
[s0;*2 ]
:: [s0; [2 Files with these extensions are recognized as source files
by TheIDE C`+`+ builders. ]]
:: [s0; [*2 .h, .hpp]]
:: [s0; [2 Header files. C`+`+ builders provide automatic header dependency
tests. U`+`+ packages tend to use ][*2 hpp][2 instead of ][*2 h][2
in case that file contains template function definitions.]]
:: [s0; [*2 .icpp]]
:: [s0; [2 This file type is recognized as .cpp source file, but unlike
[ {{2413:7587^ [s19; [* .cpp, .cc, .cxx, .c, .m, .mm]]
:: [s19; Files with these extensions are recognized as source files by
TheIDE C`+`+ builders.]
:: [s19; [* .h, .hpp]]
:: [s19; Header files. C`+`+ builders provide automatic header dependency
tests. U`+`+ packages tend to use [* h ]instead of [* hpp] in case
that file contains template function definitions.]
:: [s19; [* .iccp]]
:: [s19; This file type is recognized as .cpp source file, but unlike
regular .cpp, which might be placed into the library first and
eventually eliminated by linker, .icpp one is always linked as
object file. This forces the file to be always linked. The rationale
of this is that you can put module initialization code into .icpp
that is linked into the executable even when code is not referenced
from other files.]]
:: [s0; [*2 .java]]
:: [s0; [2 Java files (Android builder).]]
:: [s0; [*2 .rc]]
:: [s0; [2 Windows resource files.]]
:: [s0; [*2 .lay]]
:: [s0; [2 Layout files. Contain layouts of e.g. dialogs.]]
:: [s0; [*2 .iml]]
:: [s0; [2 Image files. Contain icons and other raster images.]]
:: [s0; [*2 .t]]
:: [s0; [2 Translation files containing translation of strings used in
package to various languages.]]
:: [s0; [*2 .usc]]
:: [s0; [2 Scripts and other meta`-information. Contain widget descriptions
from other files.]
:: [s19; [* .java]]
:: [s19; Java files]
:: [s19; [* .py]]
:: [s19; Python files]
:: [s19; [* .rc]]
:: [s19; Windows resource files.]
:: [s19; [* .lay]]
:: [s19; Layout files. Contain layouts of e.g. dialogs.]
:: [s19; [* .iml]]
:: [s19; Image files. Contain icons and other raster images.]
:: [s19; [* .t]]
:: [s19; Translation files containing translation of strings used in
package to various languages.]
:: [s19; [* .usc]]
:: [s19; Scripts and other meta`-information. Contain widget descriptions
for layout designer, including visual representation description
using ESC scripts.]]
:: [s0; [*2 .upt]]
:: [s0; [2 Project templates.]]
:: [s0; [*2 .defs]]
:: [s0; [2 Fixed macro definitions overrides for Assist`+`+ C`+`+ parser.]]
:: [s0; [*2 .png]&]
[s0;*2 ]
:: [s0; [2 TheIDE displays images and if they are smaller than 1024x768,
edits them using icon designer.]]
:: [s0; [*2 .jpg]&]
[s0; [*2 .gif]&]
[s0; [*2 .bmp]]
:: [s0; [2 TheIDE displays images.]]
:: [s0; [*2 .qtf]]
:: [s0; [2 U`+`+ rich text format.]]
:: [s0; [*2 import.ext]]
:: [s0; [2 This file contains description of ][^topic`:`/`/ide`/app`/importext`$en`-us^2 imp
orting][2 3rd party source files contained in package.]]}}&]
[s0;2 &]
[s0;2 &]
[s0; [*2 Other text files you might encounter in packages (TheIDE might
have highlighting for them)]&]
[s0;2 &]
[ {{2353:7647^ [s0; [*2 .key]]
:: [s0; [2 Re`-definable keys definition file.]]
:: [s0; [2 .][*2 i]]
:: [s0; [2 These files are usually included by some .][*2 cpp][2 file(s)
for various purposes.]]
:: [s0; [2 .][*2 sch]]
:: [s0; [2 Database schema files. Contain definitions of database layouts.
using ESC scripts.]
:: [s19; [* .upt]]
:: [s19; Project templates.]
:: [s19; [* .defs]]
:: [s19; Fixed macro definitions overrides for Assist`+`+ C`+`+ parser.]
:: [s19; [* .png]]
:: [s19; TheIDE displays images and if they are smaller than 1024x768,
edits them using icon designer.]
:: [s19; [* .jpg]&]
[s19; [* .gif]&]
[s19; [* .bmp]]
:: [s19; TheIDE displays images.]
:: [s19; [* .qtf]]
:: [s19; U`+`+ rich text format.]
:: [s19; [* .key]]
:: [s19; Re`-definable keys definition file.]
:: [s19; [* .log]]
:: [s19; Log files.]
:: [s19; [* .i]]
:: [s19; These files are usually included by some .[* cpp] file(s) for
various purposes.]
:: [s19; [* .sch]]
:: [s19; Database schema files. Contain definitions of database layouts.
U`+`+ database applications build database schema building scripts
from these files and also use them to define structures and constants
and variables needed for database interaction.]]
:: [s0; [*2 .witz]]
:: [s0; [2 Skylark HTML templates.]]
:: [s0; [*2 Copying]]
:: [s0; [2 This file contains license info for package.]]
:: [s0; [*2 COPYING`-PLAIN]]
:: [s0; [2 Contains license explanation.]]
:: [s0; [*2 AUTHORS]]
:: [s0; [2 List of authors.]]}}&]
[s0;*2 &]
[s0;*2 &]
[s0; [*2 Other files and directories that you can encounter in package
directories]&]
[s0;*2 &]
[ {{2370:7630h1;^ [s0; [2 .][*2 upp]]
::= [s0; [2 Package definition file. Its name must be the same as name
of package folder. It is normally managed by TheIDE`'s package
organizer.]]
::^ [s0; [*2 .tpp]]
::= [s0; [2 Directories with this extension represent Topic`+`+ group.
Inside this directories are topic files with the same .tpp extension.]]
::^ [s0; [*2 all.i]]
::= [s0; [2 This file inside .tpp directories contains is Topic`+`+ generated
file for inclusion of topic group into C`+`+.]]
::^ [s0; [*2 .tdx]]
::= [s0; [2 Pre`-parsed tpp files for fast searching.]]
::^ [s0; [*2 init]]
::= [s0; [2 Used by BLITZ to properly include icpp files before the rest
of the code.]]
::^ [s0; [*2 .scd]]
::= [s0; [2 Older format for spelling dictionaries, superseded by ][*2 .udc]]}}&]
and variables needed for database interaction.]
:: [s19; [* .witz]]
:: [s19; Skylark HTML templates.]}}&]
[s0; &]
[s0; &]
[s0; [*2 Files found in the installation root folder. You can backup
or copy your configuration settings by copying the files in the
installation folder.]&]
[s20;:2`_2: 2.2 Special files&]
[s5; There are also files with special meaning. In order to work
correctly with U`+`+ and TheIDE environment the names must be
exactly the same as in the table below:&]
[s19;* &]
[ {{2353:7647^ [s19; [* import.ext]]
:: [s19; This file contains description of [^topic`:`/`/ide`/app`/importext`$en`-us^ import
ing] 3rd party source files contained in package.]
:: [s19; [* Copying]]
:: [s19; This file contains license info for package.]
:: [s19; [* COPYING`-PLAIN]]
:: [s19; Contains license explanation.]
:: [s19; [* AUTHORS]]
:: [s19; List of authors.]}}&]
[s0;*2 &]
[ {{2370:7630h1;^ [s0; [*2 theide.cfg]]
::= [s0; [2 This is a binary file file takes its name from theide.exe or
whatever the name of the executable is that runs the ide. It
[s20;:2`_3: 2.3 Other files and directories&]
[s5; There are several file types and directories that you can encounter
during your journey with U`+`+. Please noticed that some of these
files can be treated in specific way by TheIDE and they are can
not be directly edited. Sometimes special designer is required
to edit them or they are processed secretly.&]
[s0;*2 &]
[ {{2370:7630h1;^ [s19; [* .upp]]
::= [s19; Package definition file. Its name must be the same as name of
package folder. It is normally managed by TheIDE`'s package organizer.]
::^ [s19; [* .tpp]]
::= [s19; Directories with this extension represent Topic`+`+ group. Inside
this directories are topic files with the same .tpp extension.]
::^ [s19; [* all.i]]
::= [s19; This file inside .tpp directories contains is Topic`+`+ generated
file for inclusion of topic group into C`+`+.]
::^ [s19; [* .tdx]]
::= [s19; Pre`-parsed tpp files for fast searching.]
::^ [s19; [* init]]
::= [s19; Used by BLITZ to properly include icpp files before the rest
of the code.]
::^ [s19; [* .scd]]
::= [s19; Older format for spelling dictionaries, superseded by [* .udc]]}}&]
[s0; &]
[s20;:2`_4: 2.4 Settings files&]
[s5; These files stores TheIDE configuration. They are mainly located
in TheIDE installation directory. In order to create backup you
could copy these files and store them in a convenient location.
You can reuse them between your U`+`+ installations or share
with your friends.&]
[s0;*2 &]
[ {{2370:7630h1;^ [s19; [* theide.cfg]]
::= [s19; This is a binary file file takes its name from theide.exe or
whatever the name of the executable is that runs the ide. It
contains configuration settings which are a serialization of
the Setup`->Environment dialog.]]
::^ [s0; [*2 .var]]
::= [s0; [2 A text file that contains an assembly configuration as specified
in the Assembly setup dialog.]]
::^ [s0; [*2 .bm]]
::= [s0; [2 A text file that contains the build settings associated with
a particular compiler/ linker (`"build method`")]]
::^ [s0; [*2 cfg folder]]
::= [s0; [2 This folder holds cache files of theide (tdx,cache,pkg`_cache)
`+ and configuration files (per package settings `- opened files,
cursor positions etc.)]]}}&]
the Setup`->Environment dialog.]
::^ [s19; [* .var]]
::= [s19; A text file that contains an assembly configuration as specified
in the Assembly setup dialog.]
::^ [s19; [* .bm]]
::= [s19; A text file that contains the build settings associated with
a particular compiler/ linker (`"build method`").]
::^ [s19; [* cfg folder]]
::= [s19; This folder holds cache files of TheIDE (tdx,cache,pkg`_cache)
and configuration files (per package settings, opened files,
cursor positions etc.).]}}&]
[s0; ]]

View file

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