uppweb: Updated French translation by chickenk

git-svn-id: svn://ultimatepp.org/upp/trunk@2441 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
koldo 2010-05-30 13:29:26 +00:00
parent f19b428ab4
commit a1598029f8
19 changed files with 24246 additions and 11 deletions

View file

@ -0,0 +1,32 @@
topic "Financement du développement d'U++";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%FR-FR
[s0;= [*R+217 Financer Ultimate`+`+]&]
[s0;>*R^topic`:`/`/uppweb`/www`/Funding`$ru`-ru^1 &]
[s0;=2 &]
[s0; [2 Si vous aimez Ultimate`+`+ et que vous désirez le voir évoluer,
vous pouvez considérer faire un don.]&]
[s0;2 &]
[s0; [2 Ultimate`+`+ est un logiciel sous license gratuite BSD. Vous
n`'avez pas à payer quoi que ce soit pour le télécharger ou
l`'utiliser. Cependant si vous souhaitez faire un don pour son
développement, vous êtes évidemment bienvenu.]&]
[s0;2 &]
[s0;2 &]
[s0; [*4 Faire un don]&]
[s0;2 &]
[s0; [2 Pour faire un don, utilisez PayPal :]&]
[s0;2 &]
[s0; [IPAYPAL;2 x]&]
[s0;2 &]
[s0; [2 Soyez libre de suggérer de nouvelles idées avec cette donation.]&]
[s0;2 &]
[s0;2 &]
[s0; [*+150 Donateurs pour le projet Ultimate`+`+]&]
[s0;/2 &]
[s0; [*^http`:`/`/www`.vegachess`.com^ vegachess], Daniel Jesús Pérez
Burgos, yeohhs, Matt Ezell, Herbert Danler, Garry Everard, Jay
Krell, mobilehunter, Michael Bzdega, Reza Fatahilah Shah, Keith
Willis, Brian Rich, Alex Nicolson, Jean`-François GUCHENS, Daryl
Warder&]
[s0; ]

View file

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

View file

@ -38,6 +38,10 @@ TOPIC("chss$en-us")
#include "chss$en-us.tppi"
END_TOPIC
TOPIC("chss$fr-fr")
#include "chss$fr-fr.tppi"
END_TOPIC
TOPIC("chss$ru-ru")
#include "chss$ru-ru.tppi"
END_TOPIC
@ -50,6 +54,10 @@ TOPIC("comparison$en-us")
#include "comparison$en-us.tppi"
END_TOPIC
TOPIC("comparison$fr-fr")
#include "comparison$fr-fr.tppi"
END_TOPIC
TOPIC("comparison$ru-ru")
#include "comparison$ru-ru.tppi"
END_TOPIC
@ -66,6 +74,10 @@ TOPIC("contribweb$es-es")
#include "contribweb$es-es.tppi"
END_TOPIC
TOPIC("contribweb$fr-fr")
#include "contribweb$fr-fr.tppi"
END_TOPIC
TOPIC("cookie$en-us")
#include "cookie$en-us.tppi"
END_TOPIC
@ -102,6 +114,10 @@ TOPIC("examples$es-es")
#include "examples$es-es.tppi"
END_TOPIC
TOPIC("examples$fr-fr")
#include "examples$fr-fr.tppi"
END_TOPIC
TOPIC("examples$ru-ru")
#include "examples$ru-ru.tppi"
END_TOPIC
@ -122,6 +138,10 @@ TOPIC("Funding$en-us")
#include "Funding$en-us.tppi"
END_TOPIC
TOPIC("Funding$fr-fr")
#include "Funding$fr-fr.tppi"
END_TOPIC
TOPIC("Funding$ru-ru")
#include "Funding$ru-ru.tppi"
END_TOPIC
@ -150,6 +170,10 @@ TOPIC("idess$en-us")
#include "idess$en-us.tppi"
END_TOPIC
TOPIC("idess$fr-fr")
#include "idess$fr-fr.tppi"
END_TOPIC
TOPIC("idess$ru-ru")
#include "idess$ru-ru.tppi"
END_TOPIC
@ -242,6 +266,10 @@ TOPIC("ss$en-us")
#include "ss$en-us.tppi"
END_TOPIC
TOPIC("ss$fr-fr")
#include "ss$fr-fr.tppi"
END_TOPIC
TOPIC("ss$ru-ru")
#include "ss$ru-ru.tppi"
END_TOPIC
@ -266,6 +294,10 @@ TOPIC("vsqt$en-us")
#include "vsqt$en-us.tppi"
END_TOPIC
TOPIC("vsqt$fr-fr")
#include "vsqt$fr-fr.tppi"
END_TOPIC
TOPIC("vsqt$ru-ru")
#include "vsqt$ru-ru.tppi"
END_TOPIC

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -21,10 +21,10 @@ topic "Comparaisons";
[2 $$19,0#53580023442335529039900623488521:gap]
[t4167;C2 $$20,20#70211524482531209251820423858195:class`-nested]
[b50;2 $$21,21#03324558446220344731010354752573:Par]
[{_}%EN-US
[{_}%FR-FR
[s2;a0; Comparaisons&]
[s5;>b0;a83;*R^topic`:`/`/uppweb`/www`/comparison`$ru`-ru^1 &]
[s0; Afin de démontrer les avantages d`'Ultimate`+`+, nouv avons
[s0; Afin de démontrer les avantages d`'Ultimate`+`+, nous avons
réimplémenté certains exemples d`'autres bibliothèques.&]
[s0; &]
[s0; [^topic`:`/`/uppweb`/www`/vsqt`$en`-us^ Comparaison avec Qt]&]

View file

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

View file

@ -0,0 +1,75 @@
topic "Comment contribuer aux pages Web";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%FR-FR
[s0; [*R6 Comment contribuer aux pages Web]&]
[s0; &]
[s0; [2 Grâce à votre aide, le site web d`'U`+`+ peut devenir meilleur,
plus complet et mieux traduit.]&]
[s0;2 &]
[s0; [2 Voici les différentes façons de contribuer.]&]
[s0;2 &]
[s0; &]
[s0; [*+117 Aide basique]&]
[s0;2 &]
[s0; [2 Si vous êtes nouveaux à U`+`+ et que vous ne savez pas utiliser
T`+`+, vous puovez quand`-même nous aider !]&]
[s0;2 &]
[s0; [2 Postez vos traductions, corrections et patches ou proposez
de nouvelles pages dans le ][^http`:`/`/www`.ultimatepp`.org`/forum`/^2 Forum][2 .U`+
`+. Soyez certains que vos messages seront considérés, et vos
propositions seront incluses au site par une tierce personne.]&]
[s0;2 &]
[s0;2 &]
[s0; [*+117 Aide avancée]&]
[s0;2 &]
[s0; [2 Voici les étapes à suivre pour mettre en ligne vos modifications.]&]
[s0;2 &]
[s0;2 &]
[s0; [*2 Accès au système de gestion de version (SVN) d`'U`+`+]&]
[s0;2 &]
[s0; [2 Avant tout, vous aurez besoin des dernières sources et de
permissions pour mettre en ligne vos changements au site, via
SVN. Tout est expliqué ][^topic`:`/`/uppweb`/www`/svnInstall`$en`-us^2 ici][2 .]&]
[s0;2 &]
[s0;*2 &]
[s0; [*2 Edition du site web U`+`+]&]
[s0;2 &]
[s0;i150;O0; [2 Récupérez d`'abord la dernière révision svn (trunk)
des sources. C`'est important puisque vous devrez toujours inclure
vos modifications par rapport à la version la plus récente
du site.]&]
[s0;2 &]
[s0;i150;O0; [2 Ouvrez avec TheIDE les packages vous désirez apporter
des modifications ou du contenu :]&]
[s0;l160;i150;O0; [2 uppbox/uppweb-|(la plupart des pages Web se trouvent
ici)]&]
[s0;l160;i150;O0; [2 uppsrc/Core-|-|(pour mettre à jour le manuel de
référence)]&]
[s0;l160;i150;O0; [2 ...]&]
[s0;2 &]
[s0;i150;O0; [2 Editez les fichiers .tpp avec ][^topic`:`/`/ide`/app`/Topic`$en`-us^2 T`+
`+]&]
[s0;2 &]
[s0;i150;O0; [2 Enfin, validez vos changements (svn commit) vers le
dépôt U`+`+.]&]
[s0;2 &]
[s0;2 &]
[s0; [2 Merci de ne pas modifier directement le contenu inséré par
d`'autres auteurs. Il est mieux de commencer par suggérer les
modifications et de demander une permission.]&]
[s0;2 &]
[s0; [2 Les changements appliqués au depôt officiel seront visibles
sur le site web le jour suivant. Le secret ? Le système hébergeant
le site web U`+`+ va compiler et exécuter le package uppweb,
pour convertir son index et les pages T`+`+ associées en une
hiérarchie de pages html composant l`'ensemble du site web.]&]
[s0;2 &]
[s0;2 &]
[s0; [*2 Si rien ne fonctionne]&]
[s0;2 &]
[s0; [2 Si cela ne fonctionne pas ou si vous n`'êtes pas à l`'aise
avec ces méthodes, vous pouvez toujours publier un message sur
le ][^http`:`/`/www`.ultimatepp`.org`/forum`/^2 Forum][2 pour demander
de l`'aide, ou simplement ][^http`:`/`/www`.ultimatepp`.org`/forum`/index`.php`?t`=usrinfo`&id`=648`&^2 m
`'envoyer][2 un message. Je le ferai pour vous.]&]
[s0;%% ]

View file

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

View file

@ -21,7 +21,7 @@ topic "Exemples";
[2 $$19,0#53580023442335529039900623488521:gap]
[t4167;C2 $$20,20#70211524482531209251820423858195:class`-nested]
[b50;2 $$21,21#03324558446220344731010354752573:Par]
[{_}%EN-US
[s0; [*R6 Exemple de démonstration]&]
[{_}%FR-FR
[s0; [*R6 Exemples de démonstration]&]
[s0; &]
[s0; ]
[s0;%% ]

View file

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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -25,8 +25,8 @@ topic "Exemples de référence";
[s5; &]
[s5; &]
[s2; Exemples de référence&]
[s0; Les exemples de référence sont concus pour documenter U`+`+
[s0; Les exemples de référence sont conçus pour documenter U`+`+
à travers un ensemble d`'exemples très simples, chacun d`'entre
eux présentant un aspect précis de la bibliothèque U`+`+.&]
[s0; &]
[s0;%% ]
[s0; ]

View file

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

View file

@ -0,0 +1,12 @@
topic "Captures d'écrans";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US
[s0; [*+150 Captures d`'écrans]&]
[s0;>*R^topic`:`/`/uppweb`/www`/ss`$ru`-ru^1 &]
[s0;/1 &]
[s0; [^topic`:`/`/uppweb`/www`/idess`$en`-us^2 Captures d`'écrans
de `'TheIDE`']&]
[s0; [^topic`:`/`/uppweb`/www`/chss`$fr`-fr^2 Captures d`'écrans du
système `'Chameleon`']&]
[s0; [^topic`:`/`/uppweb`/www`/examples`$fr`-fr^2 Exemples U`+`+]&]
[s0; ]

View file

@ -0,0 +1,4 @@
TITLE("Captures d'écrans")
COMPRESSED
120,156,141,205,193,106,131,64,16,6,224,87,25,136,173,16,35,187,41,244,98,32,23,227,161,151,30,146,122,90,214,206,70,71,20,212,44,187,46,38,148,190,79,251,28,190,88,177,33,144,67,67,58,167,97,248,255,111,4,120,30,95,240,25,191,51,209,134,74,229,154,94,138,143,247,207,135,228,53,76,119,32,44,95,129,152,7,203,103,14,177,210,189,51,100,161,64,127,252,206,141,234,172,124,148,83,98,61,223,102,253,65,215,57,70,200,144,57,173,7,218,35,27,134,1,153,181,232,25,135,161,113,217,18,206,113,118,89,64,220,172,213,5,77,77,234,48,116,54,123,250,235,57,20,4,232,191,85,244,178,73,208,151,119,201,188,154,196,210,96,88,154,91,162,3,123,178,253,248,213,78,116,92,169,150,26,58,116,255,209,233,168,90,221,208,245,135,228,72,191,39,72,49,192,224,66,200,31,223,94,133,81,

View file

@ -0,0 +1,992 @@
topic "Ultimate++ vs Qt (R)";
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%FR-FR
[s0;= [7 Ultimate`+`+ compar茅 Qt ][5 (R)]&]
[s0;>*R^topic`:`/`/uppweb`/www`/vsqt`$ru`-ru^1 &]
[s0;=*^topic`:`/`/uppweb`/www`/vsd`$ru`-ru^1 &]
[s0; [2 Pour comparer Ultimate`+`+ et Qt (R), nous avons d茅cid茅 de
r茅impl茅menter l`'exemple de d茅monstration de Qtl `"AddressBook`".
A gauche se trouve le code U`+`+, droite l`'exemple original
fourni par Qt.]&]
[s0;/2 &]
[s0; [/0 Qt et le logo Qt sont des marques d茅pos茅es de Trolltech
en Norv猫ge, aux Etats`-Unis et dans d`'autres pays.]&]
[s0;2 &]
[s0;= [2
@@image:1778&1704
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>簿<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ъ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲿я<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
弿<EFBFBD><EFBFBD>屿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>忿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>簿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>湿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ǔ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ń<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>屿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Φ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>穿
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>Κι<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>榿<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
婿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>岿
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Э<EFBFBD><EFBFBD>μ×<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
退<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>鲿<EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>鲿蹿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ǐ嫿<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǒ<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>便<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>耀<EFBFBD>§姿<EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
嫿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¨<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饿<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD>
ń驿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Θ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>ω<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>
<EFBFBD><EFBFBD>Б<EFBFBD>У
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
òò<EFBFBD>
ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ě<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>Ч
<EFBFBD>
]&]
[s0;=2 &]
[ {{5000:5000^@7 [s0; [*2 Version Ultimate`+`+]]
:: [s0; [*2 Version Qt]]
::@2 [s0; [*C2 AddressBook.cpp]&]
[s0;C0 &]
[s0; [C0 #include <TCtrlLib/TCtrlLib.h>]&]
[s0;C0 &]
[s0; [C0 #define LAYOUTFILE <AddressBook/AddressBook.lay>]&]
[s0; [C0 #include <CtrlCore/lay.h>]&]
[s0;C0 &]
[s0; [C0 class AddressBook : public WithAddressBookLayout<TopWindow>
`{]&]
[s0; [C0 -|WithModifyLayout<StaticRect> modify;]&]
[s0; [C0 -|WithSearchLayout<StaticRect> search;]&]
[s0; [C0 -|FileSel fs;]&]
[s0; [C0 -|String filename;]&]
[s0; [C0 -|]&]
[s0; [C0 -|void SetupSearch();]&]
[s0; [C0 -|void Add();]&]
[s0; [C0 -|void Change();]&]
[s0; [C0 -|void Search();]&]
[s0; [C0 -|void Open();]&]
[s0; [C0 -|void Save();]&]
[s0; [C0 -|void SaveAs();]&]
[s0; [C0 -|void Print();]&]
[s0; [C0 -|void Quit();]&]
[s0; [C0 -|void FileMenu(Bar`& bar);]&]
[s0; [C0 -|void MainMenu(Bar`& bar);]&]
[s0;C0 &]
[s0; [C0 -|typedef AddressBook CLASSNAME;]&]
[s0;C0 &]
[s0; [C0 public:]&]
[s0; [C0 -|void Serialize(Stream`& s);]&]
[s0;C0 &]
[s0; [C0 -|AddressBook();]&]
[s0; [C0 `};]&]
[s0;C0 &]
[s0; [C0 AddressBook`::AddressBook()]&]
[s0; [C0 `{]&]
[s0; [C0 -|CtrlLayout(`*this, `"Address book`");]&]
[s0; [C0 -|CtrlLayout(modify);]&]
[s0; [C0 -|CtrlLayout(search);]&]
[s0; [C0 -|tab.Add(modify, `"Modify`");]&]
[s0; [C0 -|tab.Add(search, `"Search`");]&]
[s0; [C0 -|ActiveFocus(search.name);]&]
[s0; [C0 -|search.oname `= true;]&]
[s0; [C0 -|search.oname <<`= search.osurname <<`= search.oaddress]&]
[s0; [C0 -| <<`= search.oemail <<`= THISBACK(SetupSearch);]&]
[s0; [C0 -|array.AddColumn(`"Name`");]&]
[s0; [C0 -|array.AddColumn(`"Surname`");]&]
[s0; [C0 -|array.AddColumn(`"Address`");]&]
[s0; [C0 -|array.AddColumn(`"Email`");]&]
[s0; [C0 -|modify.add <<`= THISBACK(Add);]&]
[s0; [C0 -|modify.change <<`= THISBACK(Change);]&]
[s0; [C0 -|search.search <<`= THISBACK(Search);]&]
[s0; [C0 -|SetupSearch();]&]
[s0; [C0 -|fs.AllFilesType();]&]
[s0; [C0 -|menu.Set(THISBACK(MainMenu));]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::FileMenu(Bar`& bar)]&]
[s0; [C0 `{]&]
[s0; [C0 -|bar.Add(`"Open..`", CtrlImg`::open(), THISBACK(Open));]&]
[s0; [C0 -|bar.Add(`"Save`", CtrlImg`::save(), THISBACK(Save));]&]
[s0; [C0 -|bar.Add(`"Save as..`", CtrlImg`::save`_as(), THISBACK(SaveAs));]&]
[s0; [C0 -|bar.Separator();]&]
[s0; [C0 -|bar.Add(`"Print`", CtrlImg`::print(), THISBACK(Print));]&]
[s0; [C0 -|bar.Separator();]&]
[s0; [C0 -|bar.Add(`"Quit`", THISBACK(Quit));]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::MainMenu(Bar`& bar)]&]
[s0; [C0 `{]&]
[s0; [C0 -|bar.Add(`"File`", THISBACK(FileMenu));]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::SetupSearch()]&]
[s0; [C0 `{]&]
[s0; [C0 -|search.name.Enable(search.oname);]&]
[s0; [C0 -|search.surname.Enable(search.osurname);]&]
[s0; [C0 -|search.address.Enable(search.oaddress);]&]
[s0; [C0 -|search.email.Enable(search.oemail);]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Add()]&]
[s0; [C0 `{]&]
[s0; [C0 -|array.Add(`~modify.name, `~modify.surname, `~modify.address,
`~modify.email);]&]
[s0; [C0 -|array.GoEnd();]&]
[s0; [C0 -|modify.name <<`= modify.surname <<`= modify.address <<`=
modify.email <<`= Null;]&]
[s0; [C0 -|ActiveFocus(modify.name);]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Change()]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(array.IsCursor()) `{]&]
[s0; [C0 -|-|array.Set(0, `~modify.name);]&]
[s0; [C0 -|-|array.Set(1, `~modify.surname);]&]
[s0; [C0 -|-|array.Set(2, `~modify.address);]&]
[s0; [C0 -|-|array.Set(3, `~modify.email);]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 bool Contains(const String`& text, const String`& substr)]&]
[s0; [C0 `{]&]
[s0; [C0 -|for(const char `*s `= text; s <`= text.End() `- substr.GetLength();
s`+`+)]&]
[s0; [C0 -|-|if(strncmp(s, substr, substr.GetLength()) `=`= 0)]&]
[s0; [C0 -|-|-|return true;]&]
[s0; [C0 -|return false;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Search()]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(!array.GetCount()) return;]&]
[s0; [C0 -|bool sc `= true;]&]
[s0; [C0 -|array.ClearSelection();]&]
[s0; [C0 -|for(int i `= 0; i < array.GetCount(); i`+`+) `{]&]
[s0; [C0 -|-|if((!search.oname `|`| Contains(array.Get(i, 0), `~search.name))
`&`&]&]
[s0; [C0 -|-| (!search.osurname `|`| Contains(array.Get(i, 1), `~search.surname))
`&`&]&]
[s0; [C0 -|-| (!search.oaddress `|`| Contains(array.Get(i, 2), `~search.address))
`&`&]&]
[s0; [C0 -|-| (!search.oemail `|`| Contains(array.Get(i, 3), `~search.email)))
`{]&]
[s0; [C0 -|-|-|array.Select(i);]&]
[s0; [C0 -|-|-|if(sc) `{]&]
[s0; [C0 -|-|-|-|array.SetCursor(i);]&]
[s0; [C0 -|-|-|-|array.CenterCursor();]&]
[s0; [C0 -|-|-|-|sc `= false;]&]
[s0; [C0 -|-|-|`};]&]
[s0; [C0 -|-|`}]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Open()]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(!fs.ExecuteOpen()) return;]&]
[s0; [C0 -|filename `= fs;]&]
[s0; [C0 -|FileIn in(filename);]&]
[s0; [C0 -|if(!in) `{]&]
[s0; [C0 -|-|Exclamation(`"Unable to open `" `+ filename);]&]
[s0; [C0 -|-|return;]&]
[s0; [C0 -|`}]&]
[s0; [C0 -|array.Clear();]&]
[s0; [C0 -|while(!in.IsEof()) `{]&]
[s0; [C0 -|-|Vector<Value> q;]&]
[s0; [C0 -|-|for(int i `= 0; i < 4; i`+`+)]&]
[s0; [C0 -|-|-|q.Add(in.GetLine());]&]
[s0; [C0 -|-|array.Add(q);]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Save()]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(IsEmpty(filename)) `{]&]
[s0; [C0 -|-|SaveAs();]&]
[s0; [C0 -|-|return;]&]
[s0; [C0 -|`}]&]
[s0; [C0 -|FileOut out(filename);]&]
[s0; [C0 -|if(!out) `{]&]
[s0; [C0 -|-|Exclamation(`"Unable to open `" `+ filename);]&]
[s0; [C0 -|-|return;]&]
[s0; [C0 -|`}]&]
[s0; [C0 -|for(int i `= 0; i < array.GetCount(); i`+`+) `{]&]
[s0; [C0 -|-|for(int q `= 0; q < 4; i`+`+)]&]
[s0; [C0 -|-|-|out.PutLine(String(array.Get(i, q)));]&]
[s0; [C0 -|`}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::SaveAs()]&]
[s0; [C0 `{]&]
[s0; [C0 -|if(!fs.ExecuteSaveAs()) return;]&]
[s0; [C0 -|filename `= fs;]&]
[s0; [C0 -|Save();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Print()]&]
[s0; [C0 `{]&]
[s0; [C0 -|String qtf;]&]
[s0; [C0 -|qtf `= `"`+`+Name`|`|Surname`|`|Address`|`|Email`";]&]
[s0; [C0 -|for(int i `= 0; i < array.GetCount(); i`+`+) `{]&]
[s0; [C0 -|-|qtf << `"`-`-`";]&]
[s0; [C0 -|-|for(int q `= 0; q < 4; q`+`+) `{]&]
[s0; [C0 -|-|-|if(q) qtf << `"`|`|`";]&]
[s0; [C0 -|-|-|qtf << DeQtf((String)array.Get(i, q));]&]
[s0; [C0 -|-|`}]&]
[s0; [C0 -|`}]&]
[s0; [C0 -|qtf << `"`+`+`";]&]
[s0; [C0 -|Report report;]&]
[s0; [C0 -|report << qtf;]&]
[s0; [C0 -|report.Perform();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Quit()]&]
[s0; [C0 `{]&]
[s0; [C0 -|Break();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void AddressBook`::Serialize(Stream`& s)]&]
[s0; [C0 `{]&]
[s0; [C0 -|int version `= 0;]&]
[s0; [C0 -|s / version;]&]
[s0; [C0 -|s % search.oname % search.osurname % search.oaddress % search.oemail;]&]
[s0; [C0 -|s % fs;]&]
[s0; [C0 -|SetupSearch();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 GUI`_APP`_MAIN]&]
[s0; [C0 `{]&]
[s0; [C0 -|AddressBook ab;]&]
[s0; [C0 -|LoadFromFile(ab);]&]
[s0; [C0 -|ab.Run();]&]
[s0; [C0 -|StoreToFile(ab);]&]
[s0; [C0 `}]&]
[s0;C0 ]
:: [s0; [*C2 mainwindow.h]&]
[s0;C0 &]
[s0; [C0 #ifndef AB`_MAINWINDOW`_H]&]
[s0; [C0 #define AB`_MAINWINDOW`_H]&]
[s0;C0 &]
[s0; [C0 #include <qmainwindow.h>]&]
[s0; [C0 #include <qstring.h>]&]
[s0;C0 &]
[s0; [C0 class QToolBar;]&]
[s0; [C0 class QPopupMenu;]&]
[s0; [C0 class ABCentralWidget;]&]
[s0;C0 &]
[s0; [C0 class ABMainWindow: public QMainWindow]&]
[s0; [C0 `{]&]
[s0; [C0 Q`_OBJECT]&]
[s0;C0 &]
[s0; [C0 public:]&]
[s0; [C0 ABMainWindow();]&]
[s0; [C0 `~ABMainWindow();]&]
[s0;C0 &]
[s0; [C0 protected slots:]&]
[s0; [C0 void fileNew();]&]
[s0; [C0 void fileOpen();]&]
[s0; [C0 void fileSave();]&]
[s0; [C0 void fileSaveAs();]&]
[s0; [C0 void filePrint();]&]
[s0; [C0 void closeWindow();]&]
[s0;C0 &]
[s0; [C0 protected:]&]
[s0; [C0 void setupMenuBar();]&]
[s0; [C0 void setupFileTools();]&]
[s0; [C0 void setupStatusBar();]&]
[s0; [C0 void setupCentralWidget();]&]
[s0;C0 &]
[s0; [C0 QToolBar `*fileTools;]&]
[s0; [C0 QString filename;]&]
[s0; [C0 ABCentralWidget `*view;]&]
[s0;C0 &]
[s0; [C0 `};]&]
[s0;C0 &]
[s0;C0 &]
[s0; [C0 #endif]&]
[s0;C0 &]
[s0; [*C2 mainwindow.cpp]&]
[s0;C0 &]
[s0; [C0 #include `"mainwindow.h`"]&]
[s0; [C0 #include `"centralwidget.h`"]&]
[s0;C0 &]
[s0; [C0 #include <qtoolbar.h>]&]
[s0; [C0 #include <qtoolbutton.h>]&]
[s0; [C0 #include <qpopupmenu.h>]&]
[s0; [C0 #include <qmenubar.h>]&]
[s0; [C0 #include <qstatusbar.h>]&]
[s0; [C0 #include <qapplication.h>]&]
[s0; [C0 #include <qfiledialog.h>]&]
[s0;C0 &]
[s0; [C0 ABMainWindow`::ABMainWindow()]&]
[s0; [C0 : QMainWindow( 0, `"example addressbook application`" ),]&]
[s0; [C0 filename( QString`::null )]&]
[s0; [C0 `{]&]
[s0; [C0 setupMenuBar();]&]
[s0; [C0 setupFileTools();]&]
[s0; [C0 setupStatusBar();]&]
[s0; [C0 setupCentralWidget();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0;C0 &]
[s0; [C0 ABMainWindow`::`~ABMainWindow()]&]
[s0; [C0 `{]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::setupMenuBar()]&]
[s0; [C0 `{]&]
[s0; [C0 QPopupMenu `*file `= new QPopupMenu( this );]&]
[s0; [C0 menuBar()`->insertItem( `"`&File`", file );]&]
[s0;C0 &]
[s0; [C0 file`->insertItem( `"New`", this, SLOT( fileNew() ), CTRL
`+ Key`_N );]&]
[s0; [C0 file`->insertItem( QPixmap( `"fileopen.xpm`" ), `"Open`",
this, SLOT( fileOpen() ), CTRL `+ Key`_O );]&]
[s0; [C0 file`->insertSeparator();]&]
[s0; [C0 file`->insertItem( QPixmap( `"filesave.xpm`" ), `"Save`",
this, SLOT( fileSave() ), CTRL `+ Key`_S );]&]
[s0; [C0 file`->insertItem( `"Save As...`", this, SLOT( fileSaveAs()
) );]&]
[s0; [C0 file`->insertSeparator();]&]
[s0; [C0 file`->insertItem( QPixmap( `"fileprint.xpm`" ), `"Print...`",
this, SLOT( filePrint() ), CTRL `+ Key`_P );]&]
[s0; [C0 file`->insertSeparator();]&]
[s0; [C0 file`->insertItem( `"Close`", this, SLOT( closeWindow()
), CTRL `+ Key`_W );]&]
[s0; [C0 file`->insertItem( `"Quit`", qApp, SLOT( quit() ), CTRL
`+ Key`_Q );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::setupFileTools()]&]
[s0; [C0 `{]&]
[s0; [C0 //fileTools `= new QToolBar( this, `"file operations`"
);]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::setupStatusBar()]&]
[s0; [C0 `{]&]
[s0; [C0 //statusBar()`->message( `"Ready`", 2000 );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::setupCentralWidget()]&]
[s0; [C0 `{]&]
[s0; [C0 view `= new ABCentralWidget( this );]&]
[s0; [C0 setCentralWidget( view );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::closeWindow()]&]
[s0; [C0 `{]&]
[s0; [C0 close();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::fileNew()]&]
[s0; [C0 `{]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::fileOpen()]&]
[s0; [C0 `{]&]
[s0; [C0 QString fn `= QFileDialog`::getOpenFileName( QString`::null,
QString`::null, this );]&]
[s0; [C0 if ( !fn.isEmpty() ) `{]&]
[s0; [C0 filename `= fn;]&]
[s0; [C0 view`->load( filename );]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::fileSave()]&]
[s0; [C0 `{]&]
[s0; [C0 if ( filename.isEmpty() ) `{]&]
[s0; [C0 fileSaveAs();]&]
[s0; [C0 return;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 view`->save( filename );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::fileSaveAs()]&]
[s0; [C0 `{]&]
[s0; [C0 QString fn `= QFileDialog`::getSaveFileName( QString`::null,
QString`::null, this );]&]
[s0; [C0 if ( !fn.isEmpty() ) `{]&]
[s0; [C0 filename `= fn;]&]
[s0; [C0 fileSave();]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABMainWindow`::filePrint()]&]
[s0; [C0 `{]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [*C2 centralwidget.h]&]
[s0;C0 &]
[s0; [C0 #ifndef AB`_CENTRALWIDGET`_H]&]
[s0; [C0 #define AB`_CENTRALWIDGET`_H]&]
[s0;C0 &]
[s0; [C0 #include <qwidget.h>]&]
[s0; [C0 #include <qstring.h>]&]
[s0;C0 &]
[s0; [C0 class QTabWidget;]&]
[s0; [C0 class QListView;]&]
[s0; [C0 class QGridLayout;]&]
[s0; [C0 class QLineEdit;]&]
[s0; [C0 class QPushButton;]&]
[s0; [C0 class QListViewItem;]&]
[s0; [C0 class QCheckBox;]&]
[s0;C0 &]
[s0; [C0 class ABCentralWidget : public QWidget]&]
[s0; [C0 `{]&]
[s0; [C0 Q`_OBJECT]&]
[s0;C0 &]
[s0; [C0 public:]&]
[s0; [C0 ABCentralWidget( QWidget `*parent, const char `*name `=
0 );]&]
[s0;C0 &]
[s0; [C0 void save( const QString `&filename );]&]
[s0; [C0 void load( const QString `&filename );]&]
[s0;C0 &]
[s0; [C0 protected slots:]&]
[s0; [C0 void addEntry();]&]
[s0; [C0 void changeEntry();]&]
[s0; [C0 void itemSelected( QListViewItem`* );]&]
[s0; [C0 void selectionChanged();]&]
[s0; [C0 void toggleFirstName();]&]
[s0; [C0 void toggleLastName();]&]
[s0; [C0 void toggleAddress();]&]
[s0; [C0 void toggleEMail();]&]
[s0; [C0 void findEntries();]&]
[s0;C0 &]
[s0; [C0 protected:]&]
[s0; [C0 void setupTabWidget();]&]
[s0; [C0 void setupListView();]&]
[s0;C0 &]
[s0; [C0 QGridLayout `*mainGrid;]&]
[s0; [C0 QTabWidget `*tabWidget;]&]
[s0; [C0 QListView `*listView;]&]
[s0; [C0 QPushButton `*add, `*change, `*find;]&]
[s0; [C0 QLineEdit `*iFirstName, `*iLastName, `*iAddress, `*iEMail,]&]
[s0; [C0 `*sFirstName, `*sLastName, `*sAddress, `*sEMail;]&]
[s0; [C0 QCheckBox `*cFirstName, `*cLastName, `*cAddress, `*cEMail;]&]
[s0;C0 &]
[s0; [C0 `};]&]
[s0;C0 &]
[s0; [C0 #endif]&]
[s0;C0 &]
[s0; [*C2 centralwidget.cpp]&]
[s0;C0 &]
[s0; [C0 #include `"centralwidget.h`"]&]
[s0;C0 &]
[s0; [C0 #include <qtabwidget.h>]&]
[s0; [C0 #include <qlistview.h>]&]
[s0; [C0 #include <qlayout.h>]&]
[s0; [C0 #include <qwidget.h>]&]
[s0; [C0 #include <qlabel.h>]&]
[s0; [C0 #include <qpushbutton.h>]&]
[s0; [C0 #include <qlineedit.h>]&]
[s0; [C0 #include <qlabel.h>]&]
[s0; [C0 #include <qcheckbox.h>]&]
[s0; [C0 #include <qfile.h>]&]
[s0; [C0 #include <qtextstream.h>]&]
[s0;C0 &]
[s0; [C0 ABCentralWidget`::ABCentralWidget( QWidget `*parent, const
char `*name )]&]
[s0; [C0 : QWidget( parent, name )]&]
[s0; [C0 `{]&]
[s0; [C0 mainGrid `= new QGridLayout( this, 2, 1, 5, 5 );]&]
[s0;C0 &]
[s0; [C0 setupTabWidget();]&]
[s0; [C0 setupListView();]&]
[s0;C0 &]
[s0; [C0 mainGrid`->setRowStretch( 0, 0 );]&]
[s0; [C0 mainGrid`->setRowStretch( 1, 1 );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::setupListView()]&]
[s0; [C0 `{]&]
[s0; [C0 listView `= new QListView( this );]&]
[s0; [C0 listView`->addColumn( `"First Name`" );]&]
[s0; [C0 listView`->addColumn( `"Last Name`" );]&]
[s0; [C0 listView`->addColumn( `"Address`" );]&]
[s0; [C0 listView`->addColumn( `"E`-Mail`" );]&]
[s0;C0 &]
[s0; [C0 listView`->setSelectionMode( QListView`::Single );]&]
[s0;C0 &]
[s0; [C0 connect( listView, SIGNAL( clicked( QListViewItem`* )
), this, SLOT( itemSelected( QListViewItem`* ) ) );]&]
[s0;C0 &]
[s0; [C0 mainGrid`->addWidget( listView, 1, 0 );]&]
[s0; [C0 listView`->setAllColumnsShowFocus( TRUE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::save( const QString `&filename )]&]
[s0; [C0 `{]&]
[s0; [C0 if ( !listView`->firstChild() )]&]
[s0; [C0 return;]&]
[s0;C0 &]
[s0; [C0 QFile f( filename );]&]
[s0; [C0 if ( !f.open( IO`_WriteOnly ) )]&]
[s0; [C0 return;]&]
[s0;C0 &]
[s0; [C0 QTextStream t( `&f );]&]
[s0;C0 &]
[s0; [C0 QListViewItemIterator it( listView );]&]
[s0;C0 &]
[s0; [C0 for ( ; it.current(); `+`+it )]&]
[s0; [C0 for ( unsigned int i `= 0; i < 4; i`+`+ )]&]
[s0; [C0 t << it.current()`->text( i ) << `"n`";]&]
[s0;C0 &]
[s0; [C0 f.close();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::load( const QString `&filename )]&]
[s0; [C0 `{]&]
[s0; [C0 listView`->clear();]&]
[s0;C0 &]
[s0; [C0 QFile f( filename );]&]
[s0; [C0 if ( !f.open( IO`_ReadOnly ) )]&]
[s0; [C0 return;]&]
[s0;C0 &]
[s0; [C0 QTextStream t( `&f );]&]
[s0;C0 &]
[s0; [C0 while ( !t.atEnd() ) `{]&]
[s0; [C0 QListViewItem `*item `= new QListViewItem( listView
);]&]
[s0; [C0 for ( unsigned int i `= 0; i < 4; i`+`+ )]&]
[s0; [C0 item`->setText( i, t.readLine() );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 f.close();]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::addEntry()]&]
[s0; [C0 `{]&]
[s0; [C0 if ( !iFirstName`->text().isEmpty() `|`| !iLastName`->text().isEmpty()
`|`|]&]
[s0; [C0 !iAddress`->text().isEmpty() `|`| !iEMail`->text().isEmpty()
) `{]&]
[s0; [C0 QListViewItem `*item `= new QListViewItem( listView
);]&]
[s0; [C0 item`->setText( 0, iFirstName`->text() );]&]
[s0; [C0 item`->setText( 1, iLastName`->text() );]&]
[s0; [C0 item`->setText( 2, iAddress`->text() );]&]
[s0; [C0 item`->setText( 3, iEMail`->text() );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 iFirstName`->setText( `"`" );]&]
[s0; [C0 iLastName`->setText( `"`" );]&]
[s0; [C0 iAddress`->setText( `"`" );]&]
[s0; [C0 iEMail`->setText( `"`" );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::changeEntry()]&]
[s0; [C0 `{]&]
[s0; [C0 QListViewItem `*item `= listView`->currentItem();]&]
[s0;C0 &]
[s0; [C0 if ( item `&`&]&]
[s0; [C0 ( !iFirstName`->text().isEmpty() `|`| !iLastName`->text().isEmpty()
`|`|]&]
[s0; [C0 !iAddress`->text().isEmpty() `|`| !iEMail`->text().isEmpty()
) ) `{]&]
[s0; [C0 item`->setText( 0, iFirstName`->text() );]&]
[s0; [C0 item`->setText( 1, iLastName`->text() );]&]
[s0; [C0 item`->setText( 2, iAddress`->text() );]&]
[s0; [C0 item`->setText( 3, iEMail`->text() );]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::selectionChanged()]&]
[s0; [C0 `{]&]
[s0; [C0 iFirstName`->setText( `"`" );]&]
[s0; [C0 iLastName`->setText( `"`" );]&]
[s0; [C0 iAddress`->setText( `"`" );]&]
[s0; [C0 iEMail`->setText( `"`" );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::itemSelected( QListViewItem `*item )]&]
[s0; [C0 `{]&]
[s0; [C0 if ( !item )]&]
[s0; [C0 return;]&]
[s0; [C0 item`->setSelected( TRUE );]&]
[s0; [C0 item`->repaint();]&]
[s0;C0 &]
[s0; [C0 iFirstName`->setText( item`->text( 0 ) );]&]
[s0; [C0 iLastName`->setText( item`->text( 1 ) );]&]
[s0; [C0 iAddress`->setText( item`->text( 2 ) );]&]
[s0; [C0 iEMail`->setText( item`->text( 3 ) );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::toggleFirstName()]&]
[s0; [C0 `{]&]
[s0; [C0 sFirstName`->setText( `"`" );]&]
[s0;C0 &]
[s0; [C0 if ( cFirstName`->isChecked() ) `{]&]
[s0; [C0 sFirstName`->setEnabled( TRUE );]&]
[s0; [C0 sFirstName`->setFocus();]&]
[s0; [C0 `}]&]
[s0; [C0 else]&]
[s0; [C0 sFirstName`->setEnabled( FALSE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::toggleLastName()]&]
[s0; [C0 `{]&]
[s0; [C0 sLastName`->setText( `"`" );]&]
[s0;C0 &]
[s0; [C0 if ( cLastName`->isChecked() ) `{]&]
[s0; [C0 sLastName`->setEnabled( TRUE );]&]
[s0; [C0 sLastName`->setFocus();]&]
[s0; [C0 `}]&]
[s0; [C0 else]&]
[s0; [C0 sLastName`->setEnabled( FALSE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::toggleAddress()]&]
[s0; [C0 `{]&]
[s0; [C0 sAddress`->setText( `"`" );]&]
[s0;C0 &]
[s0; [C0 if ( cAddress`->isChecked() ) `{]&]
[s0; [C0 sAddress`->setEnabled( TRUE );]&]
[s0; [C0 sAddress`->setFocus();]&]
[s0; [C0 `}]&]
[s0; [C0 else]&]
[s0; [C0 sAddress`->setEnabled( FALSE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::toggleEMail()]&]
[s0; [C0 `{]&]
[s0; [C0 sEMail`->setText( `"`" );]&]
[s0;C0 &]
[s0; [C0 if ( cEMail`->isChecked() ) `{]&]
[s0; [C0 sEMail`->setEnabled( TRUE );]&]
[s0; [C0 sEMail`->setFocus();]&]
[s0; [C0 `}]&]
[s0; [C0 else]&]
[s0; [C0 sEMail`->setEnabled( FALSE );]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 void ABCentralWidget`::findEntries()]&]
[s0; [C0 `{]&]
[s0; [C0 if ( !cFirstName`->isChecked() `&`&]&]
[s0; [C0 !cLastName`->isChecked() `&`&]&]
[s0; [C0 !cAddress`->isChecked() `&`&]&]
[s0; [C0 !cEMail`->isChecked() ) `{]&]
[s0; [C0 listView`->clearSelection();]&]
[s0; [C0 return;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 QListViewItemIterator it( listView );]&]
[s0;C0 &]
[s0; [C0 for ( ; it.current(); `+`+it ) `{]&]
[s0; [C0 bool select `= TRUE;]&]
[s0;C0 &]
[s0; [C0 if ( cFirstName`->isChecked() ) `{]&]
[s0; [C0 if ( select `&`& it.current()`->text( 0 ).contains(
sFirstName`->text() ) )]&]
[s0; [C0 select `= TRUE;]&]
[s0; [C0 else]&]
[s0; [C0 select `= FALSE;]&]
[s0; [C0 `}]&]
[s0; [C0 if ( cLastName`->isChecked() ) `{]&]
[s0; [C0 if ( select `&`& it.current()`->text( 1 ).contains(
sLastName`->text() ) )]&]
[s0; [C0 select `= TRUE;]&]
[s0; [C0 else]&]
[s0; [C0 select `= FALSE;]&]
[s0; [C0 `}]&]
[s0; [C0 if ( cAddress`->isChecked() ) `{]&]
[s0; [C0 if ( select `&`& it.current()`->text( 2 ).contains(
sAddress`->text() ) )]&]
[s0; [C0 select `= TRUE;]&]
[s0; [C0 else]&]
[s0; [C0 select `= FALSE;]&]
[s0; [C0 `}]&]
[s0; [C0 if ( cEMail`->isChecked() ) `{]&]
[s0; [C0 if ( select `&`& it.current()`->text( 3 ).contains(
sEMail`->text() ) )]&]
[s0; [C0 select `= TRUE;]&]
[s0; [C0 else]&]
[s0; [C0 select `= FALSE;]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [C0 if ( select )]&]
[s0; [C0 it.current()`->setSelected( TRUE );]&]
[s0; [C0 else]&]
[s0; [C0 it.current()`->setSelected( FALSE );]&]
[s0; [C0 it.current()`->repaint();]&]
[s0; [C0 `}]&]
[s0; [C0 `}]&]
[s0;C0 &]
[s0; [*C2 main.cpp]&]
[s0;C0 &]
[s0; [C0 #include <qapplication.h>]&]
[s0;C0 &]
[s0; [C0 #include `"mainwindow.h`"]&]
[s0;C0 &]
[s0; [C0 int main( int argc, char `*`* argv )]&]
[s0; [C0 `{]&]
[s0; [C0 QApplication a( argc, argv );]&]
[s0;C0 &]
[s0; [C0 ABMainWindow `*mw `= new ABMainWindow();]&]
[s0; [C0 mw`->setCaption( `"Qt Example `- Addressbook`" );]&]
[s0; [C0 a.setMainWidget( mw );]&]
[s0; [C0 mw`->show();]&]
[s0;C0 &]
[s0; [C0 a.connect( `&a, SIGNAL( lastWindowClosed() ), `&a, SLOT(
quit() ) );]&]
[s0; [C0 int result `= a.exec();]&]
[s0; [C0 delete mw;]&]
[s0; [C0 return result;]&]
[s0; [C0 `}]&]
[s0;=2 ]}}&]
[s0;=2 &]
[ {{5000:5000@(255.255.200)-1 [s0; [/2 Pour que la comparaison sot plus juste, nous avons omis les
parties suivantes qui sont g茅n茅r茅es par le `"Layout designer`"
d`'Ultimate`+`+ d`'une part, et qui pourraient tre g茅n茅r茅es
par `"Qt designer`" d`'autre part.]]
::@2 [s0;%- ]
::^@7 [s0; [*2 Version Ultimate`+`+]]
:: [s0; [*2 Version Qt]]
::@2 [s0; [*C2 AddressBook.lay]&]
[s0; [/C2 (cr茅茅 avec le Layout Designer)]&]
[s0;/C2 &]
[s0; [C0 #ifdef LAYOUTFILE]&]
[s0;C0 &]
[s0; [C0 LAYOUT(AddressBookLayout, 496, 456)]&]
[s0; [C0 -|ITEM(MenuBar, menu, LeftPosZ(0, 200).TopPosZ(0, 20))]&]
[s0; [C0 -|ITEM(TabCtrl, tab, LeftPosZ(8, 480).TopPosZ(32, 84))]&]
[s0; [C0 -|ITEM(ArrayCtrl, array, LeftPosZ(8, 480).TopPosZ(124, 324))]&]
[s0; [C0 END`_LAYOUT]&]
[s0;C0 &]
[s0; [C0 LAYOUT(ModifyLayout, 480, 52)]&]
[s0; [C0 -|ITEM(Label, dv`_`_`_0, SetLabel(`"`&Name`").LeftPosZ(8, 48).TopPosZ(8,
15))]&]
[s0; [C0 -|ITEM(EditField, name, LeftPosZ(8, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Label, dv`_`_`_2, SetLabel(`"`&Surname`").LeftPosZ(108,
48).TopPosZ(8, 15))]&]
[s0; [C0 -|ITEM(EditField, surname, LeftPosZ(108, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Label, dv`_`_`_4, SetLabel(`"`&Address`").LeftPosZ(208,
48).TopPosZ(8, 15))]&]
[s0; [C0 -|ITEM(EditField, address, LeftPosZ(208, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Label, dv`_`_`_6, SetLabel(`"`&Email`").LeftPosZ(308,
48).TopPosZ(8, 15))]&]
[s0; [C0 -|ITEM(EditField, email, LeftPosZ(308, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Button, add, SetLabel(`"Ad`&d`").LeftPosZ(416, 56).TopPosZ(4,
20))]&]
[s0; [C0 -|ITEM(Button, change, SetLabel(`"`&Change`").LeftPosZ(416,
56).TopPosZ(28, 20))]&]
[s0; [C0 END`_LAYOUT]&]
[s0;C0 &]
[s0; [C0 LAYOUT(SearchLayout, 480, 56)]&]
[s0; [C0 -|ITEM(Option, oname, SetLabel(`"`&Name`").LeftPosZ(8, 56).TopPosZ(8,
18))]&]
[s0; [C0 -|ITEM(EditField, name, LeftPosZ(8, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Option, osurname, SetLabel(`"`&Surname`").LeftPosZ(108,
64).TopPosZ(8, 18))]&]
[s0; [C0 -|ITEM(EditField, surname, LeftPosZ(108, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Option, oaddress, SetLabel(`"`&Address`").LeftPosZ(208,
64).TopPosZ(8, 18))]&]
[s0; [C0 -|ITEM(EditField, address, LeftPosZ(208, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Option, oemail, SetLabel(`"`&Email`").LeftPosZ(308,
52).TopPosZ(8, 18))]&]
[s0; [C0 -|ITEM(EditField, email, LeftPosZ(308, 96).TopPosZ(28, 19))]&]
[s0; [C0 -|ITEM(Button, search, SetLabel(`"`&Search`").LeftPosZ(416,
56).TopPosZ(28, 20))]&]
[s0; [C0 END`_LAYOUT]&]
[s0;C0 &]
[s0; [C0 #endif]]
:: [s0; [C0 void ABCentralWidget`::setupTabWidget()]&]
[s0; [C0 `{]&]
[s0; [C0 tabWidget `= new QTabWidget( this );]&]
[s0;C0 &]
[s0; [C0 QWidget `*input `= new QWidget( tabWidget );]&]
[s0; [C0 QGridLayout `*grid1 `= new QGridLayout( input, 2, 5, 5,
5 );]&]
[s0;C0 &]
[s0; [C0 QLabel `*liFirstName `= new QLabel( `"First `&Name`",
input );]&]
[s0; [C0 liFirstName`->resize( liFirstName`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( liFirstName, 0, 0 );]&]
[s0;C0 &]
[s0; [C0 QLabel `*liLastName `= new QLabel( `"`&Last Name`", input
);]&]
[s0; [C0 liLastName`->resize( liLastName`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( liLastName, 0, 1 );]&]
[s0;C0 &]
[s0; [C0 QLabel `*liAddress `= new QLabel( `"Add`&ress`", input
);]&]
[s0; [C0 liAddress`->resize( liAddress`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( liAddress, 0, 2 );]&]
[s0;C0 &]
[s0; [C0 QLabel `*liEMail `= new QLabel( `"`&E`-Mail`", input );]&]
[s0; [C0 liEMail`->resize( liEMail`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( liEMail, 0, 3 );]&]
[s0;C0 &]
[s0; [C0 add `= new QPushButton( `"A`&dd`", input );]&]
[s0; [C0 add`->resize( add`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( add, 0, 4 );]&]
[s0; [C0 connect( add, SIGNAL( clicked() ), this, SLOT( addEntry()
) );]&]
[s0;C0 &]
[s0; [C0 iFirstName `= new QLineEdit( input );]&]
[s0; [C0 iFirstName`->resize( iFirstName`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( iFirstName, 1, 0 );]&]
[s0; [C0 liFirstName`->setBuddy( iFirstName );]&]
[s0;C0 &]
[s0; [C0 iLastName `= new QLineEdit( input );]&]
[s0; [C0 iLastName`->resize( iLastName`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( iLastName, 1, 1 );]&]
[s0; [C0 liLastName`->setBuddy( iLastName );]&]
[s0;C0 &]
[s0; [C0 iAddress `= new QLineEdit( input );]&]
[s0; [C0 iAddress`->resize( iAddress`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( iAddress, 1, 2 );]&]
[s0; [C0 liAddress`->setBuddy( iAddress );]&]
[s0;C0 &]
[s0; [C0 iEMail `= new QLineEdit( input );]&]
[s0; [C0 iEMail`->resize( iEMail`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( iEMail, 1, 3 );]&]
[s0; [C0 liEMail`->setBuddy( iEMail );]&]
[s0;C0 &]
[s0; [C0 change `= new QPushButton( `"`&Change`", input );]&]
[s0; [C0 change`->resize( change`->sizeHint() );]&]
[s0; [C0 grid1`->addWidget( change, 1, 4 );]&]
[s0; [C0 connect( change, SIGNAL( clicked() ), this, SLOT( changeEntry()
) );]&]
[s0;C0 &]
[s0; [C0 tabWidget`->addTab( input, `"`&Add/Change Entry`" );]&]
[s0;C0 &]
[s0; [C0 // `-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-`-
`-`-]&]
[s0;C0 &]
[s0; [C0 QWidget `*search `= new QWidget( this );]&]
[s0; [C0 QGridLayout `*grid2 `= new QGridLayout( search, 2, 5,
5, 5 );]&]
[s0;C0 &]
[s0; [C0 cFirstName `= new QCheckBox( `"First `&Name`", search
);]&]
[s0; [C0 cFirstName`->resize( cFirstName`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( cFirstName, 0, 0 );]&]
[s0; [C0 connect( cFirstName, SIGNAL( clicked() ), this, SLOT(
toggleFirstName() ) );]&]
[s0;C0 &]
[s0; [C0 cLastName `= new QCheckBox( `"`&Last Name`", search );]&]
[s0; [C0 cLastName`->resize( cLastName`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( cLastName, 0, 1 );]&]
[s0; [C0 connect( cLastName, SIGNAL( clicked() ), this, SLOT( toggleLastName()
) );]&]
[s0;C0 &]
[s0; [C0 cAddress `= new QCheckBox( `"Add`&ress`", search );]&]
[s0; [C0 cAddress`->resize( cAddress`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( cAddress, 0, 2 );]&]
[s0; [C0 connect( cAddress, SIGNAL( clicked() ), this, SLOT( toggleAddress()
) );]&]
[s0;C0 &]
[s0; [C0 cEMail `= new QCheckBox( `"`&E`-Mail`", search );]&]
[s0; [C0 cEMail`->resize( cEMail`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( cEMail, 0, 3 );]&]
[s0; [C0 connect( cEMail, SIGNAL( clicked() ), this, SLOT( toggleEMail()
) );]&]
[s0;C0 &]
[s0; [C0 sFirstName `= new QLineEdit( search );]&]
[s0; [C0 sFirstName`->resize( sFirstName`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( sFirstName, 1, 0 );]&]
[s0;C0 &]
[s0; [C0 sLastName `= new QLineEdit( search );]&]
[s0; [C0 sLastName`->resize( sLastName`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( sLastName, 1, 1 );]&]
[s0;C0 &]
[s0; [C0 sAddress `= new QLineEdit( search );]&]
[s0; [C0 sAddress`->resize( sAddress`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( sAddress, 1, 2 );]&]
[s0;C0 &]
[s0; [C0 sEMail `= new QLineEdit( search );]&]
[s0; [C0 sEMail`->resize( sEMail`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( sEMail, 1, 3 );]&]
[s0;C0 &]
[s0; [C0 find `= new QPushButton( `"F`&ind`", search );]&]
[s0; [C0 find`->resize( find`->sizeHint() );]&]
[s0; [C0 grid2`->addWidget( find, 1, 4 );]&]
[s0; [C0 connect( find, SIGNAL( clicked() ), this, SLOT( findEntries()
) );]&]
[s0;C0 &]
[s0; [C0 cFirstName`->setChecked( TRUE );]&]
[s0; [C0 sFirstName`->setEnabled( TRUE );]&]
[s0; [C0 sLastName`->setEnabled( FALSE );]&]
[s0; [C0 sAddress`->setEnabled( FALSE );]&]
[s0; [C0 sEMail`->setEnabled( FALSE );]&]
[s0;C0 &]
[s0; [C0 tabWidget`->addTab( search, `"`&Search`" );]&]
[s0;C0 &]
[s0; [C0 mainGrid`->addWidget( tabWidget, 0, 0 );]&]
[s0; [C0 `}]&]
[s0;C0 ]}}&]
[s0;=2 &]
[s0;%% ]

View file

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