View previous topic :: View next topic |
Author |
Message |
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 9:53 am Post subject: |
|
|
Oui c'est ça, il faut que tu relance.
C'est vrai que pour les packets type KDE, ça va être très long (si tu veux faire le test en entier d'un coup). Par contre, il est déjà possible d'interrompre dacovea entre chaque génération. Un fichier sauvegarde la génération en cours, et donc tu reprends de la dernière génération que tu as fini. Pour les projets conséquents, il sera possible de transmettre ces fichiers de génération au serveur, qui les redistribuera (d'où le nom de Distributed Acovea). Et donc, au lieu d'attendre (Taille de population (p) * Nombre de populations (n) * Nombre de Generations (g)) compilations, on pourra attendre que (Taille de population (p) * Nombre de populations (n)) (soit un gain de 4 par rapport à maintenant).
De plus, sur des projets comme KDE, l'optimisation aura un sens uniquement sur les librairies de KDE (et pas tous les soft). Donc comme les librairies KDE sont compilés en 4 heures sur ma machine, il faudrait, sur ma machine p * n * g * 4 heures = 5 * 7 * 4 * 4 heures = 560 heures (ou 24 jours complet) pour faire tous les tests. Ou 6 jours pour passer d'une génération à une autre.
Voila, rien n'est simple!!!
[edit] Zero en calcul mental !! Heureusement que Martin a l'oeil perçant ! [/edit] _________________ Think it twice, think it thrice, you never think enough...
Last edited by X-Ryl669 on Wed Jun 16, 2004 11:35 am; edited 1 time in total |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 10:02 am Post subject: |
|
|
YuLin, cette table n'est pas suffisante, car elle ne distingue pas les processeurs HyperThreading des autres (par exemple), ou les Athlon XP. Pour ce faire, il faudrait le champ Extended Family dans cpuinfo, mais on ne l'a pas. Sinon, il faudrait emettre l'instruction assembleur (cpuid) pour le lire nous même, mais alors là, en python, c'est pas facile du tout (obligé de faire une librairie en C que python utiliserait). Bref, la solution à partir du nom du processeur semble plus facile... _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed Jun 16, 2004 10:53 am Post subject: |
|
|
Dans le fichier gcc33_processor.dacovea qui est maintenant crée tout seul j'ai march=pentium4 alors que j'ai un athlon XP.
Pendant la compill j'ai tout le temps :
-==¤¤¤ [ 6 / 7 ] Running test, please wait ¤¤¤==-
SHORT RUN TIME ERROR:
CFLAGS= -O3 -march=pentium4 -ffast-math -fno-merge-constants -fno-omit-frame-pointer -fno-cprop-registers -fno-loop-optimize -fcse-skip-blocks -fstrength-reduce -frerun-cse-after-loop -fpeephole2 -fschedule-insns -freorder-blocks -fsched-interblock -freorder-functions -falign-loops -falign-jumps -falign-labels -finline-functions -frename-registers -fprefetch-loop-arrays -freduce-all-givs -ftracer -mieee-fp -mno-push-args -maccumulate-outgoing-args -minline-all-stringops -fno-trapping-math
Je vais changer le fichier pour refaire les tests. |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Wed Jun 16, 2004 11:07 am Post subject: |
|
|
X-Ryl669 wrote: | il faudrait, sur ma machine p * n * g * 4 heures = 5 * 7 * 4 * 4 heures = 80 heures (ou 3 jours complet) pour faire tous les tests. Ou 1 jours pour passer d'une génération à une autre |
Sauf si je me trompe 5*7*4*4 = 560 heures (23.33 jours)
Et en plus 3 semaines après il y a une nouvelle version et on recommence... |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 11:33 am Post subject: |
|
|
Pachacamac,
ça c'est etrange. Tu peux poster /etc/hardware.conf ?
Martin, oui c'est exact "je m'ai gouré", il faudrait 140 heures (6 jours) pour passer d'une génération à une autre. Et donc 24 jours pour un test complet. Par contre, si on réunit 4 configurations identiques, on peut avoir les résultats en 6 jours quand même (par la distribution des fichiers de générations). Lorsque la version change, comme tu dis, on peux tout relancer (mais alors c'est super long), ou réduire le nombre de génération et de population (par exemple 2 générations pour 3 populations de 3 individus), en partant des meilleurs CFLAGS trouvés dans la version précédente. Le temps total de calcul deviendrait 72 heures soit 3 jours.
La première fois ça risque d'être assez long, c'est sur _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Wed Jun 16, 2004 12:55 pm Post subject: |
|
|
bizarre maintenant ça se plante au bout de 10 minutes avec : Code: | ------------------------------------------------------------
[HCG] Test finished transmitting the result... [ OK ]
[HCG] Testing result is enabled so test is running [ OK ]
[HCG] Testing with -O3 flag [ OK ]
[HCG] Compilation took 24s [ OK ]
[HCG] -O3 returned 2.940 with binary size 355499 bytes [ OK ]
[HCG] Testing with fitted flags [ OK ]
Traceback (most recent call last):
File "/root/cflags_en_folie/cflagselect.py", line 154, in ?
InOut.TransmitResult(listname[softname], dr, result, Conf, teston != -1)
File "/root/cflags_en_folie/InOut.py", line 648, in TransmitResult
resultfile = open(result, "r")
IOError: [Errno 2] No such file or directory: '/tmp/ts/lame.out' | et effectivement pas de lame.out |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 1:18 pm Post subject: |
|
|
En théorie, tu ne peux pas arriver à l'étape de transmission des résultats tant que tu n'as pas de /tmp/ts/lame.out (dacovea doit se relancer pour créer ce fichier). J'ai modifié récemment cette partie dans dacovea, et j'ai pu introduire un bug, il faut que je vérifie (mais cela me semble etrange)... As-tu vu le message de dacovea final, avec
optimistics options :
-ceflag (1.750)
-unautreflag (1.251)
etc... ?
Si oui, alors, il faut absolument que je comprenne pourquoi il n'a pas écrit le fichier lame.out...
Sinon, relance le script, il relancera dacovea. Si tu as toujours les mêmes résultats, (c'est à dire la même erreur), alors c'est sur, c'est mon code qui se plante... _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Wed Jun 16, 2004 2:13 pm Post subject: |
|
|
C'est toujours pareil, et j'ai bien fait Code: | rm /tmp/ts/lame.0* /tmp/ts/lame.out | Et je ne vois pas les fameux messages
optimistics options :
-ceflag (1.750)
-unautreflag (1.251)
etc... |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 2:21 pm Post subject: |
|
|
Bah, c'est pas le bon fichier
Code: |
rm /tmp/ts/lame*.run
|
au lieu de lame.0*... Mais je vais relancer un test complet chez moi dès ce soir... _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Wed Jun 16, 2004 2:45 pm Post subject: |
|
|
J'ai effacé /tmp/ts/lame0* (il y a une erreur de frappe, aïe, dans mon message précédent)
j'ai donc bien effacé les bons fichiers. |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 3:02 pm Post subject: |
|
|
Bon, je vérifie ce soir... Et je reposte ici. _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
GNUTortue Apprentice
Joined: 29 May 2004 Posts: 234 Location: Suisse Pontenet (BE)
|
Posted: Wed Jun 16, 2004 5:30 pm Post subject: |
|
|
Bonjour,
Chez moi quand j'ai une erreur résolu y'en à une autre qu'arrive...
j'avait essayé de testé lame mais à la fin ça me donnait une erreur
en cherchant dans ce post j'ai pu lire que le prob ce résolvait en rajoutant LANG="C" mais ça me donne toujours la même erreur.
voyez plutôt : Code: |
[HCG] Testing : lame v3.96 [ OK ]
[HCG] Download of lame in /tmp/ts/lame-3.96.tar.gz succeeded [ OK ]
[HCG] Download of TS/testlame in /tmp/ts/testlame succeeded [ OK ]
[HCG] Download of TF/test.wav in /tmp/ts/test.wav succeeded [ OK ]
[HCG] Download of GS/gslame in /tmp/ts/gslame succeeded [ OK ]
[HCG] GZipped tar found, reading it [ OK ]
[HCG] Archive found now and modified [ OK ]
[HCG] Dacovea command line below \/\/\/ [ OK ]
dacovea -config /tmp/ts/gcc33_processor.dacovea -srcdir /tmp/ts/lame-3.96/ -bts /tmp/ts/testlame -run /tmp/ts/lame000.run -out /tmp/ts/lame.out -g 4 -n 5 -p 7 -sr 0.15 -ir 0.143
[HCG] Report this command line if any problem(no tests) occured [ WARN ]
[HCG] Starting the test... [ OK ]
[HCG] Test finished transmitting the result... [ OK ]
[HCG] Testing result is enabled so test is running [ OK ]
[HCG] Testing with -O3 flag [ OK ]
[HCG] Compilation took 38s [ OK ]
[HCG] -O3 returned 3,916 with binary size 318659 bytes [ OK ]
[HCG] Testing with fitted flags [ OK ]
[HCG] Compilation took 39s [ OK ]
[HCG] Dacovea flags returned 2,992 with binary size 306052 bytes [ OK ]
[HCG] Testing with original project flags [ OK ]
takehiro.c:1202: warning: `all_scalefactors_not_negative' defined but not used
[HCG] Compilation took 43s [ OK ]
[HCG] Initial flags returned 3,306 with binary size 383910 bytes [ OK ]
Traceback (most recent call last):
File "/root/bin/cflagselect.py", line 154, in ?
InOut.TransmitResult(listname[softname], dr, result, Conf, teston != -1)
File "/root/bin/InOut.py", line 762, in TransmitResult
Mean = float(o3[0]) + float(proj[0]) + float(dac[0])
ValueError: invalid literal for float(): 3,916 |
_________________ Jabber : tortue@swissjabber.ch
donc les gentooistes on un penchant pour le japonais... (daywalker, 2004-10-07 à 15:23:57)
Samurai deeper Kyoo |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Wed Jun 16, 2004 5:39 pm Post subject: |
|
|
Il faut faire Code: | LANG="C" ./cflagselect.py | ou Code: | export LANG="C"
./cflagselect.py |
Si ça ne marche toujours pas, il doit y avoir encore d'autres variables d'environnement qui contiennent fr quelquechose.
Fais unet examine la liste et fais un Code: | unset variable_incriminée | avant de relancer ./cflagselect.py |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 9:37 pm Post subject: |
|
|
Donc, une nouvelle version pour la nuit...
Voila, là c'est une version majeure, donc il faut tout supprimer (désolé), à l'exception de /etc/hardware.conf.
Les changements sont :
- Ajout de l'option -clean au script cflagselect.py pour tout nettoyer (désinstallation de dacovea et de tous les scripts à l'exception de cflagselect.py)
- Ajout de l'option -update au script cflagselect.py pour retélécharger les scripts
- Ajout de l'option -sync au script cflagselect.py pour mettre à jour la liste de logiciels
- Ajout de l'option -help ou --help au script cflagselect.py pour afficher les options
- Correction d'un bug majeur dans Dacovea, mis en évidence par Martin.
- Correction de l'erreur dûe au float en . ou en , (et ce, indépendament de la variable LANG)
- Ajout de quelques processeurs dans leur détection, et modification automatique du fichier gcc33_processor.dacovea.
- Dacovea compile sur gcc34 sans le flag -fpermissive
- les AMD64 devraient être détectés
- d'autre modifications mineures
Voila, bonne chance _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed Jun 16, 2004 10:51 pm Post subject: |
|
|
J'ai lancé la compill en milieu d'après midi et ce n'est toujours pas fini (il est 00:50)
Mon processeur est un 1600+, il est occupé entre 40% et 60% en plus de la compill mais cela me parait tout de meme tès long.
Combien de temps mettez vous pour finir tous les tests ? |
|
Back to top |
|
|
YuLin Tux's lil' helper
Joined: 30 Jan 2004 Posts: 88 Location: Lausanne [CH]
|
Posted: Wed Jun 16, 2004 10:57 pm Post subject: |
|
|
En ce qui me concerne les tests n'ont pas pris plus de 3h avec mon Barton 2500+ et mes 512 MB de RAM. _________________ Life would be so much easier if we could have a look at the source code...
http://photoblog.swissly-yours.net |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Wed Jun 16, 2004 11:16 pm Post subject: |
|
|
Normalement, tu as une barre de progression (Genre Generation X/Y, Testing population Z/T, Running Test P/M).
Pour savoir où tu en es, dis toi qu'il faut que tu ai fait Y*T*M compilation, et que tu en es à X*Z*P / Y*T*M. Voila...
J'avais pensé à faire une estimation du temps restant, mais j'ai eu peur que cela effraie
Serieusement, le temps des compilations varie beaucoup en fonction des paramêtres et donc il est difficile de prévoir... _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed Jun 16, 2004 11:19 pm Post subject: |
|
|
Ah ca y est les tests sont finis !!!
Code: | [HCG] Test finished transmitting the result... [ OK ]
[HCG] Testing result is enabled so test is running [ OK ]
[HCG] Testing with -O3 flag [ OK ]
[HCG] Compilation took 158s [ OK ]
[HCG] -O3 returned 10.749 with binary size 319245 bytes [ OK ]
[HCG] Testing with fitted flags [ OK ]
[HCG] Compilation took 175s [ OK ]
[HCG] Dacovea flags returned 9.559 with binary size 318253 bytes [ OK ]
[HCG] Testing with original project flags [ OK ]
takehiro.c:1202: warning: `all_scalefactors_not_negative' defined but not used
[HCG] Compilation took 186s [ OK ]
[HCG] Initial flags returned 10.722 with binary size 383888 bytes [ OK ]
Traceback (most recent call last):
File "./cflagselect.py", line 154, in ?
File "./InOut.py", line 730, in TransmitResult
File "/usr/lib/python2.2/random.py", line 349, in randint
return self.randrange(a, b+1)
File "/usr/lib/python2.2/random.py", line 313, in randrange
istop = int(stop)
OverflowError: long int too large to convert to int
|
Il y a des petites erreurs à la fin. Est ce "normal" ? |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Thu Jun 17, 2004 7:19 am Post subject: |
|
|
Bon, j'ai tout viré ce matin : Code: | rm -rf /tmp/ts
make uninstall (de acovea)
rm -rf * (dans le répertoire de lancement de cflagselect.py) |
retéléchargé le script cflagselect.py et recommencé à zéro.
Résultat :
installation et compilation OK sans aucune bidouille
Personnalisation de gcc34_processor.dacovea
Démarrage du test, et au bout de 14 minutes : Code: | ------------------------------------------------------------
[HCG] Test finished transmitting the result... [ OK ]
[HCG] Testing result is enabled so test is running [ OK ]
[HCG] Testing with -O3 flag [ OK ]
[HCG] Compilation took 25s [ OK ]
[HCG] -O3 returned 2,966 with binary size 355499 bytes [ OK ]
[HCG] Testing with fitted flags [ OK ]
Traceback (most recent call last):
File "/root/cflags_en_folie/cflagselect.py", line 223, in ?
InOut.TransmitResult(listname[softname], dr, result, Conf, teston != -1)
File "/root/cflags_en_folie/InOut.py", line 661, in TransmitResult
resultfile = open(result, "r")
IOError: [Errno 2] No such file or directory: '/tmp/ts/lame.out'
real 13m48.545s
user 9m54.207s
sys 2m40.519s
root@opteron ~/cflags_en_folie >ls -al /tmp/ts
total 4052
drwxr-xr-x 3 root root 4096 jun 17 08:50 ./
drwxrwxrwt 3 root root 4096 jun 17 08:50 ../
-rw-r--r-- 1 root root 2973 jun 17 08:37 gcc32_pentium4.dacovea
-rw-r--r-- 1 root root 4607 jun 17 08:37 gcc33_pentium4.dacovea
-rw-r--r-- 1 root root 5060 jun 17 08:37 gcc34_pentium4.dacovea
-rw-r--r-- 1 root root 5060 jun 17 08:37 gcc34_processor.dacovea
-rwxr-xr-x 1 root root 167 jun 6 18:07 gslame*
-rw-r--r-- 1 root root 0 jun 17 08:37 lame000.run
drwxrwxrwx 13 martin 1000 4096 jun 17 08:37 lame-3.96/
-rw-r--r-- 1 root root 1254175 avr 11 18:00 lame-3.96.tar.gz
-rwxr-xr-x 1 root root 1244 mai 29 15:59 testlame*
-rw-r--r-- 1 root root 2833964 mai 23 19:53 test.wav | comme hier. |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Thu Jun 17, 2004 9:13 am Post subject: |
|
|
A l'attention de Pachacamac,
Cette erreur est vicieuse, car elle dépend de la version de python. L'erreur venait de mon script, mais n'était pas détectée par python 2.3, alors qu'elle l'est dans la version 2.2.
La fonction randint(a,b) (qui renvoie un nombre entre ses arguments, renvoie en fait un nombre entre a et b+1. Ayant mis 2^32 pour b, j'ai un overflow (2^32 + 1 ne rentre pas dans 32 bits)... Problème de documentation en l'occurence. Mais c'est corrigé.
Donc cflagselect.py -update
A l'attention de Martin,
Je ne sais pas pourquoi tu n'as pas de lame.out. Tu devrais l'avoir si tu as installé la dernière version de dacovea (de 01:00 am ce matin) Les raisons possibles sont : la version de dacovea dans le path ne tombe pas sur la dernière version installée. Je te PM la marche à suivre pour verifier. _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
GNUTortue Apprentice
Joined: 29 May 2004 Posts: 234 Location: Suisse Pontenet (BE)
|
Posted: Sun Jun 20, 2004 3:56 pm Post subject: |
|
|
C'est normal que si je met autre chose que lame ça me donne :
Quote: | [HCG] Testing : testme v0.1 [ OK ]
[HCG] Download of testme in /tmp/ts/coco.com succeeded [ OK ]
[HCG] Download of None in /tmp/ts/None succeeded [ OK ]
[HCG] Download of salut in /tmp/ts/salut succeeded [ OK ]
[HCG] Download of in /tmp/ts/ succeeded [ OK ]
Traceback (most recent call last):
File "/root/bin/cflagselect.py", line 188, in ?
dr = InOut.DownloadSoft(listname[softname])
File "/root/bin/InOut.py", line 442, in DownloadSoft
realpath = lines[0].split("/")[0]
IndexError: list index out of range |
// Edit
DSL question idiote c'est noté sur le site que seul lame fonctionne ... _________________ Jabber : tortue@swissjabber.ch
donc les gentooistes on un penchant pour le japonais... (daywalker, 2004-10-07 à 15:23:57)
Samurai deeper Kyoo |
|
Back to top |
|
|
X-Ryl669 Tux's lil' helper
Joined: 16 Feb 2004 Posts: 135
|
Posted: Mon Jun 21, 2004 8:58 am Post subject: |
|
|
Nouveauté concernant le site, et les scripts.
La nouvelle version de dacovea précise le temps restant par run, enlève les caractères japonais que certains auraient pû observer.
Les scripts proposent une gestion des interruptions améliorée (plus de KeyboardInterrupt pythonnien). Il est maintenant possible de vérifier avec ces propres Cflags si les performances de Dacovea sont meilleures. Pour cela, une nouvelle option est gérée pour le script cflagselect.py. Il s'agit de l'option -cflag /CHEMIN/NOMDUFICHIER.
Cette option nécessite la création d'un fichier contenant la liste de vos cflags (un simple copier coller du contenu de la variable CFLAG de /etc/make.conf dans un fichier devrait suffire). C'est le même format que pour le fichier lame.out, à savoir, soit tous les flags à la suite séparés par des espaces, soit un flag par ligne.
Enfin, les possesseur de Pentium / Pro / II / III devraient pouvoir maintenant envoyer leurs résultats sans interventions humaines (détection correcte de leur processeur).
Le site web est remanié, plus complet. Il intègrera peut être des publicités google, afin de financer le stockage sur un serveur mutualisé, et un vrai nom de domaine.
A ce propos, si certains d'entre vous connaissent le service AdSense de google, est-ce rentable, combien gagne-t-on (assez pour financer un service Webhosting?) ?
Si vous voyez des pub google, cliquez vous dessus ?
Goggle, PayPal ?
Voila. _________________ Think it twice, think it thrice, you never think enough... |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Mon Jun 21, 2004 12:00 pm Post subject: |
|
|
X-Ryl669 wrote: | Les scripts proposent une gestion des interruptions améliorée (plus de KeyboardInterrupt pythonnien). |
J'aurais préféré "pythonnesque" ça aurait fait plus pittoresque |
|
Back to top |
|
|
Martin LORANG Tux's lil' helper
Joined: 07 Dec 2003 Posts: 92 Location: Moselle / France
|
Posted: Mon Jun 21, 2004 12:06 pm Post subject: |
|
|
Trève de rigolade : je vais essayer. |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Mon Jun 21, 2004 1:37 pm Post subject: |
|
|
Je ne sais pas du tout combien rapportent les pubs de google. ce n'est pas précisé dans le contrat ?
Habituellement je ne suis jamais intéressé par les sites qui font leur pubs mais je clique régulièrement dessus pour aider le site que je visite. Cela ne coute rien, seulement un peu de temps, alors pourquoi s'en priver ?
Je vais revoir le site pour les modifs.
Un changement qui pourrait etre fait concerne ton script. Par exemple indiquer la dernière mise à jour serai un plus. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|