From 019341e0eb42ded048a74bbdb96afb17d4e3cb25 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 23 Nov 2015 15:25:31 +0000 Subject: [PATCH] .docs git-svn-id: svn://ultimatepp.org/upp/trunk@9218 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/Core/sheap.cpp | 3 +- uppsrc/Core/srcdoc.tpp/Decisions$en-us.tpp | 5 +- uppsrc/Core/srcdoc.tpp/Packages$en-us.tpp | 188 ++++++++++----------- uppsrc/Core/srcimp.tpp/Heap$en-us.tpp | 54 +++--- uppsrc/RichEdit/RichEdit.t | 4 +- uppsrc/ide/app.tpp/Files$en-us.tpp | 7 +- uppsrc/ide/app.tpp/Files$en-us.tppi | 21 +-- uppsrc/ide/app.tpp/index$en-us.tpp | 3 +- uppsrc/ide/app.tpp/index$en-us.tppi | 13 +- 9 files changed, 146 insertions(+), 152 deletions(-) diff --git a/uppsrc/Core/sheap.cpp b/uppsrc/Core/sheap.cpp index 32ed349a8..e49bdad1b 100644 --- a/uppsrc/Core/sheap.cpp +++ b/uppsrc/Core/sheap.cpp @@ -1,4 +1,5 @@ #include +#include //#BLITZ_APPROVE NAMESPACE_UPP @@ -114,7 +115,7 @@ void *Heap::AllocK(int k) inline void *Heap::Allok(int k) -{ +{ // Try to alloc from the front-cache first FreeLink *ptr = cache[k]; if(ptr) { cachen[k]++; diff --git a/uppsrc/Core/srcdoc.tpp/Decisions$en-us.tpp b/uppsrc/Core/srcdoc.tpp/Decisions$en-us.tpp index 67c1963bb..309df652d 100644 --- a/uppsrc/Core/srcdoc.tpp/Decisions$en-us.tpp +++ b/uppsrc/Core/srcdoc.tpp/Decisions$en-us.tpp @@ -31,7 +31,7 @@ mainly to improve build times in debug mode.&] or in 64`-bit mode with sizeof(int) >`= 4 (that is quite standard). Currently tested CPU architectures are i386, AMD64, ARM and PowerPC.&] [s0;i150;b33;O0; CPU and compiler are supposed to support [^topic`:`/`/Core`/srcdoc`/Moveable`$en`-us^ M -oveable] (true for any gcc platform and MSVC`+`+ as well).&] +oveable] (true for any gcc, clang and MSVC`+`+ as well).&] [s0;i150;b33;O0; We decided to ignore possibility of `"out`-of`-memory`" exceptions and recovery. If U`+`+ application goes out of memory, it simply prints the error message and terminates. This is quite @@ -41,8 +41,7 @@ tested. Also, most platforms with virtual memory will almost freeze long before out`-of`-memory problem due to intensive page swapping. Related issue `- default and copy constructors are not allowed to throw exceptions in U`+`+ (the common reason to -throw exception here was out`-of`-memory condition). This limitation -will be removed in future releases.&] +throw exception here is out`-of`-memory condition).&] [s0;i150;b33;O0;%- [%% Maximum number of elements in any of U`+`+ containers (including GUI elements, like number of rows in DropList) is 2][%%` 31 ][%% `- 1 `= ]2,147,483,647.&] diff --git a/uppsrc/Core/srcdoc.tpp/Packages$en-us.tpp b/uppsrc/Core/srcdoc.tpp/Packages$en-us.tpp index c5abc3daa..58c7fc169 100644 --- a/uppsrc/Core/srcdoc.tpp/Packages$en-us.tpp +++ b/uppsrc/Core/srcdoc.tpp/Packages$en-us.tpp @@ -1,99 +1,89 @@ -TITLE("Standard Ultimate++ packages") -COMPRESSED -120,156,141,86,13,111,219,54,20,252,43,68,157,13,77,234, -56,252,148,40,9,24,138,58,105,17,160,107,179,166,65,7, -4,198,76,75,180,195,85,150,92,74,78,22,20,237,111,223, -209,118,36,167,45,214,37,136,99,210,188,247,238,221,187,71, -249,154,147,131,3,58,164,3,250,147,159,244,212,206,205,186, -108,39,215,37,215,58,115,140,113,154,25,22,103,111,147,236, -235,215,175,35,38,169,206,66,48,134,96,140,74,193,56,195, -30,149,60,102,42,161,137,210,76,83,17,75,174,98,170,210, -149,241,102,57,185,54,90,100,71,239,34,160,248,80,13,4, -19,140,178,136,75,156,162,130,114,201,184,98,90,75,22,43, -45,146,40,74,115,179,106,93,93,77,174,103,1,39,1,19, -128,209,88,71,146,1,36,21,23,177,146,0,75,9,122,2, -137,227,40,142,211,214,181,165,157,92,187,192,27,108,199,129, -165,28,70,3,176,227,49,144,146,203,72,10,205,5,211,156, -71,137,144,137,4,109,198,83,215,90,144,156,73,158,25,252, -5,152,66,62,169,36,19,80,68,198,74,224,88,140,255,146, -38,140,35,169,166,74,33,159,253,231,65,166,25,4,10,34, -5,108,132,148,60,86,1,161,165,102,34,214,92,242,136,131, -4,141,81,104,96,160,210,194,54,57,176,130,179,172,5,173, -108,252,92,101,12,224,120,24,15,56,77,40,143,226,4,73, -65,24,53,139,36,97,66,35,169,100,138,50,145,230,117,129, -58,103,92,81,145,1,163,209,137,8,129,55,170,168,136,129, -51,23,26,25,99,38,4,94,149,212,113,218,216,208,139,182, -246,147,235,163,231,79,233,136,142,184,82,135,129,111,2,184, -22,82,8,25,37,146,81,129,44,136,33,131,100,17,69,55, -153,226,58,157,153,6,41,91,108,197,217,56,116,63,120,9, -202,11,173,4,50,71,120,65,87,81,158,128,58,60,145,90, -8,77,211,188,52,77,179,147,40,200,115,20,74,100,108,200, -216,32,14,202,42,193,101,18,164,17,28,18,243,72,37,12, -26,171,72,82,158,122,251,105,237,188,93,218,10,34,59,152, -35,123,104,208,206,137,224,178,53,34,31,50,14,43,170,40, -162,65,45,5,59,112,161,32,55,101,90,130,17,126,209,228, -118,231,197,217,166,132,13,80,12,153,24,36,92,10,48,73, -164,132,0,8,192,18,198,24,213,248,69,101,144,101,227,14, -182,179,213,46,253,22,46,135,76,14,98,152,24,125,74,100, -72,159,136,32,31,135,250,60,162,10,109,224,91,56,15,162, -243,3,200,206,184,14,127,135,1,175,134,12,195,0,134,76, -41,148,45,32,52,215,40,93,65,121,177,241,55,139,117,250, -198,222,53,167,166,181,59,183,28,141,15,182,54,99,209,144, -69,3,26,240,74,39,104,31,147,65,62,33,101,194,19,33, -20,79,148,136,40,100,108,182,211,28,192,97,158,54,179,216, -5,137,135,44,198,100,161,84,165,80,252,6,134,194,99,22, -168,112,157,68,65,132,93,144,233,113,233,170,192,3,190,200, -182,86,56,26,63,99,44,14,129,52,38,70,235,136,138,4, -90,64,2,170,96,115,220,6,26,125,70,155,57,102,32,92, -7,249,71,179,176,211,227,221,168,6,96,176,159,18,74,7, -211,2,8,230,224,128,48,9,165,17,118,180,198,36,165,11, -179,234,220,23,120,115,58,228,20,30,194,221,163,48,144,72, -5,243,209,36,220,35,184,21,160,63,174,161,68,109,253,55, -61,174,108,211,218,2,173,87,116,83,53,103,67,206,32,29, -220,167,148,150,50,2,93,228,142,195,181,20,26,136,225,85, -177,72,47,12,134,229,243,95,95,126,57,123,115,124,117,73, -174,27,158,145,203,214,84,133,241,5,185,42,91,183,68,91, -166,207,166,207,8,217,21,214,252,138,154,62,127,102,90,177, -84,195,20,192,208,140,140,107,111,39,105,186,93,228,88,224, -101,185,170,43,56,187,25,146,210,125,180,164,105,189,53,75, -172,240,198,85,139,33,78,84,173,129,218,30,123,185,41,203, -25,18,52,163,209,168,139,115,234,205,93,183,40,176,0,140, -248,122,221,2,4,204,159,140,157,124,112,149,224,196,85,173, -245,115,147,219,166,59,62,110,125,249,136,20,166,219,229,228, -213,213,57,185,115,197,194,182,13,65,149,63,143,241,218,205, -186,117,243,32,76,233,102,222,248,123,82,207,247,3,118,231, -222,185,252,230,125,184,56,31,54,230,181,135,142,232,15,105, -247,183,195,185,179,194,245,27,119,181,47,166,199,43,95,131, -69,131,107,236,97,255,242,83,185,39,238,114,89,87,228,242, -143,215,100,190,174,242,240,16,49,165,107,239,187,3,111,189, -201,75,251,205,178,47,175,251,224,247,251,253,176,155,213,15, -78,189,45,237,233,139,126,245,250,140,156,190,248,193,49,128, -131,90,253,26,244,32,77,183,62,95,194,58,221,202,20,183, -166,202,33,135,55,112,173,39,245,202,226,222,70,37,189,134, -175,108,189,252,254,252,203,11,178,192,7,182,133,248,161,125, -11,111,86,55,46,239,97,103,120,228,116,239,47,199,164,201, -189,195,131,22,190,41,77,181,88,131,196,150,252,202,219,144, -248,233,217,114,102,139,2,145,47,199,223,30,60,236,2,125, -176,189,7,222,143,47,78,206,47,136,183,165,9,253,108,218, -245,124,190,47,86,15,218,184,42,8,246,131,234,222,217,85, -237,251,190,175,124,32,5,57,54,219,205,195,168,245,159,151, -235,133,171,78,166,71,221,206,244,9,140,100,61,90,63,125, -66,154,122,237,225,24,200,132,47,21,193,100,117,112,210,71, -248,178,189,33,87,97,122,39,95,190,96,108,3,48,252,19, -123,51,110,86,171,210,229,91,122,228,233,18,243,216,13,250, -97,15,249,126,224,93,209,211,123,127,99,207,79,207,72,97, -111,109,89,175,194,211,140,216,234,214,249,186,10,239,251,121, -190,186,109,120,191,216,220,42,183,152,126,164,14,186,55,247, -240,194,114,239,244,170,128,196,123,67,176,196,29,241,152,111, -101,109,177,173,215,175,49,18,182,156,111,65,4,3,178,209, -127,244,200,160,152,28,84,189,31,114,235,210,112,19,53,117, -105,251,211,227,217,43,91,245,76,90,23,38,44,228,89,216, -42,52,211,118,23,22,9,95,84,70,123,211,57,159,159,172, -203,162,219,120,9,135,111,172,106,231,115,139,105,189,181,100, -137,106,239,208,193,178,64,239,240,184,249,8,35,162,243,37, -230,233,177,94,219,96,198,255,159,96,198,111,130,133,123,201, -153,234,63,226,205,92,85,207,254,238,246,94,184,42,220,100, -115,135,59,98,122,252,27,193,103,136,188,93,67,150,93,127, -246,148,193,200,222,236,173,214,205,205,244,184,88,47,87,228, -214,217,59,235,71,143,173,70,51,65,38,255,2,179,137,80, -31, \ No newline at end of file +topic "Standard Ultimate++ packages"; +[2 $$0,0#00000000000000000000000000000000:Default] +[l288;i1120;a17;O9;~~~.1408;2 $$1,0#10431211400427159095818037425705:param] +[a83;*R6 $$2,5#31310162474203024125188417583966:caption] +[b83;*4 $$3,5#07864147445237544204411237157677:title] +[i288;O9;C2 $$4,6#40027414424643823182269349404212:item] +[b42;a42;2 $$5,5#45413000475342174754091244180557:text] +[l288;b17;a17;2 $$6,6#27521748481378242620020725143825:desc] +[l321;t246;C@5;1 $$7,7#20902679421464641399138805415013:code] +[b2503;2 $$8,0#65142375456100023862071332075487:separator] +[*@(0.0.255)2 $$9,0#83433469410354161042741608181528:base] +[t4167;C2 $$10,0#37138531426314131251341829483380:class] +[l288;a17;*1 $$11,11#70004532496200323422659154056402:requirement] +[i417;b42;a42;O9;~~~.416;2 $$12,12#10566046415157235020018451313112:tparam] +[b167;C2 $$13,13#92430459443460461911108080531343:item1] +[i288;a42;O9;C2 $$14,14#77422149456609303542238260500223:item2] +[*@2$(0.128.128)2 $$15,15#34511555403152284025741354420178:NewsDate] +[l321;*C$7;2 $$16,16#03451589433145915344929335295360:result] +[l321;b83;a83;*C$7;2 $$17,17#07531550463529505371228428965313:result`-line] +[l160;t4167;*C+117 $$18,5#88603949442205825958800053222425:package`-title] +[2 $$19,0#53580023442335529039900623488521:gap] +[t4167;C2 $$20,20#70211524482531209251820423858195:class`-nested] +[b50;2 $$21,21#03324558446220344731010354752573:Par] +[{_}%EN-US +[s2; Standard Ultimate`+`+ packages&] +[ {{1851:8149 [s0; Core] +:: [s0; core components, like streams, string, containers, callbacks...] +:: [s0; Draw] +:: [s0; drawing routines, X11/Win32 interfaces] +:: [s0; CtrlCore] +:: [s0; basic GUI widgets and X11/Win32 interfaces] +:: [s0; CtrlLib] +:: [s0; standard library of GUI widgets] +:: [s0; RichText] +:: [s0; formatted text] +:: [s0; RichEdit] +:: [s0; word`-processor] +:: [s0; Sql] +:: [s0; common SQL functionality] +:: [s0; Oracle] +:: [s0; Oracle interface] +:: [s0; MySql] +:: [s0; MySql interface] +:: [s0; OleDB] +:: [s0; OLE DB interface] +:: [s0; SqlCtrl] +:: [s0; SQL GUI] +:: [s0; Image] +:: [s0; advanced raster operations] +:: [s0; Geom] +:: [s0; advanced FP geometry and graphics] +:: [s0; Esc] +:: [s0; ESC scripting language interpreter (Embedded SCripting language)] +:: [s0; Ole] +:: [s0; Win32 OLE operations] +:: [s0; Report] +:: [s0; printed reports package] +:: [s0; PdfDraw] +:: [s0; PDF output] +:: [s0; Painter] +:: [s0; Advanced 2D software renderer and SVG parser] +:: [s0; CodeEditor] +:: [s0; Source files oriented editor] +:: [s0; Skylark] +:: [s0; Web framework 1: create complexe websites using templates and +C`+`+ code] +:: [s0; Turtle] +:: [s0; Web framework 2: allows to run standard U`+`+ applications over +the web] +:: [s0; plugin/`*] +:: [s0; `"external`" sources adapted to work with U`+`+ or support for +various file formats]}}&] +[s0; &] +[s3; Standard applications (main packages)&] +[s0; &] +[ {{1851:8149 [s0; ide] +:: [s0; TheIDE development environment.] +:: [s0; umk] +:: [s0; U`+`+ commandline build utility] +:: [s0; Updater] +:: [s0; Small applications needed to run SelfUpdate on Win32.] +:: [s0; SqlCommander] +:: [s0; SQL GUI console.] +:: [s0; CbGen] +:: [s0; Utility to generate callback code.] +:: [s0; Crash] +:: [s0; Crush`-dump viewer.]}}&] +[s0; &] +[s0;3 ]] \ No newline at end of file diff --git a/uppsrc/Core/srcimp.tpp/Heap$en-us.tpp b/uppsrc/Core/srcimp.tpp/Heap$en-us.tpp index b7c715f33..4d3441929 100644 --- a/uppsrc/Core/srcimp.tpp/Heap$en-us.tpp +++ b/uppsrc/Core/srcimp.tpp/Heap$en-us.tpp @@ -14,41 +14,35 @@ topic "Heap implementation"; `- small, medium and big.&] [s0; &] [s6; Small blocks&] -[s0; Blocks <`= 256 bytes. Such blocks are 16 bytes rounded, so there -is 16 possible sizes there. According to our research, blocks -<`= 256 represent the majority of blocks used in C`+`+/U`+`+ -applications (>98% of all blocks).&] +[s0; Blocks <`= 576 bytes. According to our research, blocks <`= +576 represent the majority of blocks used in C`+`+/U`+`+ applications +(>98% of all blocks).&] [s0; &] [s0; Small blocks are allocated in 4KB pages. U`+`+ always expects to get any memory from the system 4KB aligned (this is provided by platform specific SysAllocRaw and SysFreeRaw functions).&] [s0; &] -[s0; Each 4KB pages is dedicated to single block size. Therefore +[s0; There are 18 possible block sizes for small blocks (16, 32, +64, 96, 128, 160, 192, 224, 256, 288, 368, 448, 576). Sizes of +larger blocks are designed so that they are 16 bytes rounded +and will use the most memory in (4096 `- 32 `= 4064) page (see +bellow). E.g. 4064 / 7 `= 580, which is adjusted down to 576, +thus wasting just 4064 `- 576 `* 7 `= 32 bytes per 4KB page.&] +[s0; &] +[s0; Each 4KB pages is dedicated to a single block size. Therefore there is no need to store any per`-block information; instead -informations about the whole block is stored in the 32 bytes -header at the beginning of 4KB page. This header stores pointer -to the list of free blocks in the page, double`-link pointers -for the block so that it can be stored in allocator structures, -total number of blocks in the 4KB page and number of free blocks +information about the whole block is stored in the 32 bytes header +at the beginning of 4KB page. This header stores pointer to the +list of free blocks in the page, double`-link pointers for the +block so that it can be stored in allocator structures, total +number of blocks in the 4KB page and a number of free blocks in 4KB page.&] [s0; &] -[s0; Allocator keeps the list of 4KB page is that are completely -used (no free blocks) in 16 element (one element per block size) -sFull array of lists, using double`-linked pointers. It stores -partially used pages in sWork 16 elements array of litst and -unused pages in sFree list.&] -[s0; &] -[s0; Allocator also uses per`-thread cache of small blocks. In this -cache, up to 32 blocks for each of 16 block sizes is cached (linked) -without being really deallocated (deallocation requires costly -serialization using critical section). If there is no block available -in the cache for allocation, 16 blocks are allocated and put -into the cache at once (means that serialization is only used -once per 16 allocations in the worst case). If block is deallocated -and there is already 32 blocks in the cache, 16 blocks from the -cache are deallocated within single serialization event (means -that serialization is only used once per 16 deallocations in -the worst case).&] +[s0; Allocator keeps the list of 4KB pages that are completely used +(no free blocks) in 16 element (one element per block size) sFull +array of lists, using double`-linked pointers. It stores partially +used pages in sWork 16 elements array of lists and unused pages +in sFree list.&] [s0; &] [s0; Now the critical implementation detail is how, given the pointer to the block in the Free, the header of 4KB page and that way @@ -62,11 +56,15 @@ small blocks are always 16 bytes aligned. That makes test simple we have small block and can look at the beginning of 4KB page to get more info.&] [s0; &] +[s0; Allocator uses cache of small blocks. In this cache, up to about +3.5KB of small blocks per small block size are stored on free, +without really invoking more complex deallocation routine.&] +[s0; &] [s0; If allocation/deallocation runs out of cache, the real work has to be done:&] [s0; &] [s0; When allocating small block, first sWork list is checked for -the block. If no available, sFree list is checked to get free +the block. If not available, sFree list is checked to get free block, if even that is empty, new block is obtained from the system (using SysAllocRaw). Note that allocator keeps the number of free blocks in the header. Implementation detail: there are diff --git a/uppsrc/RichEdit/RichEdit.t b/uppsrc/RichEdit/RichEdit.t index 464fd778e..fc679e79c 100644 --- a/uppsrc/RichEdit/RichEdit.t +++ b/uppsrc/RichEdit/RichEdit.t @@ -3401,7 +3401,7 @@ zhTW("\350\203\214\346\231\257") T_("Minimal height") caES("Al\303\247ada m\303\255nima") -csCZ("Minim\303\241ln\303\255 v\303\275\305\241ka") +csCZ("Min. v\303\275\305\241ka") deDE("Mindesth\303\266he") esES("Altura m\303\255nima") fiFI("V\303\244himm\303\244iskorkeus") @@ -3414,7 +3414,7 @@ ptBR("Altura m\303\255nima") roRO("\303\216n\304\203l\310\233ime minim\304\203") ruRU("\320\234\320\270\320\275\320\270\320\274\320\260\320\273\321\214\320\275\320\260\321\217 " "\320\262\321\213\321\201\320\276\321\202\320\260") -skSK("Minim\303\241lna v\303\275\305\241ka") +skSK("Min. v\303\275\305\241ka") srSP("") trTR("Asgari boyut") zhCN("\346\234\200\345\260\217\351\253\230\347\232\204") diff --git a/uppsrc/ide/app.tpp/Files$en-us.tpp b/uppsrc/ide/app.tpp/Files$en-us.tpp index 37a023001..a36e32b6b 100644 --- a/uppsrc/ide/app.tpp/Files$en-us.tpp +++ b/uppsrc/ide/app.tpp/Files$en-us.tpp @@ -24,7 +24,7 @@ topic "TheIDE and Ultimate++ File Types"; [s0;2 &] [s0; [*2 File types recognized by TheIDE][2 :]&] [s0;2 &] -[ {{2413:7587<64;^ [s0; [*2 .cpp, .cc, .cxx, .c, .m, .mm]&] +[ {{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. ]] @@ -68,7 +68,10 @@ edits them using icon designer.]] [s0; [*2 .bmp]] :: [s0; [2 TheIDE displays images.]] :: [s0; [*2 .qtf]] -:: [s0; [2 U`+`+ rich text format.]]}}&] +:: [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 diff --git a/uppsrc/ide/app.tpp/Files$en-us.tppi b/uppsrc/ide/app.tpp/Files$en-us.tppi index fb619264b..d2ea8d4c3 100644 --- a/uppsrc/ide/app.tpp/Files$en-us.tppi +++ b/uppsrc/ide/app.tpp/Files$en-us.tppi @@ -1,13 +1,14 @@ TITLE("TheIDE and Ultimate++ File Types") COMPRESSED -120,156,141,88,11,115,27,183,17,254,43,152,200,109,45,133,98,15,184,55,217,116,226,202,110,227,142,107,103,98,121,58,173,134,141,192,35,72,34,186,87,14,119,122,36,147,252,246,126,11,28,79,188,147,220,198,26,190,112,216,215,183,223,46,22,190,98,47,94,120,51,239,196,251,63,255,22,175,213,86,118,121,187,186,202,69,146,44,117,236,5,75,201,227,229,135,116,249,235,175,191,206,211,84,44,161,137,67,19,247,2,159,11,206,3,207,11,68,204,195,212,75,195,132,39,158,31,7,34,140,189,112,81,203,70,22,171,43,153,248,203,179,239,34,72,137,89,120,226,115,159,123,60,18,1,118,121,190,39,2,46,66,158,36,1,143,195,196,79,163,104,145,201,186,213,85,185,186,90,147,28,164,124,72,121,113,18,5,28,50,65,40,252,56,12,32,27,4,156,227,59,15,227,40,142,23,173,110,115,5,25,30,197,75,25,136,229,5,4,131,25,247,79,224,157,136,33,26,136,32,10,252,68,248,60,17,34,74,253,32,13,224,54,23,11,221,42,56,185,134,12,201,65,44,132,189, -32,12,184,15,52,130,56,244,177,43,198,103,224,165,92,192,104,226,133,33,236,169,251,3,68,132,14,196,162,89,116,34,226,144,54,39,65,194,253,56,17,129,136,4,204,123,49,66,36,219,225,98,163,76,6,49,95,240,101,11,135,150,23,95,135,75,14,225,120,22,159,8,47,245,68,20,167,176,7,87,17,174,159,166,220,79,96,47,224,161,199,253,69,86,109,40,68,17,122,62,25,76,144,131,8,138,45,32,97,196,225,174,240,19,88,140,185,239,227,61,12,146,120,97,20,101,161,173,154,213,213,217,215,47,189,185,55,23,97,120,10,233,20,210,137,31,248,126,16,165,1,247,124,24,129,138,128,176,138,60,164,145,135,34,89,172,165,129,197,54,32,84,47,190,228,60,166,212,19,139,128,187,159,132,62,140,71,120,67,74,17,161,15,108,68,26,36,190,159,120,139,44,151,198,28,1,116,70,81,114,62,227,252,36,38,92,67,95,4,41,161,227,11,0,44,162,48,229,64,56,140,2,79,44,26,245,99,167,27,85,168,18,16,107,24,95,30,178,211,147,144,150,72,157,152,113, -1,26,134,81,228,17,94,33,184,32,252,16,128,123,60,9,224,16,254,144,224,182,231,161,229,6,241,130,251,68,140,84,4,62,252,72,131,0,16,64,158,167,156,115,47,193,31,226,2,48,150,24,28,244,237,217,196,65,167,224,36,6,109,145,159,52,32,163,169,79,184,9,160,46,34,47,4,252,194,73,9,2,91,188,0,220,92,36,244,34,192,121,56,227,160,63,252,226,97,136,88,125,32,44,18,196,27,2,114,223,82,154,199,201,226,189,186,51,175,101,171,122,150,156,93,188,176,160,71,51,30,157,120,36,29,38,41,178,198,3,66,204,15,130,84,164,190,31,138,52,244,35,15,200,25,87,186,36,74,245,99,107,175,87,17,207,120,140,66,66,116,97,136,120,173,16,98,141,57,185,33,146,52,162,184,123,21,215,231,185,46,201,7,144,97,233,242,127,54,16,32,65,129,36,73,228,249,41,112,64,248,94,8,106,163,246,19,36,22,121,21,224,61,21,127,118,35,119,234,250,188,175,204,159,191,255,229,119,111,222,159,127,250,200,174,140,183,252,138,93,81,75,184,220,171,183, -175,223,48,89,110,216,167,188,213,5,226,190,254,242,250,75,246,87,157,43,118,249,80,43,179,250,253,138,246,11,54,254,132,184,112,187,90,218,197,26,149,85,187,82,255,164,54,108,253,208,171,93,93,9,182,56,150,103,63,255,140,118,227,47,208,105,226,63,69,193,242,63,108,80,53,207,234,122,134,247,140,222,238,239,233,29,175,130,94,69,175,2,187,86,139,69,47,226,140,27,118,167,219,61,107,247,202,40,134,134,160,74,131,206,101,152,108,212,177,71,210,48,83,117,77,166,216,214,10,13,30,178,11,27,237,186,211,249,70,53,102,206,86,143,22,200,169,61,236,239,235,122,117,108,247,27,37,177,215,105,154,79,20,176,186,169,110,245,70,49,217,181,21,192,212,25,219,187,237,27,85,171,114,163,202,236,129,181,202,180,144,252,100,37,251,44,25,172,34,7,109,197,58,68,178,34,227,100,23,230,152,46,77,11,29,172,218,246,235,253,42,203,208,27,16,186,108,173,47,44,171,202,86,98,51,52,21,117,142,68,178,109,87,102,212,201,97,124,171,75,77,95,205,124,18,161, -206,38,225,93,238,181,113,10,41,177,76,155,9,144,148,168,99,52,103,8,190,101,93,153,235,27,194,124,215,229,178,233,179,121,183,215,217,158,21,122,183,111,217,90,49,56,149,65,135,46,17,37,50,198,114,189,110,100,243,0,45,141,105,45,5,213,45,58,78,39,243,252,129,169,92,23,186,68,20,150,79,168,133,27,213,204,156,187,172,42,173,95,50,191,147,15,198,61,179,174,85,235,31,84,230,208,152,247,113,84,112,211,88,107,46,164,138,28,25,9,210,78,56,46,9,29,137,45,128,185,37,81,109,28,182,15,85,7,164,75,86,35,202,162,218,116,216,98,177,148,185,254,201,10,49,58,21,92,84,206,61,43,166,7,199,134,120,213,189,202,186,86,174,161,129,2,5,60,234,32,108,88,89,181,64,111,171,26,80,4,66,219,166,42,88,5,169,3,209,38,105,251,65,222,202,81,218,254,142,133,158,221,47,95,149,155,166,210,155,3,43,79,167,194,77,54,18,253,167,46,55,213,29,229,249,184,72,166,66,185,124,24,73,189,147,64,166,29,202,192,145,143,229,118,213,16, -138,106,190,155,179,13,112,170,118,79,89,87,228,35,101,111,11,212,192,84,151,206,108,41,131,23,14,136,70,162,16,26,166,105,239,19,141,237,152,196,141,44,77,238,210,227,64,233,171,67,151,59,214,30,61,132,159,166,109,176,106,168,240,40,89,135,138,36,174,220,202,70,87,29,50,41,203,93,247,156,213,206,140,161,252,152,53,186,110,143,157,46,84,43,175,207,117,9,38,22,214,228,99,124,119,122,179,83,45,163,137,132,164,108,227,194,182,30,67,90,215,187,146,88,175,203,44,239,54,228,250,173,54,40,15,100,170,70,178,80,43,178,47,239,65,3,162,160,125,111,62,94,48,183,246,212,229,122,12,213,183,77,101,171,230,208,53,158,8,160,121,152,213,184,241,222,3,169,66,102,77,117,220,89,88,117,171,154,6,205,207,69,241,202,24,109,90,219,227,46,250,78,215,24,213,76,181,215,229,238,249,246,222,55,232,141,54,112,11,213,234,210,110,145,213,84,162,234,193,118,121,83,160,93,0,103,20,93,201,56,166,217,251,56,74,102,76,109,116,107,235,190,232,17,33,50, -13,144,62,169,166,250,224,132,251,189,211,219,209,239,117,49,237,145,207,249,54,213,250,99,187,29,73,185,134,223,80,79,164,225,149,57,74,64,234,151,95,254,199,25,251,193,210,200,9,88,38,83,67,114,61,21,173,162,234,74,91,19,229,227,65,242,178,247,206,237,217,203,91,197,246,248,154,211,79,66,130,146,67,192,156,78,79,102,63,196,201,28,5,241,241,169,124,163,198,85,255,29,230,9,155,115,219,198,240,212,28,81,192,117,222,209,254,185,61,178,244,20,61,115,56,137,41,133,157,113,45,223,209,220,53,124,83,21,170,23,206,250,115,144,4,94,154,83,235,255,161,48,235,174,169,43,51,134,254,96,212,100,251,209,42,102,58,73,227,52,61,80,133,156,118,155,17,147,183,108,115,216,221,119,180,195,121,61,172,203,186,206,117,38,157,128,237,180,143,207,122,11,118,149,32,239,75,209,117,245,246,56,124,176,89,230,198,157,250,150,173,109,95,83,138,250,82,151,181,93,211,111,163,102,216,202,178,111,46,4,0,165,0,7,135,82,132,25,161,50,216,215,68,10,105,207, -254,41,41,49,47,253,52,110,89,55,15,56,177,111,216,55,151,255,120,247,217,38,112,81,213,15,8,228,51,131,194,48,121,0,16,76,96,100,127,91,89,143,122,82,78,181,125,248,246,95,111,223,255,237,250,252,219,119,175,222,190,31,41,189,152,170,82,247,112,168,148,207,132,242,234,211,229,55,31,190,251,56,62,148,208,114,40,123,24,191,246,85,99,142,106,235,236,80,84,103,207,84,215,99,50,54,184,246,100,184,172,105,53,57,254,159,171,181,227,221,171,99,237,182,154,98,15,213,228,123,123,62,140,185,7,102,118,110,228,250,234,177,7,31,244,77,74,137,189,69,186,75,137,82,40,58,99,103,40,154,35,12,45,200,254,1,130,61,120,179,173,232,180,39,33,55,80,52,133,45,171,2,240,237,142,199,242,235,63,152,65,166,106,118,146,70,59,215,18,143,43,191,157,58,249,250,8,154,126,234,134,153,97,232,126,60,148,216,101,85,235,204,86,203,174,169,186,26,30,97,199,70,57,129,99,132,169,250,91,218,220,103,224,48,204,187,16,201,133,71,253,83,7,17,219,92, -143,61,124,100,164,118,6,173,134,99,131,3,83,177,241,200,75,133,51,193,142,154,86,152,136,107,123,145,233,39,4,231,162,141,197,77,115,246,64,123,138,216,230,126,146,214,6,221,210,30,123,152,236,225,137,11,146,212,111,49,202,48,163,100,147,237,81,86,83,77,196,129,177,166,79,198,37,240,47,239,222,94,254,155,122,4,238,25,181,106,30,155,38,179,147,103,127,187,81,48,225,168,130,132,180,110,162,85,118,210,124,226,179,201,54,99,75,31,114,123,185,177,71,147,117,213,212,42,207,169,137,109,180,109,40,146,128,156,49,211,193,190,81,125,187,94,185,209,98,147,61,22,28,27,127,28,174,139,20,127,87,218,65,139,156,162,203,13,50,233,230,152,166,170,218,129,197,236,95,125,229,173,65,85,0,15,87,50,116,33,42,72,250,86,110,245,174,115,83,59,128,108,91,59,194,193,147,204,117,170,97,228,55,207,90,234,141,252,150,162,197,67,136,131,77,243,108,187,123,134,111,116,17,97,107,28,136,246,38,147,31,46,26,242,134,76,31,202,247,208,248,73,13,174,1,20, -204,29,186,11,174,1,246,44,30,74,121,114,77,56,220,65,154,174,116,151,24,146,103,84,224,3,145,63,131,132,187,122,81,125,73,44,54,71,183,149,222,202,71,213,118,245,245,249,159,223,148,183,186,169,74,250,175,158,126,88,127,194,17,156,53,227,184,95,61,142,35,206,191,193,27,164,75,26,163,138,117,254,48,241,140,174,224,181,202,244,86,171,33,249,175,14,91,13,57,243,57,243,235,226,183,90,39,157,238,36,30,112,128,55,85,166,109,109,219,230,34,105,12,197,181,220,222,82,179,170,168,161,165,249,99,127,191,100,47,175,191,112,242,152,218,247,213,230,250,139,211,137,51,160,64,207,157,231,58,143,125,192,246,248,64,94,100,54,48,208,65,78,13,233,37,122,196,204,62,154,213,55,187,235,239,237,215,83,134,30,212,31,241,71,136,245,151,57,148,217,208,173,135,176,174,207,25,234,191,236,59,22,202,49,235,26,67,231,109,101,250,17,70,181,217,252,244,168,26,87,171,255,2,221,203,22,37, +120,156,141,88,11,115,219,54,18,254,43,152,58,119,23,187,178,66,240,77,105,122,211,212,201,93,114,147,75,58,141,51,55,61,143,82,65,36,36,161,230,171,4,105,91,237,180,191,253,190,5,168,7,105,247,90,123,244,48,136,125,125,187,251,97,225,27,246,236,153,51,113,206,156,63,248,153,189,146,107,209,229,237,226,38,119,227,120,174,34,199,159,11,30,205,63,36,243,223,126,251,109,154,36,238,28,154,56,52,113,199,247,184,203,185,239,56,190,27,241,32,113,146,32,230,177,227,69,190,27,68,78,48,171,69,35,138,197,141,136,189,249,197,119,33,164,220,73,112,230,113,143,59,60,116,125,236,114,60,199,245,185,27,240,56,246,121,20,196,94,18,134,179,84,212,173,170,202,197,205,138,228,32,229,65,202,137,226,208,231,144,241,3,215,139,2,31,178,190,207,57,190,243,32,10,163,104,214,170,54,151,144,225,97,52,23,190,59,191,130,160,63,225,222,25,188,115,35,136,250,174,31,250,94,236,122,60,118,221,48,241,252,196,135,219,220,157,169,86,194,201,21,100,72,14,98, +1,236,249,129,207,61,160,225,71,129,135,93,17,62,125,39,225,46,140,198,78,16,192,158,124,216,67,68,232,64,44,156,132,103,110,20,208,230,216,143,185,23,197,174,239,134,46,204,59,17,66,36,219,193,44,147,58,133,152,231,242,121,11,135,230,87,95,7,115,14,225,104,18,157,185,78,226,184,97,148,192,30,92,69,184,94,146,112,47,134,61,159,7,14,247,102,105,149,81,136,110,224,120,100,48,70,14,66,40,54,128,4,33,135,187,174,23,195,98,196,61,15,239,129,31,71,51,45,41,11,109,213,44,110,46,190,126,238,76,157,169,27,4,231,144,78,32,29,123,190,231,249,97,226,115,199,131,17,168,240,9,171,208,65,26,121,224,198,179,149,208,176,216,250,132,234,213,151,156,71,148,122,170,34,224,238,197,129,7,227,33,222,144,82,68,232,1,27,55,241,99,207,139,157,89,154,11,173,79,0,186,160,40,57,159,112,126,22,17,174,129,231,250,9,161,227,185,0,216,13,131,132,3,225,32,244,29,119,214,200,159,58,213,200,66,150,128,88,193,248,124,159,157,190,8,105, +137,212,185,19,238,162,12,131,48,116,8,175,0,181,224,122,1,0,119,120,236,195,33,252,34,193,109,95,135,166,54,168,46,184,71,133,145,184,190,7,63,18,223,7,4,144,231,9,231,220,137,241,139,184,0,140,41,12,142,242,237,171,137,163,156,252,179,8,101,139,252,36,62,25,77,60,194,205,5,234,110,232,4,128,223,181,82,46,129,237,62,3,220,220,141,233,69,128,243,96,194,81,254,240,139,7,1,98,245,128,176,27,35,222,0,144,123,166,164,121,20,207,222,203,123,253,74,180,178,175,146,139,171,103,6,244,112,194,195,51,135,164,131,56,65,214,184,79,136,121,190,159,184,137,231,5,110,18,120,161,3,228,180,109,93,18,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,252,229,135,95,255,242,250,253,229,167,143,236,70,59,243, +175,216,13,81,194,245,86,190,125,245,154,137,50,99,159,242,86,21,136,123,249,229,242,75,246,15,149,75,118,189,171,165,94,252,117,65,251,93,54,252,132,184,107,119,181,180,139,53,50,173,54,165,250,89,102,108,181,235,213,46,110,92,54,59,149,103,191,252,2,186,241,102,96,154,232,51,59,168,153,166,117,61,193,123,74,111,15,15,244,142,87,65,175,162,23,199,174,197,108,214,139,88,195,154,221,171,118,203,218,173,212,146,129,12,100,169,193,90,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,94,171,105,58,82,192,234,166,186,83,153,100,162,107,43,0,169,82,182,181,219,51,89,203,50,147,101,186,99,173,212,45,36,63,25,201,62,67,26,171,192,191,173,88,135,72,22,100,156,236,194,28,83,165,110,161,131,85,235,126,189,95,101,41,120,1,161,139,214,248,194,210,170,108,5,54,67,83,81,231,72,34,91,119,101,74,44,14,227,107,85,42,250,170,167, +163,8,85,58,10,239,122,171,180,85,72,73,101,74,143,128,164,68,157,162,57,65,240,45,235,202,92,221,18,230,155,46,23,77,159,205,251,173,74,183,172,80,155,109,203,86,146,193,169,20,58,84,137,40,145,49,150,171,85,35,154,29,180,52,186,53,229,39,239,192,54,157,200,243,29,147,185,42,84,137,40,76,45,161,15,110,101,51,177,238,178,170,52,126,137,252,94,236,180,125,102,92,171,86,63,202,212,162,49,237,227,168,224,166,54,214,108,72,21,57,50,16,164,157,112,92,16,58,2,91,0,115,75,162,74,91,108,119,85,7,164,75,86,35,202,162,202,58,108,49,88,138,92,253,108,132,24,157,8,54,42,235,158,17,83,7,199,14,241,202,7,153,118,173,88,65,3,5,10,120,228,94,88,179,178,106,129,222,90,54,40,17,8,173,155,170,96,21,164,246,133,54,74,219,143,226,78,12,210,246,47,44,244,213,253,252,101,153,53,149,202,246,85,121,62,22,110,210,129,232,127,84,153,85,247,148,231,211,38,25,11,229,98,55,144,122,39,128,76,123,104,3,91,124,44,55, +171,154,80,148,211,205,148,101,192,169,218,60,174,186,34,31,40,123,91,160,7,198,186,84,106,90,25,117,97,129,104,4,26,161,97,138,246,62,210,216,14,139,184,17,165,206,109,122,44,40,125,119,168,114,195,218,147,135,240,83,183,13,86,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,154,70,72,202,16,23,182,245,24,210,186,218,148,84,245,170,76,243,46,35,215,239,148,70,123,32,83,53,146,133,94,17,125,123,31,52,32,10,218,247,250,227,21,179,107,143,93,174,135,80,125,219,84,166,107,246,172,241,72,0,228,161,23,67,226,125,0,82,133,72,155,234,148,89,88,117,39,155,6,228,103,163,120,169,181,210,173,225,184,171,158,233,26,45,155,177,246,186,220,60,77,239,61,65,103,74,195,45,116,171,77,187,65,86,81,139,202,157,97,121,93,128,46,128,51,154,174,100,28,147,236,67,20,198,19,38,51,213,154,190,47,122,68,168, +152,14,144,62,234,166,122,239,132,253,123,163,214,131,191,87,197,152,35,159,242,109,172,245,167,118,61,144,178,132,223,16,39,210,224,202,108,73,140,164,84,81,87,77,59,165,193,246,105,86,62,208,252,105,214,205,217,240,185,173,106,149,46,103,203,23,203,23,72,195,242,133,168,107,124,51,10,161,111,249,76,150,203,203,78,127,222,27,1,44,230,40,241,154,140,146,211,238,134,135,100,111,104,208,20,112,246,215,95,255,207,48,240,193,212,188,141,206,40,33,246,180,7,0,120,173,234,74,211,192,229,241,212,123,222,67,105,247,108,197,157,100,91,124,205,233,79,74,27,85,18,101,241,124,60,66,120,1,70,136,208,31,140,16,183,114,72,81,223,97,240,49,5,106,56,23,79,245,73,189,218,99,98,176,127,106,206,87,53,78,181,222,35,66,245,214,105,123,62,217,158,180,167,147,174,10,217,11,167,253,161,77,2,207,245,185,241,127,207,34,117,215,212,149,30,214,201,222,168,78,183,131,85,12,159,130,230,126,122,32,11,49,166,198,65,219,173,89,182,223,221,211,239,126,184,56, +172,163,18,114,149,10,43,96,142,133,227,179,222,130,89,37,200,123,222,176,71,80,123,26,62,90,79,228,218,142,40,166,181,218,158,0,36,145,104,151,182,93,211,111,35,230,110,69,217,51,33,1,64,41,192,41,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,4,5,63,82,246,48,43,110,171,70,159,244,214,197,190,169,46,158,232,174,99,50,50,220,207,82,220,42,149,28,205,42,79,245,218,233,238,197,169,118,211,77,145,131,110,242,156,45,159,127,30,85,102,103,231,195,175,142,7,198,94,223,168,149,216,91,164,187,20,104,133,162,211,102,224,163,161,71,211,130,232,31,32,216,189,55,235,138,70,19,18,178,211,79,83,152,182,42,0,223,230,244,254,176,252,155,62,200, +84,205,70,208,28,106,249,251,180,243,219,177,147,175,78,160,233,175,8,48,115,184,33,28,79,80,118,109,72,147,186,101,211,84,93,13,143,176,35,147,86,224,20,97,234,126,195,176,125,6,246,55,15,27,34,185,112,212,63,118,16,177,77,213,208,195,99,69,42,107,208,104,56,53,120,168,84,108,60,241,82,226,0,51,115,177,17,166,194,53,92,164,251,115,192,186,104,98,177,163,167,57,125,31,35,150,61,140,210,218,128,45,205,25,141,107,8,60,177,65,146,250,53,230,46,166,165,104,210,45,218,106,172,137,106,96,168,233,147,182,9,252,230,221,219,235,255,18,71,224,82,84,203,230,72,154,204,140,201,253,85,76,194,132,45,21,36,164,181,227,183,52,99,241,35,159,117,154,13,45,125,200,205,77,204,156,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,199,254,94,75,241,119,165,57,0,201,41,186,137,33,147,118,232,106,170,170,61,84,49,251,190,239,188,21,74,21,192,195,149,20,44,68,13,73,223, +202,181,218,116,246,138,1,32,219,214,204,155,240,36,181,76,117,184,159,232,39,45,245,70,254,76,211,226,33,196,81,77,211,116,189,121,162,222,232,214,196,86,56,16,205,181,43,223,223,138,196,45,153,222,183,239,158,248,73,13,238,44,20,204,61,216,5,119,22,115,22,31,90,121,116,167,217,95,152,154,174,180,55,46,146,103,212,224,135,66,254,29,36,236,61,145,250,75,96,177,57,185,90,245,86,62,202,182,171,151,151,127,127,93,222,169,166,42,233,127,82,253,205,226,81,141,224,172,25,198,253,242,56,142,88,255,14,222,32,93,66,107,89,172,242,221,200,51,250,127,65,45,83,181,86,242,144,252,151,251,173,154,156,249,61,243,171,226,207,90,39,157,246,36,62,224,0,111,170,84,153,222,54,228,34,204,88,166,82,115,165,78,171,162,134,150,230,69,127,25,102,207,151,95,88,121,92,49,182,85,182,252,226,124,228,12,74,160,175,157,167,152,199,60,96,91,124,32,47,34,61,84,160,133,156,8,233,57,56,98,98,30,77,234,219,205,242,7,243,245,156,129,131,250,35,254, +4,177,254,230,137,54,59,176,245,33,172,229,37,67,255,151,61,99,161,29,211,174,209,116,222,86,186,31,97,100,155,78,207,79,186,113,177,248,31,135,249,81,236, diff --git a/uppsrc/ide/app.tpp/index$en-us.tpp b/uppsrc/ide/app.tpp/index$en-us.tpp index dd913dab5..6540ad04b 100644 --- a/uppsrc/ide/app.tpp/index$en-us.tpp +++ b/uppsrc/ide/app.tpp/index$en-us.tpp @@ -41,7 +41,8 @@ Project Templates]&] [s0;l224; [^topic`:`/`/ide`/app`/special`$en`-us^ Special features]&] [s0;l224; [^topic`:`/`/ide`/app`/AdvancedReplace`$en`-us^ Advanced Find and Replace]&] -[s0;l224;^topic`:`/`/ide`/app`/AdvancedReplace`$en`-us^ &] +[s0;l224; [^topic`:`/`/ide`/app`/importext`$en`-us^ import.ext `- importing +libraries]&] [s0;l224; &] [s0;l224; [^topic`:`/`/ide`/app`/umk`$en`-us^ umk commandline builder]&] [s0;l224; [^topic`:`/`/ide`/app`/upp`$en`-us^ .upp file format description]&] diff --git a/uppsrc/ide/app.tpp/index$en-us.tppi b/uppsrc/ide/app.tpp/index$en-us.tppi index 4cef9d812..bfb61c26f 100644 --- a/uppsrc/ide/app.tpp/index$en-us.tppi +++ b/uppsrc/ide/app.tpp/index$en-us.tppi @@ -1,9 +1,10 @@ TITLE("TheIde help index") COMPRESSED -120,156,149,86,237,110,227,68,20,125,149,65,233,34,232,186,237,124,218,227,68,72,208,143,253,130,45,171,109,87,43,17,165,100,226,76,147,161,19,59,216,147,150,20,177,63,120,25,196,43,240,119,197,123,113,198,201,54,89,248,65,182,81,237,216,190,231,158,123,207,61,51,78,159,236,237,209,132,118,232,255,252,117,79,237,181,89,248,48,232,123,174,117,207,101,84,246,12,203,122,223,231,189,119,239,222,29,230,57,239,33,19,67,38,70,165,96,156,49,73,169,228,25,83,57,205,149,102,154,138,76,114,149,81,213,157,155,218,204,6,125,163,69,111,255,117,10,20,7,74,48,193,40,75,185,68,20,21,148,75,198,21,211,90,178,76,105,145,167,105,183,48,243,224,170,114,208,31,69,28,80,34,81,29,154,233,84,50,96,164,226,34,83,18,88,41,25,195,119,166,178,52,203,186,193,5,111,129,97,105,214,51,146,247,78,0,148,73,218,65,113,60,3,82,114,153,74,161,185,96,154,243,52,23,50,151,168,154,241,174,11,22,53,142,0,137,48,160,20,232,164,146,76,64,12,153, -41,129,168,12,103,73,115,198,193,169,169,82,160,179,191,124,80,40,138,3,88,10,50,158,169,24,172,165,102,34,211,92,242,148,131,158,102,232,48,114,171,238,216,54,5,96,130,179,94,64,65,189,147,175,85,143,1,156,65,24,78,115,202,211,44,7,31,74,69,183,34,207,153,208,224,147,76,81,38,186,69,53,142,29,114,69,69,36,212,192,164,72,220,234,161,82,134,114,185,208,96,204,152,16,56,42,169,179,110,99,227,16,66,85,15,250,251,95,127,65,15,233,33,87,234,75,160,243,132,209,142,22,82,8,153,230,146,81,1,22,228,144,81,172,148,98,140,76,113,221,29,153,6,148,65,70,85,79,30,51,150,197,209,211,8,133,240,66,43,1,250,20,7,204,20,61,10,168,195,115,169,133,208,180,91,120,211,52,91,18,237,199,62,25,75,24,235,100,81,89,37,184,204,163,62,130,67,98,158,170,156,65,99,149,74,202,187,181,253,121,225,106,59,179,37,68,118,96,239,125,152,207,218,133,241,86,76,199,19,198,225,67,149,166,52,42,166,96,6,46,20,36,167,76,75,20, -132,15,70,28,214,70,108,205,17,141,193,68,194,68,39,231,82,160,142,92,74,104,0,60,203,25,99,84,227,131,190,160,76,107,13,6,255,174,237,196,100,194,100,39,131,111,49,161,92,70,210,92,68,225,56,116,231,41,85,24,0,95,161,120,148,155,239,65,112,198,117,252,143,146,51,149,48,213,17,168,139,41,133,94,5,36,230,26,253,42,104,46,90,79,179,76,119,207,237,93,115,106,130,93,251,100,255,100,175,85,61,77,88,218,161,17,173,116,142,177,49,25,21,19,82,230,60,23,66,241,92,137,148,66,185,102,181,118,35,52,46,160,118,241,173,83,100,9,203,176,146,208,157,82,232,183,5,161,215,140,197,50,184,206,211,216,247,58,197,240,192,187,50,214,0,55,244,86,6,216,127,112,128,78,100,71,235,148,138,28,58,160,125,170,96,110,44,126,141,193,98,174,28,206,143,171,191,184,49,19,59,60,88,47,205,95,127,252,237,209,217,249,193,155,11,210,111,104,239,43,210,223,63,194,166,112,57,181,207,199,150,76,173,159,15,62,31,196,39,100,117,242,200,210,35,253, -171,80,205,93,49,236,14,143,134,71,110,108,135,71,102,62,31,30,61,181,33,184,114,114,17,76,29,236,120,184,103,203,225,193,162,185,34,235,251,164,89,61,32,119,46,76,91,138,211,179,193,14,105,95,173,74,110,190,105,26,59,27,121,135,111,229,248,220,54,161,217,80,124,136,73,200,38,138,152,114,76,218,184,93,88,78,170,242,218,77,22,53,10,253,47,225,134,104,43,236,129,180,37,218,4,239,194,134,104,215,132,77,218,245,245,227,225,99,242,69,220,81,72,81,205,230,222,198,45,55,33,165,185,117,19,19,191,183,76,161,54,205,117,85,207,218,59,95,238,194,118,236,93,184,223,144,29,127,247,252,242,135,93,112,79,156,223,238,61,94,146,176,156,239,214,226,183,118,185,133,141,87,59,81,122,51,217,130,29,47,156,31,147,235,120,115,23,244,101,123,243,1,189,186,132,168,187,96,103,166,168,171,45,234,151,237,245,39,24,244,210,98,100,216,34,182,114,188,241,193,97,78,182,29,236,171,186,250,201,22,129,60,196,237,146,251,121,81,149,167,219,41,159,207,60,193, -11,203,77,74,91,239,146,160,153,219,194,25,191,73,112,177,186,65,174,173,9,139,122,71,187,142,111,77,89,216,241,107,139,202,11,187,229,219,245,3,120,3,206,140,238,92,135,108,103,253,196,156,219,245,236,80,219,98,118,179,193,226,34,46,157,25,42,137,59,37,25,69,255,236,38,212,2,135,135,60,135,184,34,215,209,239,171,149,22,37,47,106,183,250,13,244,137,5,158,192,70,205,9,214,243,42,253,100,4,95,52,113,255,88,109,129,196,96,3,33,109,16,57,181,183,214,87,243,248,138,133,121,43,255,169,84,216,24,235,202,141,143,87,93,111,218,121,91,213,55,145,177,221,121,215,65,255,210,134,124,124,234,239,203,143,221,59,174,202,170,254,96,22,210,63,98,40,223,148,55,100,89,45,62,251,56,197,163,3,210,127,244,104,255,106,26,194,124,85,96,185,240,126,30,234,225,97,233,135,71,87,228,133,41,127,124,235,60,134,212,12,18,48,109,69,222,221,221,13,15,111,237,196,20,83,219,52,195,67,204,242,138,60,92,35,250,165,169,11,72,68,46,76,25,42,108, -247,167,166,116,214,147,23,182,121,255,87,67,94,189,255,179,182,247,216,53,234,73,124,184,180,213,116,218,68,80,8,228,236,222,122,159,144,103,182,30,217,58,68,160,183,117,66,158,154,186,94,146,179,91,91,155,122,156,160,182,37,249,182,110,35,103,213,8,6,152,46,202,16,227,94,186,98,106,192,116,124,63,70,57,9,124,126,111,200,19,19,204,212,121,51,37,23,83,51,77,176,203,69,129,209,155,119,160,61,174,157,41,201,107,0,241,90,242,246,23,114,238,138,202,55,113,75,127,97,13,70,243,164,54,229,251,63,42,215,144,167,111,78,158,157,157,95,196,126,234,165,39,111,81,75,36,125,97,175,175,201,179,197,108,62,173,177,127,38,120,155,57,223,30,218,36,151,110,86,133,233,18,165,128,112,25,107,159,225,101,244,178,56,55,51,252,180,90,163,191,59,36,207,42,15,29,71,173,120,120,17,147,99,156,22,205,13,34,94,153,80,47,111,200,211,191,127,175,238,76,113,31,213,193,72,131,45,129,185,181,131,193,63,187,118,212,168, +120,156,149,86,219,110,227,70,18,253,149,94,200,179,72,60,180,220,87,178,41,33,64,214,151,185,37,227,29,140,61,24,96,5,57,106,81,109,169,227,22,169,144,45,59,114,144,121,200,207,4,251,11,121,29,228,191,246,52,165,177,52,217,135,104,44,152,84,55,235,212,169,58,85,213,212,128,28,28,208,132,118,232,223,252,245,206,236,141,89,250,48,28,120,174,117,223,101,84,246,13,203,250,255,206,251,31,62,124,232,230,57,239,195,19,131,39,70,165,96,156,49,73,169,228,25,83,57,205,149,102,154,138,76,114,149,81,213,91,152,218,204,135,3,163,69,255,240,109,10,20,7,74,48,193,40,75,185,132,21,21,148,75,198,21,211,90,178,76,105,145,167,105,175,48,139,224,170,114,56,24,71,28,80,34,81,29,154,233,84,50,96,164,226,34,83,18,88,41,25,195,119,166,178,52,203,122,193,5,111,129,97,105,214,55,146,247,79,1,148,73,218,65,112,60,3,82,114,153,74,161,185,96,154,243,52,23,50,151,136,154,241,158,11,22,49,142,1,137,48,160,20,232,164,146,76, +64,12,153,41,1,171,12,119,73,115,198,193,169,169,82,160,179,63,127,82,40,138,3,88,10,50,158,169,104,172,165,102,34,211,92,242,148,131,158,102,200,48,114,171,222,196,54,5,96,130,179,126,64,64,253,211,111,85,159,1,156,65,24,78,115,202,211,44,7,31,66,69,182,34,207,153,208,224,147,76,81,38,122,69,53,137,25,114,69,69,36,212,192,164,112,220,234,161,82,134,112,185,208,96,204,152,16,184,42,169,179,94,99,99,17,66,85,15,7,135,223,126,69,187,180,203,149,250,26,232,60,97,180,163,133,20,66,166,185,100,84,128,5,62,100,20,43,165,40,35,83,92,247,198,166,1,101,144,81,213,211,167,140,101,177,244,52,66,33,188,208,74,128,62,197,5,53,69,142,2,234,240,92,106,33,52,237,21,222,52,205,142,68,135,49,79,198,18,198,58,89,84,86,9,46,243,168,143,224,144,152,167,42,103,208,88,165,146,242,94,109,127,90,186,218,206,109,9,145,29,216,251,159,234,179,233,194,184,21,221,241,132,113,244,161,74,83,26,21,83,104,6,46,20,36,167, +76,75,4,132,15,74,28,54,141,216,54,71,108,12,38,18,38,58,57,151,2,113,228,82,66,3,224,89,206,24,163,26,31,228,5,101,218,214,96,232,223,77,59,49,153,48,217,201,208,183,168,80,46,35,105,46,162,112,28,186,243,148,42,20,128,175,81,60,202,205,15,32,56,227,58,254,71,201,153,74,152,234,8,196,197,148,66,174,2,18,115,141,124,21,52,23,109,79,179,76,247,46,236,125,115,102,130,221,244,201,225,233,65,171,122,154,176,180,67,35,90,233,28,101,99,50,42,38,164,204,121,46,132,226,185,18,41,133,114,205,122,118,35,52,14,80,59,124,27,23,89,194,50,76,18,178,83,10,249,182,32,228,154,177,24,6,215,121,26,243,222,184,24,29,121,87,198,24,208,13,253,117,3,28,62,118,128,78,100,71,235,148,138,28,58,32,125,170,208,220,24,126,141,194,162,174,28,157,31,167,191,184,53,83,59,58,218,140,230,47,63,252,250,228,252,226,232,221,37,25,52,180,255,13,25,28,30,227,80,184,154,217,151,19,75,102,214,47,134,255,28,198,39,100,125,243, +240,210,39,131,235,80,45,92,49,234,141,142,71,199,110,98,71,199,102,177,24,29,63,183,33,184,114,122,25,76,29,236,100,116,96,203,209,209,178,185,38,155,125,210,172,31,144,123,23,102,45,197,217,249,112,15,183,111,214,33,55,255,106,26,59,31,123,135,111,229,228,194,54,161,217,82,124,178,73,200,214,138,152,114,66,90,187,125,88,78,171,242,198,77,151,53,2,253,127,194,45,209,142,217,35,105,75,180,53,222,135,13,214,174,9,91,183,155,245,211,209,83,242,85,60,81,72,81,205,23,222,198,35,55,33,165,185,115,83,19,191,183,76,161,54,205,77,85,207,219,157,175,247,97,59,241,46,60,108,201,78,190,127,121,245,159,125,112,207,156,223,205,61,46,73,88,45,246,75,241,59,187,218,193,198,213,94,148,222,76,119,96,39,75,231,39,228,38,110,238,131,190,106,55,31,209,235,37,68,221,7,59,55,69,93,237,80,191,110,215,95,208,160,87,22,37,195,17,177,227,227,157,15,14,117,178,109,97,223,212,213,143,182,8,228,209,110,31,223,47,139,170,60,219,117,249, +114,238,9,94,88,110,90,218,122,31,7,205,194,22,206,248,173,131,203,245,6,185,177,38,44,235,61,219,117,114,103,202,194,78,222,90,68,94,216,157,190,221,60,64,111,160,51,99,119,110,76,246,241,234,230,139,170,142,239,236,173,191,245,86,23,123,100,116,180,89,197,81,243,110,92,155,250,175,195,181,7,199,114,126,187,245,142,69,28,172,57,226,140,231,40,25,199,238,218,79,198,37,46,143,126,186,88,145,155,56,13,235,57,140,5,41,106,183,254,133,244,133,1,158,162,201,154,83,76,251,218,253,116,140,174,105,98,202,235,3,146,24,28,47,164,53,34,103,246,206,250,106,17,95,192,104,237,202,127,41,21,142,205,186,114,147,147,117,214,219,116,222,87,245,109,100,108,207,229,141,209,95,180,33,159,223,6,135,242,243,222,158,84,101,85,127,42,14,25,28,51,132,111,202,91,178,170,150,255,248,220,197,147,35,50,120,242,228,240,122,22,194,98,29,96,185,244,126,17,234,81,183,244,163,227,107,242,202,148,63,188,119,30,69,106,134,9,152,118,44,239,239,239,71,221,59, +59,53,197,204,54,205,168,139,90,94,147,199,53,172,95,155,186,128,68,228,210,148,161,194,203,224,204,148,206,122,242,202,54,31,255,104,200,155,143,255,173,237,3,206,148,122,26,31,174,108,53,155,53,17,20,2,57,127,176,222,39,228,133,173,199,182,14,17,232,109,157,144,231,166,174,87,228,252,206,162,251,38,9,98,91,145,239,234,214,114,94,141,209,0,179,101,25,162,221,107,87,204,12,152,78,30,38,8,39,193,20,60,24,242,204,4,51,115,222,204,200,229,204,204,18,156,129,81,96,228,230,29,104,79,106,103,74,242,22,64,188,180,188,253,153,92,184,162,242,77,60,240,95,89,131,210,60,171,77,249,241,247,202,53,228,249,187,211,23,231,23,151,49,159,122,229,201,123,196,18,73,95,217,155,27,242,98,57,95,204,106,156,174,9,222,117,206,183,151,214,201,149,155,87,97,182,66,40,32,92,197,216,231,120,85,189,46,46,204,28,63,188,54,232,239,187,228,69,229,161,227,184,21,15,179,70,78,112,91,54,183,176,120,99,66,189,186,37,207,255,252,173,186,55,197,67, +84,7,37,13,182,4,230,206,14,135,255,3,245,83,224,55,