π
<-

News 2024
August (6)
July (4)
June (8)
May (6)
April (11)
March (6)

News 2023
August (6)
July (6)
June (10)
May (12)
April (14)
March (11)

News 2022
October (11)
August (4)
July (4)
June (3)
May (8)
April (5)
March (6)

News 2021
August (4)
July (12)
June (6)
May (7)
April (6)
March (4)
January (10)

News 2020
August (6)
July (14)
June (11)
May (8)
April (19)
March (4)

News 2019
August (2)
July (3)
June (4)
May (8)
April (3)
March (5)

News 2018
August (7)
June (11)
May (5)
April (13)
March (12)

News 2017
August (5)
July (6)
June (3)
May (3)
April (20)
March (11)
January (10)

News 2016
August (5)
July (5)
June (4)
May (3)
April (6)
March (2)

News 2015
August (6)
July (6)
June (5)
May (4)
April (12)
March (8)

News 2014
August (6)
July (7)
June (3)
May (1)
April (2)
March (6)

News 2013
August (6)
July (14)
June (1)
May (5)
April (1)
March (1)

News 2012
August (3)
July (3)
June (3)
April (2)
March (3)

News 2011

Coques perso Casio Allemagne adaptées aux CW Classwiz

New postby critor » 06 Jul 2023, 21:58

Pour la rentrée 2021, Casio Allemagne avait fait appel à des artistes pour concevoir une collection de 5 coques personnalisées sur le thème des STEM pour ses calculatrices scientifiques allemandes fx-82/85/87/991DE X :


Même ci ces coques ciblaient les modèles commercialisés en Allemagne à l'époque, rappelons qu'elles restaient parfaitement compatibles avec l'ensemble des modèles de génération EX Classwiz, c'est-à-dire entre autres avec les fx-92 Spéciale Collège françaises.

Pour la rentrée 2022, Casio Allemagne avait refait appel à Aleksandar Georgiev pour concevoir cette fois-ci une série de 3 coques personnalisées sur le thème de la musique et du sport.

15576Rappelons que depuis la rentrée 2022, Casio remplace progressivement ses modèles scientifiques EX Classwiz par des modèles issus d'une nouvelle génération CW Classwiz.

Pour la France cela donne la nouvelle formidablissime fx-92 Collège Classwiz pour cette rentrée 2023.

L'Allemagne pour sa part a eu droit à la primeure avec la fx-800DE CW dès la rentrée 2022, puis les fx-82/85/87/991DE CW et fx-810DE CW pour cette rentrée 2023.

Problème, lorsque nous étions allés te tester la nouvelle génération CW Classwiz en Allemagne avec la fx-800DE CW dès [url]juin 2022[/url], nous avions remarqué que le boîtier des CW Classwiz changeait de formes et que les coques produites pour les anciennes EX Classwiz n'étaient pas compatibles. :'(

Et bien bonne nouvelle, pour cette rentrée 2023 Casio Allemagne sort de nouvelles éditions de ses coques perso adaptées aux nouveaux modèles fx-82/85/87/800/810/991DE CW et plus généralement à l'ensemble de la nouvelle génération CW Classwiz dont la nouvelle fx-92 Collège Classwiz de rentrée 2023 ! :bj:

Cette nouvelle collection de rentrée 2023 reprend :

Source : https://www.casio.com/de/scientific-cal ... /case-art/

iF Design Awards 2023 pour les CW Classwiz et prototypes !

New postby critor » 28 Jun 2023, 01:09

iF design est une organisation internationale qui se concentre sur la promotion du design. Fondée en 1953 en Allemagne, l'organisation décerne chaque année les iF Design Awards, l'un des prix de design les plus prestigieux au monde, ne récompensant que des conceptions au design exceptionnel.

Les participants doivent choisir une spécialité et une catégorie :
  • 9 spécialités sont offerts : produit, packaging, communication, design d'intérieur, concepts professionnels, design de services, architecture, expérience utilisateur (UX), interface utilisateur (UI)
  • et pas moins de 81 catégories (industrie, éclairage, branding, bicyclettes, apps, technologie de construction, jardin, mobilier, transport, informatique, audio, médecine, télécommunications, cuisine, ...)

Nous apprenons que Casio vient d'être triplement primé aux iF Design Awards 2023, dans la spécialité produit pour 3 catégories différentes !

Dans la catégorie montres / bijoux, c'est la montre G-SHOCK MR-G MRG-B5000 qui gagne, une montre de luxe commercialisée à partir de 3500€ pour les éditions les moins chères.

Dans la catégorie instruments de musique c'est encore mieux car parmi les 18 produits primés c'est Casio qui décroche le grand prix, le iF design Award 2023 Gold, avec son piano numérique Privia PX-S7000, commercialisé à partir de 2500€ pour les éditions les moins chères.

1668115990Mais fonçons plutôt vers ce qui nous intéresse, la catéogorie bureau / papeterie dans laquelle Casio décroche son troisième prix, cette fois-ci pour ses calculatrices scientifiques CW Classwiz, nouvelle génération lancée pour la rentrée 2022 en Allemagne avec un premier modèle fx-800DE CW que nous étions partis te tester juin 2022, et dont est issue la formidablissime fx-92 Collège Classwiz à laquelle nous avons droit à notre tour en France pour cette rentrée 2023.

1667316676Cette nouvelle génération changeait justement radicalement le design du boîtier. Au menu un nouveau couvercle non plus coulissant mais clipsable avec une finition façon tissu, et de simili coutures sur les ergots rajoutés à cette fin.

Mais ce n'est pas tout, car Casio a courageusement osé toucher à l'organisation des touches qui n'avait plus bougé depuis des décennies, changeant radicalement cette dernière. Nous pouvons citer entre bien d'autres choses :
  • réduction du nombre de touches du clavier, de 50 à 47
  • suppression du modificateur
    ALPHA
    qui jusqu'alors était utilisé pour bien d'autres choses que la saisie alphabétique, la quasi totalité des 50 touches du clavier ayant sa fonction secondaire "alphabétique" alors que les lettres accessibles via ce modificateur étaient limitées à 7 (A, B, C, D, E, F et M)
  • ajout de nouvelles touches permettant d'alléger le clavier et justement rendre son utilisation plus logique, intuitive et facile :
    • touche
      CONFIG
      dédiée aux réglages transversaux
    • touche
      OUTILS
      dédiée à tout ce qui est spécifique à l'application courante
    • nouvelle touche
      CATALOGUE
      listant l'ensemble des fonctions intégrées de la calculatrice
    • gestionnaire de variables accessible avec la nouvelle touche
      VARIABLE
    • gestionnaire de fonctions utilisateur via la nouvelle touche
      FONCTION
    • ajout de 2 touches de défilement en plus des 4 touches directionnelles

1598915601Lorsque nous étions donc partis te tester la fx-800DE CW en Allemagne, la calculatrice présente sur le stand de Casio portait un nom de modèle différent : fx-800DE Z.

Ce suffixe différent permettait justement de la distinguer car il s'agissait encore d'un prototype non finalisé. L' écran de diagnostic affichait justement une version logicielle différentes de celle du modèle de production que nous avons récupéré par la suite :
  • version S2 (probablement pour "sample 2" soit "échantillon 2") de somme de contrôle 8FCD sur le prototype fx-800DE Z
  • version A de somme de contrôle BC9D sur la fx-800DE CW finale

Et bien justement, les visuels publiés par iF Design dans le cadre de l'attribution du prix à Casio sont une véritable mine d'or, car illustrant des modèles non finalisés et parfois même jamais sortis ! :bj:

Voici pour commencer ce qui semble être une vraie photo avec la fx-82EZ, prototype du modèle d'entrée de gamme international fx-82CW !

Restons dans l'entrée de gamme avec la fx-350EZ, prototype du modèle international fx-350CW. Ici par contre il semble s'agir d'un rendu 3D, ce qui explique d'ailleurs l'incohérence entre le positionnement du modèle dans la gamme et le nombre d'applications présentes à l'écran d'accueil. La fx-350EZ est rendue ici avec 6 icônes d'applications affichées à l'écran (et la barre de défilement indique qu'il y en a d'autres), alors que les modèles d'entrée de gamme fx-82/350CW ne disposent que de 4 applications. Sans doute le graphiste de Casio a-t-il jugé que c'était plus intéressant d'illustrer avec l'affichage bien mieux rempli des modèles haut de gamme.

Voici maintenant un fantastique mystère, la fx-888TTG. Mais qu'est-ce que c'est ? Et bien nous ignorons totalement de quoi il s'agit, aucune calculatrice scientifique Casio sortie n'ayant jamais utilisé la numérotation fx-888 ni le suffixe TTG. On peut noter que la coque présente une teinte verte proche de celle de la nouvelle fx-92 Collège Classwiz de rentrée 2023, mais rien à voir puisque les inscriptions clavier sont ici en Anglais.

Le seul modèle de numérotation approchante serait la fx-880BTG, un modèle haut de gamme commercialisé au Vietnam, pouvant être configuré pour un affichage aussi bien en Anglais qu'en Vietnamien, et justement offert dans 4 couleurs différentes. Malheureusement, pas le moindre vert dans cet éventail. Et autre incohérence, selon le clavier la fx-888TTG utilise la virgule comme séparateur décimale exactement comme sur la fx-92 Collège Classwiz française, alors que la fx-880BTG utilise le point. Après, comme la fx-888TTG est ici encore un rendu 3D pour lequel le graphiste de Casio a pu de nouveau mélanger divers éléments visuels sans rapport pour les boîtier, écran et clavier afin de présenter le modèle sous son meilleur jour auprès d'iF Design, difficile de savoir quelles similarités et différences sont fiables ou non pour répondre à notre question.


Et nous terminons avec encore plus fort, la fx-991ID Plus. Si nous avions quelques doutes sur le modèle précédent, ici c'est simple rien ne va, le graphiste Casio semble vraiment avoir mélangé n'importe quoi n'importe comment.

La numérotation en fx-991 indique un modèle haut de gamme, alors que cette fx-991ID Plus ne présente que 4 applications exactement comme l'entrée de gamme fx-82/350CW.

Le suffixe ID Plus du rendu 3D indique ici :
  • un modèle localisé pour une commercialisation en Indonésie, alors que la dernière génération CW Classwiz n'a pas encore été déclinée pour ce pays
  • une appartenance à l'ancienne génération ES Plus (ou à son rafraîchissement ES Plus 2nd edition), alors que c'est pourtant bel et bien le clavier de génération CW Classwiz qui est ici présenté
La seule chose intéressante dans cette chimère, c'est que le graphiste semble nous avoir sorti un ancien visuel du clavier CW Classwiz. En effet l'icône de la touche
VARIABLE
est différente, la boîte dont sortent et où rentrent les valeurs étant ici fermée au lieu d'ouverte.

Précisons qu'il existe 2 modèles commercialisés en Indonésie portant précisément ce nom de modèle, les fx-991ID Plus et fx-991ID Plus 2nd edition, et qu'ils n'ont visuellement strictement rien à voir avec ce qui nous est présenté ici.

Source : https://ifdesign.com/en/winner-ranking/ ... wiz/564429 via https://www.casio.com/intl/news/2023/0512-ifdesign/

Résultats concours Casio "May the 4th" 2023

New postby critor » 23 Jun 2023, 10:16

Collègien(ne) ou lycéen(ne), jusqu'au jeudi 1er juin Casio t'a permis de participer à son exceptionnel concours May the 4th 2023.

Il te suffisait de programmer sur ta calculatrice Casio ou son émulateur ton meilleur dessin Star Wars, avec 2 catégories au choix :
  • catégorie fx-92 Collège : pour les dessins programmés sur fx-92+ Spéciale Collège ou déjà sur la nouvelle fx-92 Collège Classwiz de rentrée 2023
  • catégorie Graph Python : pour les dessins programmés en langage Python sur Graph 35+E II ou Graph 90+E

Dans chacune des deux catégories était à gagner un formidable gros lot : 1 console de jeux Nintendo Switch accompagnée d'1 jeu Star Wars (valeur 310€).

Dans une actualité précédente nous t'avions présenté l'ensemble des participations nous ayant été partagées.

Il est maintenant grand temps de découvrir les vainqueurs que Casio vient tout juste d'annoncer.




17006Nidal alias bouboule1 chez nous, élève de Quatrième au Collège Clément Marot à Lyon, est le grand vainqueur dans la catégorie fx-92 Collège.

Son dessin représente baby Yoda (ou Grogu), protagoniste du film The Mandalorian. Une œuvre d'autant plus remarquable que Nidal a lui-même conçu l'image en question.

Regardons un petit peu le code de sa participation :
Code: Select all
Style Croix
Répéter 1000
  ?→A
  A*1*10^-4→A
  100(A-Ent(A→B
  Style relevé
  Aller à x=-16+Ent(A ; y=20-Ent(B
  Stylo écrit
  Avancer de 100(B-Ent(B))-Ent(A
Consulter
Attention, à ce jour la plateforme en ligne Classpad.net ne permet pas d'afficher correctement ce script si tu suis le lien précédent.

Elle souffre en effet d'un bug qui a été signalé, faisant qu'elle ne reconnaît pas l'un des jetons utilisés dans le code, la puissance de 10 (de code hexadécimal 0x2D). Tout script dont le code fait appel à une puissance de 10 sera à ce jour inaffichable sur Classpad.net.

En attendant correction nous t'en proposons une version équivalente compatible Classpad.net, où nous avons juste supprimé l'usage de la puissance de 10, remplaçant le *10^-4 par un ÷10000.

"Ah ! non ! c'est un peu court, jeune homme !", aurait certainement répliqué Cyrano de Bergerac. Nous ne pouvons que nous incliner, c'est en effet en l'état bien trop court et simple relativement à la complexité du dessin, il manque quelque chose...

Rappelons en effet que la formidable fx-92+ Spéciale Collège de rentrée 2018 ainsi que son formidablissime successeur fx-92 Collège Classwiz de rentrée 2023 sont certes programmables dans un langage "à la Scratch / Logo / turtle", mais limitent dans tous les cas la taille du script saisi à 900 octets.

Dans ces 900 octets doivent donc rentrer à la fois les instructions de tracé mais également l'ensemble des données éventuelles.

Pour contourner cette difficilté Nidal a su faire preuve d'audace ; il a eu l'idée de sortir les données du code.

Nidal a décomposé l'affichage de son image en 44 segments horizontaux et son code est en fait une boucle demandant à l'utilisateur la saisie de nombres successifs, chacun codant les coordonnées d'un segment horizontal à tracer.

Précisons que la fenêtre graphique sur fx-92 Collège affiche des coordonnées allant de -95 à +96 en abscisse, et -23 à +23 en ordonnée.

Le format conçu par Nidal est le suivant en base décimale, aabbcc, avec :
  • aa-16 : abscisse de l'extrémité gauche du segment
  • cc-16 : abscisse de l'extrémité droite du segment
  • 20-bb : ordonnée des extrémités du segment
Les données à saisir pour obtenir l'affichage de baby Yoda se constituent alors des 44 nombres suivants :
Code: Select all
010009
110019
210029
000130
010204
090221
260229
030305
090311
140316
190321
250327
040411
140416
190426
060524
070623
090721
080809
130817
210822
080912
180922
081022
081122
061208
121214
171218
221224
061311
191324
041426
041526
031627
041726
041826
041926
072023
072123
072223
062324
062424
062524
092621

Félicitations ! :bj:




16932Ilyas R. alias ikario198 chez nous, est le grand vainqueur dans la catégorie Graph Python. Ilyas est élève en Première au lycée Louis Pasteur à Avignon, où il a l'honneur de suivre l'enseignement de spécialité de NSI de Vincent Robert alias cent20 chez nous. Vincent incite régulièrement ses disciples à participer à divers concours de programmation, notamment sur calculatrices, et arrive souvent à les conduire à la victoire. Une équipe de champions ces spécialistes NSI Louis Pasteur, bravo ! :bj:

Revenons-en à Ilyas, passionné à la fois de programmation et également depuis son enfance pour la saga Star Wars, qui a pu trouver ici une occasion exceptionnelle de combiner ses centres d'intérêt. Il a choisi pour sa part de représenter la scène du film-épisode 4 un Nouvel Espoir où le Millenium Falcon s'approche de la Death Star, réunissant ainsi deux vaisseaux emblématiques de la saga.

Son script de 44,849 Ko ne fait que 31 lignes, mais plusieurs d'entre elles sont très conséquentes, jusqu'à 18845 colonnes. Le script n'est donc pas consultable ni modifiable sur calculatrice (l'éditeur acceptant certes jusqu'à 300 lignes mais jusqu'à seulement 256 caractères chacune). Par contre le script sera parfaitement lançable.

Le script s'appuie ici sur la bibliothèque de tracé par pixels casioplot.

En insérant des retours à la ligne réguliers sur ses longues lignes, on reconnaît des éléments de l'affichage et met donc en évidence un codage des données par caractères. On note donc le codage distinct de plusieurs éléments graphiques :
  • le fond d'écran étoilé, affiché en premier
  • les deux vaisseaux ainsi qu'un titre "Star Wars X Casio", affichés par-dessus le précédent
C'est-à-dire que le script ne rafraîchit pas ici 384×192 pixels mais davantage, une bonne partie des pixels étant en effet solicités deux fois (pour le fond d'écran, et pour l'élément à afficher par-dessus). Malgré cela nous avons des performances très correctes ; la Graph 90+E sortant l'affichage de la scène après 30 secondes, un délai habituel.

Ilyas a visiblement bien du talent. Les vaisseaux se détachent ici clairement du fond d'écran sans pour autant choquer visuellement ; on s'attend à ce qu'ils se mettent à bouger à tout moment !

Si tu consultes le code, tu noteras qu'Ilyas l'a rempli de pléthore de références à l'univers de Star Wars :
Code: Select all
from casioplot import set_pixel as coup_de_sabre_laser, show_screen as voir_l_hologramme

nombre, ouvrir, memoire, classer, maitriser, force = sum, range, len, list, int, True

etoiles_de_la_galaxie = {'M': (26, 33, 43), 'C': (0, 6, 16), 'G': (12, 16, 27), 'F': (8, 12, 23), 'H': (15, 19, 30), 'E': (5, 9, 20), 'B': (0, 2, 14), 'D': (4, 8, 20), 'a': (69, 71, 83), 'A': (1, 0, 6), 'Q': (45, 45, 47), 'P': (42, 40, 51), 'R': (48, 47, 52), 'T': (52, 50, 61), 'L': (30, 29, 37), 'I': (18, 22, 34), 'Y': (68, 67, 72), 'U': (56, 56, 58), 'S': (50, 50, 52), 'O': (37, 36, 44), 'K': (29, 28, 33), 'J': (22, 22, 34), 'X': (61, 61, 71), 'N': (37, 36, 41), 'V': (59, 59, 59), 'c': (77, 77, 85), 'b': (77, 77, 77), 'Z': (66, 66, 78), 'e': (82, 83, 88), 'f': (85, 85, 97), 'i': (94, 93, 98), 'd': (78, 78, 88), 'h': (88, 90, 102), 'W': (54, 57, 74), 'g': (80, 87, 105), 'y': (134, 138, 149), 'n': (104, 106, 118), 's': (109, 120, 140), 'k': (93, 99, 113), 'r': (120, 119, 125), 'w': (126, 129, 148), 'j': (92, 94, 107), 'q': (108, 115, 134), 'l': (92, 98, 122), 'p': (104, 108, 133), 'o': (103, 108, 128)}
au_fin_fond_de_la_galaxie = ['MCGGFGHFEGCCFCBDEBaBDDCBDBBBBADAQAABACABBABACAAFAABAEEDCBFBBBAABCABBBDBABBCBPBBBBDCDCCCCBCCBECABEACCABEABACAADCAABCABDBABBCBRABCBBAADATBDBCCABABBABAAAAABACBAAEBBDBAAAAAABABAABABABAABABADAALCBB', 'DGFDFFFFFCCFCFIEBEBLCEBEBHCBBCBBABAAAABBBBAYBBAABDBBMAPCCBCCDDBACABBABCBCCAAGHBCEBCDCHEBDBCEBBCADCBCACABBAAAUSDABAEBCFCBABAAAAAACAFCACCEDDCDAGBAAABAABABAABBBAAAABAAAAAAABCABAACGAAAAABABACBOCBB', 'GBGIGCGFDCIEDDDCEDFCFEBFEBICACABABCAACABBBAKABABBABGDOBDEJCCBJACAEBBCCCBBAEEHCDCCBDFDBCBCGEBBDXBAABBCACAABNBDABCABBCCDACCABCFDABCABDBBCBBCBACFAAAABAGAAAACACKBCCABAAAAAADAAAAABAAACAAAAAQABBACBD', 'EDCDFRCDBGBDCEEEEEDGBFFCEFABDAECBAACCBAADACACADBAGFCIHGBDCCBDADBEABDBBFBCBBFBCCBBDBCBMDQBRBCBBBBBDBCBBCACBACACCACBDDADAABCCBACCBBCBACCBCBEBEABBBRAADAAABCABVADABABAAAABBEAAUDAAAABAAABABABBGABBB', 'DCXDCFEEDBDFECDBBCBDCBGECCIACBABBBABBABAAUAABAAAABAACAGRBDDFECCCADAAACBAAcBGBDBDDDBDEBFDCCDBcBEBADCABCCCCCBBABBFBARHBABBACBADBCEEADDBJHHFBBGALJBAGBAAABAAAADbABAAABBABBCIAAAUAAACAAGAAABACARBABC', 'CEBGEDIBCSFCDDCCCCBCCBCBCCUABCCUACAABBCCBACCAAACCABBCHDDBHEBBFACEBDEBBEEBADBBCGEEBCBCGCBGBDGCBBCaACBBBBFBABEBGBBCCBBBBAABABBBBHCFDAACDDCBDFAFBBACFGBAAABABBAABAAAABBAAABFCCACAAAAABHBAAAAADABCBB', 'DDDCGEECDCBFEBCBBAbBCCIBEBABAABABCADDBDBACABAAAABABBCBDBFBBCBEDGDbBCBDCCCQBCBBECBVCBbCZCDDEDDBFDHMBCCABBKEADHBDBBDBBMACAABCIDBAGEBFCCBEEBCEKGNAFBGACCEBADAACAACABABBAAAANDBAAABAACAAABAABBBBAADB', 'EFEEFDCCEDEKCBCBBBBCCBBHDDFBHHAAZCCBBFABABCBABBABCBCCCCCCDBCECCDBBDBDCECFJBBDEEFDBCBCCBCCBJBFFCFCDEBCFDBQBEAAFDFDCFCACCBBCDABCBKBCBBCDBBCSDFeGMACBGHCACBAPACABBCBABBABBBAAAABAAAAAABAACABABCABBB', 'EEGJEEBEFEIHHCDBBCDBCBECBFBDLHCBBDBBCBBBBAAACAABBACCBBCCCBfBCGFBBCDDFBFBBEBHCBDFEEBTBBGCGEBECFHHDCCCCDDEBEGNHCEFDCDDBADBDDBCECEBCCBDFCBCBAFEJFFDLFACABAAADAFBABAFBBAABBBPKCAAAAAAAAAAAAAACAABBBB', 'DFDBHJECDFFCCFEDCCADBBBBBBDCFDESCBDCBBCAAAAABAEACBADDBCBBECBEBDCEBCCBCBDHBEFBCDBBKFBBBCCCGFBFECDCEIMBDECDDEHFFIGGEFCBCACBACCBFBCCDCBBEDBaCGBEBBEiABACAACANBABCACBFABABABBBABBAAAAAAAAAAAAACaAABC', 'EEFFFFFECEBBCBBCDCEBEXCCCBEEDGFDIDCBBCCBABCABDACBEFBCDBDDBBCCCBGCBFCECFCBCBDFDBGCGBECDLQGEICIDJZCEDDECEFEEEGGFFHCJCFFCFCCDBCFBYBEBHBdBEAAFICDCJBOABCCAAABAAABAABABBBACBBBBBBAABBAAAAAABCACBACCBB', 'EECGFEEFFDBhBFBCCBDCBBDDDEFGHDGGEHDDCBBCBCBACABDCBBECBTCCDDCDBECCECCBCECZCEECJDPCEFFHBEGCDDGDFDCFBHDDEFDHGHFEIDHECCCGJCCCCECBCCCFDCBBBBBBCECFFADBCBABLBBABHCBAAABAECACBBBBBBBABAAAAABBAABBABCACC', 'CBFGEDICBFBBBDLBBBDCDCCDDDEEGGHIFFBBEBCBCBBDBBDBBCBCBBCDCCBBBCBDCBDFBDENBDFCECDDDBFBCFBBDBOCVFCMEWCCCFDFFFDLJDHCCCFDCBBDBCDBFBBCCECBCABCABCABAGCAFBCACEDADACCCDBBEBAZGBBBBBBBBAAABCAAAGLBBBBBACB', 'NODECJDEDDBKCBBcCEEBCDQDCUQHDHHFGCFCCBDDGBCBCDCDBBCBBVBSCCDEBCEFFCBEDCDEDEEDDCBCFCFCFEECBRIEFFEDDDDEFCDEGILFHDDLJDECCCBBBEDBDHBBBDUJAeABADABAJEHAICBCAGCAACEAGLDACACBBBCDDDBBBACBBAABBBBAADBACBC', 'BBEBECDEFMEBBDDBFBGFDEBGGFFDgFGGGDGGFDCBBCECMBDCCCCCGBcMEBEECEGCCIDIDCGFHFFEBHCDGEBNCBJCDMCFDDCECDEECGCHEFMPRZUFJFEDBCBCCBCICCFBBDBCAAHACACJHCOEEABCFHAWFAECEECCCWIDCEHGDCDCBBBBBBBBBBBBBDAAAACB', 'BDEDBCBDCDBCBcEECEDEECGDFGHGFHGGEIEIFDBCBFCCBFBGBCCCBDBCCFCEEEEEGEDFIEGCGHCCBBDFCDDRVBCCCCCCDHFEZDFHCDEGFLFMIKMJEGCDCBCBECGCBEBEDBBCACABBBAABABCAPBAABABBBDDBCBFABEDDEBFHDDBBCBBBBBBBBBBIBFOBBBB', 'BCDFBDDDCEJDECECDBEDFDEHEFFHGGIEDGHFEGEDOAABBCBDBBCCGDBFCDECFFLEECFDFDGFDFDFBHCDCDFFCCEFEBHCLHCDDEEECDFCQCFGIKKGCCCBDBBFbCKCDTBCBDBBDBBABABABPACBIBABBFCBBFBAACBEBGBCCFGBCBCBCBBBBMBBBCCDBAGBBAB', 'CBEBGDBCBSGDEEGFDiEDFDEChEHFJHGGIMDDJBFCUCRHBNEBCACADFBDDEGEGCHECECCEICFFFFECFEECEHCEHCFBFCFCCWJDFCXIEFFUDDIFEMLHEKJDDCDBLHDDCFBBACACDABABBCAKABAEBDBBBBBFBCEBCDGBFBDFCCDDCCBBBBDBBCCBBCBCDAAMNB', 'BBCEBCBDBCFECDDEFDFHDHFGDGGGFHHHFGHFGFFFADABAFDAACAEBBDDCHDDFFEFPGHEHDOFEEFFGLBBCDEDFBBCDEDBCFCDJCICGFEEEGFGGDFCBPJDBCLDECDDEBCDDABCAPBBADCACCBCCBDBBBBCCBDBBBBDBHEDFBFCEDDBBBCDCCCCCGcBCBBDBBBB', 'CDBBCBEDCCBGBGFFHHHHGEGGIFEGIIHGIPHFEDDBECBBBABAcADCDBEBHDFIFEHNECGFEGHFHEHEFGJFFFBgBDDCBCDCDCKDEJVEEGEIDHGGFEGCcBCByJEBGCDEBBGBDABAABACBBBCBCDBDCBCBDCCBBCBCBCBRBCEFCCFEDDCDCEDFEBDCBBDCBDBBGWB', 'BABBDBLFCEDBZDFFHFHFQIGIFHHGKFHEDaDHDGDEBCAEAADAAACBCBBBCDEDFFCKFEFCIGFIDIEIHFLGIKCBIDBBCCGCCGFIDLEFWDHDFGFHIGGHGRCILJBHCBDBBCBBCKACABCABBCBHBCBCFBCCBCCCDBCBBBBEBCEEEHFFEEDEDEEEBCCBDCBBCBBBdBD', 'BFDBCCBFCBDDHDGKIGFIKFIHGFFHHJGeDIFVFECDBEFAECDCCBACBbEFDHKDFHGHFLDKGFIFIEHGHELEGDQCDMBBBDBCCDDDGDGGLEEGGEEEFGIFJGOBISJFBHFBBBBACBBBAABCBBBDBCCCcBDCBCCDBBBCCECCCFBBDECGEDEEEEEECQBBZCCCBBCDBCFE', 'BABACFBCCBBHNFDEaEJDFHIGDbFEGFCJFGFDGCIFDCBCABBBAhBCDBFDIDCDIEFDFFIDEWFGHFIGHHDGGFDGDCBDCCGBCCEFDFIFGIEEFGFFIFFGHCLRFenYMGCBDABBBBAAEEAFBBCBBBBCCDCCBDDCBBBBCABBCBBLCFDFEEDEEFFFFRDEEBEBDEBCEBDD', 'BAADBBBBBFDDFFHFFGIGFHFHFGEHFYFIGFGFFDDDCAACBCCEBABDBCCDCFFdEFEHEIIIFFFGGGFHMHGEGECDBCBBECBIBDFKFFILGKFKFFGGEDJEQJDOPVQKFHLBABCBAAAaAADABBBCBDCBFBDBCBBBBADBADCeBECSCFFDIHFGFGFFEDFDDFEFDDEDCHEF', 'BACBBDDPDCCDHYFHGDJHLFHHGFFDFNDGIENEEBBBDACCBCAAABBBCDDCDFDCDDEFQDIIIJEJGHFHCIGFBFCCDCABDBDBBEDEHEHHFIIHHGGFHDJHDEBTGGHDHCCEBOACABAAFALAAACANBBDFKBHBCBCBGABBACABDEPEDEFFFFEFDIEgCFDFEDFEEECDCDD', 'ABBDDBCDCDEHHCIGFeGFHHFGFIEIHDEFEFQDHBBGBDBBBBBbABBBCDDCCEEFFFGGIHFJJFsEFFHFgCGHHBECEBCCBDBFEBCFCVKKIGFHGGJEIGGIIDGBCBDCBCBBBCAABABBBBACBEECCBBBBBCBBEBEBBCAADBCFCCCNEIGGHGFIGHEDFFFDEEEGFDCFCEC', 'DBDBCFDDCDFDCFHKFDGFGFGGDFGFFIGDDDCBFFDCBCBBDABACCBBCDDDDEEFEEHGHGKJENEIHHEHCHGGFFCCCBEBBFCBBFFGGFDHJFKHGLFHEFGHHEECMCCCCGEEIEAXACPABAFCBBCABBCCDBBBBFBBABBACCCFCCBIFDFFDFGEFFFGFFDFDGGGGDEDCEBE', 'EBDCFCDCDDEDGGFFFEEHFGGDfDHGGFDFKBgECBCBKBDHAACBBBCCDDCBCCEGFFGFHIHKIHIJHFHDFHJJGEFCFCBEBBDDCCDBECHHJIGHIHGHJJFIDHGGCDDDBLIBABHAAHICABAEDBCBGBBCBDOCCBCDACABDABDBCJCDFFEOVDLRDGEGDbHEFDEDDDDCBEC', 'BbCCDDDCEFCFEDIGFEGGHFGICEFGEGEEDDBCBBCFCBBBCDBCEDCBBCDECCEGGHIHHJHHJKIJJFJEEFHIFCDDEDBFBEDCBECQEFGFFIPIHJJHIHFFgCHEIECDDCCEEDABAAABBDCCBCBCBDCCVCBEBHBBFACDCCDCECFHEFGDCFFHKHGMFDEDFGEGFEEIECED', 'DCEOEZGFCDFCGDHFDGGFGGGFFUGDDGEDCEFECCDBBFDCFBDCCCCDEDCCEEEFGGJJHJJLLMJIIeIHFDKFEHCDFGEGEDBBFCHDFFFFfEIHKHINJKJHGIFFGECBDFBFBGAEBAWADBBBDDCFBHHECEEBdBPCCFCDFCBEBDCFKEDGHDIEELLOHJFDEEEHDEHICCEC', 'FLEFDEEDFFDEEEEGHFGGFHHGFEGFGDHEDEEDCDCDCBCDBEEBDCCDDDDDDEEGHGHHKJLJIMQHLGMJFGEFIEGCJGBKBCCIDGDFEFDGFIIJKKKJKKMFJFGHDFFFHDBDDBCABAECBBECFBBDCDECCDGCaBDBCBCHBBDBCBDBELGHDHGGICCDFHCFEFEBdFFDGCBD', 'DDEFEEEEEFOIFHJFGDGHGGDHGEFFBGCDFDCBBDCCCEBCFBECECCCCCDEEFEFGGHJJIILKLHXJHIHGFEWFDEDDBCEBBDDEEEFGCEHDKFIKINLMKFnFJIEHDEFFDDGCBDBABAACEBdBDDDEEEFECCBBCCZFCCEDJBDBDBEDDGDEGDDEKXIDCDDDDEFBEDNCCDB', 'EEEDEFEFFEJFEGFGGIEGFHGEDFECEDGDCEEBBCCBCBBDCGBDCDBDDCCDFDGHHHJIJILJJKIIJHGHIGFHHFDDBCCBFDECGDGLCFDGRFGJILNNKNJHHKHEFHEHECCCIBCAEBCCBBKBBDDCGEEFEDCDBEDBCFBCFBDBDCCCDEEJGFDDFDCDDBJECCEDLEDCDCCC', 'CEEGEEDEFEFEGFIFFKeEIHHCcBEDDBDCCCBXCBIBCBCCDBDCCBFBCBDEEEHGGGJKLKIKIOZHIEJHHHXGFGDCCBFPBFCFCECYDDGHUEIKKJLILNKROHHKFEDDOXDIBEAHABACEDICFCEOCCGEEEDDRFBEFBCDWCBFBBCBBIIFJGEDDDCFCBFCCCCEIEEFCFBB', 'CBECCDFFEEFFFHJFIHDIIIGEFEEEBTCBCBDBBACDBBBCBDCBDBBBDCDCEEJEHIKILGHHGIIKGHFHGCHHIIIUCFBCFFGFDDFDDCGEFIIIHLIMLKKJHGHIFGDCCBFFCDABCBWABCFFBEHCaHDEDCFECGFFFDCCBBBCCCFCBFFECINCbCICJFCBCCCCEDFEHCSC', 'CDCCcCFCGFHFKIFZIFJHIHILGFECEKCDDACAADABBDBCDBCDCCEBBECGEGCaCFIGHKKIFFJGJHFJHiDHHFHJEEFCHCDKGEFDEGGGIHIKLJLLQJIKFHGFHFDGCKECDFCFBAADDCCJFCEGDEEDDGDCCCEFGCEEHCDCCBJCCBECEECDEDIDEDCEBBDBBDGCBCCE', 'BCCCCFBeCIIIIFLRLIGIIHGGEEEDDACABCBACAACCBCBBDBBBBHBbBCCEDFDXGGHJEHHHHGFGIEGGDHFEIGFFGDFCkCaEDDHFEJHIJKJJJMNKNMIJGHHFEEECDFLNBGDDBBDCCJEBdDEEHEEFDFDWeDDFIFDDDEDCIBBDKBFDCECCOBFBCCEBCEBCEGDDDCC', 'DBDECCGCHKFFGHHHHJIIFFHIFFGCEADBACCBACABBBBEEBBCCDBCBDCECHFDEDEHIIJHPEGGHDWGGHHDGFHGHFHGLEHCEFFFHKFKMKLOMKLMMJQNNHHHFFFDHEGHCHCCABBACCECDCIDEEFQDFEEMDFFHDGFaDELBBDCBCBBCMIEDBCEFGCBCDCCDCECCDCB', 'CBDHFFFEFBbCJFKJHFJGKGHFHCBCBCDABBAAAABBOGBABFXBCBBDCCECFCGEROEFFJFSIGFHEFCFEFCHFEFDHEFGGGFJJDGGHILKLOOLKLMLNQINUKHHHFFHMDIDHBDBBAECBBCDHDCOFEHLDHGGEFGGGKIFEDDJLCBBBBCCBCCBCDCBBECCCBBCBBBDCBEH', 'CCCFCCEDEGEHFJGGGHQGFIFGEEBBBBBBABBBABBBBABCBBBCCBDDBCCFLEFFGGFGHEILGGFGHDhCFCOaDEEEEFHHIFGMMGGHKIKLMMMLZMOSLMOLMIJIIHHGJDDOEBCCACBCFBCIGGGEJEFFGEHFGGGHFNMIFGCGCBDCBCBBCBDCBBBBCBBCBBCCBYCBIKBB', 'CCDCEEDHCFCEGGFHHFLFFIGECCBBBBCBAABABACBABCBBBCBCECEMBEDFGEEGEHFFHIGGHGHGEDFEFGBFEHBEFDKKLGFGJIHJJMKLQNUOOOSRNMLKHNMHHKHGDEECDEDBABECDEGDGEHFfEGHIGGGHHIKTJMRFCEBFBBBFCBSRBBECGBBCEBBBBBCBBBBAEB', 'CEDCEFEDDCQDCEIGFGGFFDGECCECGABBBBBABBBAADADCCCCCCFDDECCEDGJHJFFSUHIHIJGKELDHHJIDDEfHHFHNIJIIHIKKJNNPRXROPOQONOMMLLGHJHGFFFHEDDDCDBBCEHCFCGKGFGLHHJLHHGLOLRMIHRCJBDCBEBBVBBbBDBCBCBDBBCBCBAXACAB', 'DDCFFCDEDDECiDDEGGFGHFEDGBBDArBHBABABEBBUACCBBBBCGDECFDFDGIHJJGYKJIIGIEIEHDHIEICEHEBHFDHHILHKHKKMMLTRWRTaRONPRNOMKIJJHIPEGHHCDDCBBDCBEDFEEJFHIIHGHKGGJJGGFKJODCCCCCCCBUBBBBGEEDCDBBBBBCBADDaCDDC', 'CCBDEBCEEEEFBDGDFGHFFGEJBCBBCAABAAAABFBBACBLUDIMEEDCZCEFEGJIKJKJJIKIKGRFHFFEEHEECGGOIEMHHIIIJKTKNLQPRSXURPYNQONONeeKKGHHGDDCFCDBBBBDEBEDCEFFIIIJGIGIHHHIRHGHKFwMCDCBCFJLPBDCCHCBCCSBBBACCABAABBA', 'CBCBCFDCFDEEEFCGDHFFGEFEFBBBBBABBABAAEBBPCCCDBZCEFFFDDEFHFYQJMJIMMGMKLFIJMIFDEGEDEEKJMFJJNKJKLYcMQPSTRXUUVXYPMaMLLLKHJFIHODFCEDBICXBFFDEGEFFFFIHJJJHFIJJDFFGDGFDYBDDDDBCCCCBEBFDDBBCCCCACBADABAB', 'CCDCCFECDCEECDDEFDGDEFDDBCCCBAEAAABAADBCRFBFEFBGHDGDGFFGGFGGKLJKMKKMGIKKFIIGFIIEJNFGHFNHKILNLLOMORRTYSTVZPrOMSNNNTLKIGIGDYCHDDCCDBBDECEEIEEGDFIHHHJHLKEHGKDEGEDFCCGBBEASEBUBDBDCCCBCBBBBBAXACATB', 'DCDECCEFEEcEFGGDCDFKJCGCEBPBDCBCBBBBCBCCEBjDEEEDDGFHFIHGFIIJIJKKKJLPMLJJPHNGLGHFHKICiUIKIJLKMNNPRPTSSWXWRbnQYZMLMJKPJLGIJDEECEDCCDEBDCGDDEEEgFHGIGIJFIJGEOFEEDCCEBBBCCBCAEFBCDCCBCBBBVBACBABATAA', 'CCBBBCFDEGDFGFENWEFDEFDDCCCBCBCECCCCDBBBBDCDDJGFIHGEIGGIJGGKKLLLKKNJJLJIRFLMOFHLGIRIGEJJLLLLNMPRRSRXVVUUVWPVRNSMNKJONFIJFLEDDBEDCBBCDCFEFJFEDGHGGIGGeFGIIDNBNCHHBBBLCABBBADCBBDBBEBCCAABBABACACD', 'CCBCBCDEQLGFGGKEDGGFFGGFCBBUBBDDDEEDCBBGBDEDGEFGFHGHKHKJHMLJIOJJKNWMLJNHMLWOGIGRFHGLJLLKLNKNOPQQRSSUVXSZWXRcVPORLLKHIJKHIDGDDCDBBCCBFCEEEFHFHGJIGJHIKFIGHEDDCDCBCABACBCADCZBPBECBEBCBBBBABBCAAAC', 'BCBBCCEDFCHFGJGGHHEGFGFEEEFBCCDBBCCBCCBBCCEEFHGGGFHLKKIKJNOJKJLMJJJIKRLSHJDIHUUFGJIJJJJLMJROOQPRRQRUTTeRTZTdQSPPMKJJJMKIEFDDCBDCCCCHCECEFEJGHHFHKHLHGGIHFEEFDBECAABABBADBABBDGCIDDCCBAAAAAAACABA', 'DDBGBCBDFGFHFFHIDIHIHFICEDCDCDBECCBEDBDECDDIEEHIGKLKJKNJKMKJJIJIbEIRQMPKYJPGLMIHKIJHNKNNIPPQOPQRQPTSTUQaVRSURPTOOMJJKGEOMDGFBCBCDDEBCIDEDGFKGIHIIHIHFHJGFDGECEDBCBBBBaBFBICCBBDDBDFBBBBAABACAKAA', 'CBCCCDEEEIEIHFIIIEaIKHEGEDEBCBCCCBCBBCDDHDEGGIGIKKLILKMJKLIJLKIGNFKHJLPPLILLILIJJIJLKHLTOOOQSPSTSRSSSTVWZXQXSOORLNPILIJEHDEBCBDBCHBEFCDEFFGHGHIEHIGJILHEGFGCEEBCBBBAAACMBBIBEFFICCBBBAABBABAAKBA', 'BHDBBBBEECFDDIELHEGIIIFECFCCCBDCECCCCEECFIFEHIKIKMNMKMINLJLHLKKIGHGNKHOQLJqJJIJIGKMIOMLPOQPQVSRRSUTRQRVPlQZRVYOOPKIYFJJFEFCEBBBEDBCGDCDDGHHIKHFiFHIFGGFJFDDSCCECCCCBBBBBCBBDCDBCDGBBCBABBAABDACA', 'CRBBCFCDCGCGFDGFHGHHHEEEEFEBEECDFBDCDECFDGKFHIIMKLMKNKMLKJLIKLKJIIHHKKJHRKKLLZMIMKMOIPNOQSSTRSSWTUVUUTTTRQgXRQQMMNONODFFEFEBCCBEDCBCDCGCUGKIGHHEIGGGFFGFDFCSDFCFCBCCCBDBBCCBCDTCCJCBBEDAABACBABB', 'BSLBBBDBEDFCDEFHFGHGGIFGEJCgBEHEDJCEECKGIIHJKIKLMKJNLLKJKKJLJMJIFJIJJJJJKJIJLLHJHIJLLMNepPSTSTSTWRTZXSjRRVTOQQOMQOLLFHEDFCHCDCVBCCEGCEDEDGEFGHIGFeEZIKEIHDFCCCCFDCCCCBDBBBCBRBDCCCBBBBBBAACAABBB', 'EBBBDBCCCCDCEEFEGHEFGFGFEDDCEEFEECFDEHDHLKKLIKLLKKgPJJKLJKIIIIJHIFGHIIPhJKJLJJMKKJJLLYTPWTRVUTUcXSVUTUTTWTQWUQSNOLPKKHFFFLBEDCCHBBDBDFPDFFGHHGIIIEKFGGGDHFEEEDCCCCCDCCBBBCCCBCDEDBBCAABABCBBCACA', 'DCCBBBCLBCCCFEEFFGIECDGDECEEEDFDFCEDEDGGFGKJIJLKLJJKLNJLLMKJJKGGGGFHIGOHOKMKMKLKKKJKNRTQRQRYWSUVXXUYXUXUnUUXQONQOKLMHRGEBGCCCSQEDYBDCCGFFFEEEFHHGHGGGFIiDCDFECQGCDCCCBCQKBBBCBCBCBBCCEYAAFCABCCB', 'FCEBCCBBECCBCCFGDEDDGCEFDbECFEFFEEFEENHELHHHKJKIMKJLJKLLKKIKGGIQFHFJKMNJKHLLLMJMJLLLMORObOTTTRUWTYWbVYUbYSTQRQUQLXIILGDFEBBCDCDHCCEBCECDGCJCEGFFIJGGGFEDGKFCCCCCCBDCCCCBBDCCBDCCBBBBCBBCCBABBCCB', 'BDJADCACBBCDDCDDCFCDDEBFFCFFEGFFEFDDECEEFGFJHIKMIKNKLJMJLJIJJHFDcHIFKIKKJLIJKLKIMKPZLLOQORdVUVVWYUYUXWTVTUSSQMhNMKKKLKIEFCMRDEGEFKBDCEEDDGDGEDEHFHGHGEDECNCDDgCDDBDCCDGCCBBBDCBDCCBBZBBBBCBEBBGB', 'CCEEBAKACBCCCCDDDDCCEDDCCCGGDFFEEFDEFDEGEJGFKHHKNJLLGiGKHJJIGGIIHIHgJJMKKJKIJILMMLLKMLdSPURVUVVUXVeZWSUTSRTQUQQLYJbPHIJGFDFCFCGDEDQCCDCHDDDFGEEHFDGECGDEELEGECDCCCDCCBIDBQCHDBCCCHFCBEDBBCBBCBBB', 'GBCDABHABCDCDBCDCBICBDECFEGHEECFCFFDEGGFHGFKHTVLJKJLJJcGIKHIHJHGFJGFJJJNLIHKKIMHMMLOOOLNRNUTTUwVYWWYUTUPRRSNOQGOLIHHNIFHEDHHHFIFEGREDCMCDCDEDFGCGFFDCCCICOFECCDDCCBDCEODCQDBEFCCDBKBDBCFBBBDDBGD', 'BDBBBAABABBACBCFDDCBCCCCBBECGDECDDCGIEIJJILLIEGKGJKHHJMJIHIEGIIGIHIHKHKIHLLJKIHfLLNLPSQQQSSSUaRSXZWVVSTRQUPQQIkILMLOKKkDGJEDEGIDICCIDDRCCDFCGECFCCEHHFNCGECCCDBCBBMBEBBGCBCEEBOKBBBEDFFCCCEBBBCE', 'BABBACAABABCEBBBBEBcCBECDCFECCEEFDfCGGFJGHIGGKHFJKHKKIGIJHOKHHIHIFIJIGJIIJHJJSSMOKWQOQONRQRUZTXWSWXWVVRSRQQSMPSHOKNGaGFLIEJQFFCgCGGDFCCCDFCPCCHFDDCFFDECDCDCBBXBCCBLCFDBCCCCFDCCBGEBCCBBBECDPKCB', 'ACABAACAOEAACBBBCBCBBBCBCBCCDEDCECEEDFGIGFKGGFHMREHIGHJHHGPWFHHPHGGHFdGHIKKPNNTPWOLRMRRSRSRRRRSSWTZSRTRSOOQOQNHrMKJOHKHIHMGFFFJDIHDdCCCHDDDJDFCEKFEEHSDDFDCDBCBCCBBBBCDCBCCEGCFBCDDCDFHCYBBFBBFB', 'AAABAAABGBBBDBHCCBQMBBDBCBCCCDBDDCCEEDFMLRGJGFHFefEGHHIHGGIEHEGEGHHHGGGGINMKKNSMLQNLTOQOOQSVRZYQUSRUSQRPPRNMNNSKJOQKJHcDHHIGFDMDFGICCFDFCDGEFIDDDJCBDGBEDCCBCCBBBBBCEYBBFEBDDDCCCHBEDCBBBDBDBBBC', 'AAAABACABABBBCCCBDBCDBCBBBCCCBCBBBFBDFEEFGGKHGGJGDGHGHHIFFGGHGGEGGGHHHHFGEIJMKPOOMQXOSMTOPQOOUNYOQQORSQSMPMMNNMOLMXHNKHKJEIEFKDMECFDECFDCDGCCDCCLBCIDDDDCCBBCBCABCBBSECQBEDBBBFBHEECDBECACiACCCC', 'DVABABDABDACCBABCBCCBCCBBDACCDBQMECECCFCFFIIEKHJIIGHIGLFJGMEHDFHGGHHIIHGFIIHKHPVKNQMPQPOQOQPQNqOQOWWNQMNMONONPMMLLLQHMHHHHGFFGDRCFEEEDCDRDCFCDCDBDBBCBDBCBDBBCAABABEBDCBDCCCBDDCCCBFECCBGJCeABCA', 'AABABAABABCADCEFBCEBEBAVAAACBCBBCBBCCCDFEEFGIJHFHIGIFJFGHDIEEJEGGHIIHGGHIHHKGPLQNMKNQLRQNQNQNPMONOMNMLRNMOMNNNOLOJILMGJGKGDFDDHEECFJCDDdCDECCCNCCDFBDDBCCEBDBABADCBHDEFDBBVBBDCCCBIBJBBBcBAACIAB', 'BABBAAAACAAfBACCEFBABCCHAXGACAFCDDVCCCDDEFGGFbMQGFLFHJKIFFGFFLHIHHGGHHHFFIIFMIKLLSURRQOPPKOLMOOLMOMNONMNNOMKPJLOMPHINEPGGFGDMNCCEFCEECDCDCCCDCDDCBBFCBCBCBCCBDABBACOCBBCDBCFBBBCEDDCBCDAABBAAKAB', 'CABCAAAAAXBVADCCBBBEDAAAARABCBGBBOGFCCDDDDEFLNHHKFFJIEIFEGFEDEHGFIJIFEGIIFIFGLKKMMQMQSTVPMPMLMJlJMLMLLMNMLNKOLLLGIIJIIGJGJEDDCDDDBFCGGECCbEDEEEDBBCCCFBBBCBCBBCBABCCACCBCBBBBBCECDBBBBAWBABDDABC', 'ADAAACABBAAABADCCEEBBEECDAACDAGBBBBCFCDDDFEEIIIGMfGIHFGGFGDGFIGFHGGGHHGFEHIHGHJLLOLNVTQSQPONMMMIMJOKMRMLMLLLKLKEkGLHHFGFFDHEDFCECBDBDECFCCEFCECECCBEBCCBBBCBBCBCADACDABACDFCEBDADCDDABDABBDCDABB', 'AAAOAAAAACAAAPADDBEDCBDBACBEDCEBDFFCCCCCEEEGGHIHJEIHIEGFKEGCFFFGFGHGFEEFKFELIIHKOLPPSQUTTSNMLJLJYIJeIPJMPRJOKJJHTFHKHGIEFCFECCECDCEDCDEDEFEICDCCBECBCCBCBCDBCACBABEABCBBABBBCDBBBACACABBBBDBBBTD', 'AAANAAAAAAABCBABXBFDEBBHABABAEEHKDGCBBEFDDCGGCHHIHJFEMFKEGEFEDHGIHHFEFEHFEGICJJKbJNQLONSOXPJMPKLXJLINIGIRILHHkFLGEKHGGHEFFCDECDCBBDCCECDECFCXCECBBQBCDBBBCBAEDBBCBBABFAFCCEEABBDABDCBBACAaAABADT', 'CMMLABBAACABAACABEBEFEFCCCBDADFHBGDQUBCCCCDECIFHEIFFGFEDDDDCECFGEMGFHDMHEIFJgHJHSMMOQiNWLPNJLJNIIJNHMILIHGFJHHHGDIEHFDCDEFDCJCCDBEBECCFCCEDCEECGDCBCFCECCOIBADBCDCCBBBFAAEACBACADBACABCABCBIBEBA', 'ABCAeAACVGCABCADBGYGDFIDBCBCDGEGBBLBBCEBCCEDCDCDHDKHEFEGFCCFDGEDGIEGHCFFHJKIEJIKINMMOHPLOLQLJMJJKKHMKIIFHHGHIHGJFIGFEGJCFBECBCCBBDBBECFFFCECCCCDEBGCCCEBEBDBBBBBBCEADCBBCBHABBABAACABCAcBBBGAABC', 'CAECCABCCACCBBCDBBBBBDFBECCECFEBSIBCBDDDECCCFCEEDFEEDHDDEEJCIDFFCoDSNIKJJEIGKJJMKLNNOMKNLOONMMIIGLIHIIHIGFFEFHIGHFEFFECIFgBDDBFDCBDBDDGECEIEDBEBBCBCBBBBBBCCBCBBCBBDABABBABBBBBBACBCBBBACBBAABBE', 'ACBABFBBACBBCDCBDGDCNCBEBCBBCDDGBBBECBCECCEDCECDCFEWHEDGDEEGCGHFFFFEEGEFGIGNGFIGNRMMOMPKNNJMKJIJHGGIGGGDEHEEFFFFDGKDGEDCCDDGCBCBBFBDDDCCEFEDCDDDFFCBBDKCBDCBACBCADCDAKAEBgABBCCAABBAEDBDABBBABBA', 'CACCALAYAEADDBCCDEFCBBDCCBCCABCBEEGDHDHDDDFGEDEEHDDDGGFECFECFEEDEEECIFHLJJZLIIFLGVLKKKOQKPJLLFgGEJGHEHGFDECECFGGPCECDPCCEBBEBDBCBCDFBEECECDECCBHEBFDHAABAAAEECKABCACNCBEABBABAABBBAABABBCDCDBAAB', 'CEBCAAJBCBDCBFBFBCDDDEBCBCBBDDBBDBDBCCBDFBBFDDFDEFGJCGGIEEJEECFFIFDFCGEEEJGGIKMGKIMLJLLOMLKKJLFGTGGHIDEDEDcUCCDECEDGHCCEFCBDCCABBBFBEEDEEDCECHDBDCBCBCCABCEACCAfADCEBDAAAACCCCDWABBBCADBEADCABAA', 'ABAAHBACDBBIDCBEFCDDABDBBBCBBBBBDBRLCEECCFNPDKDFFDDDFGGEJEECDGFJDIFGEEFFHFEJIGGLKHILKIMROIMJIGIDSDHFFGCFFCCDBECCEEEEDDGDBDBBCDDBBEBCCBEBFFEEDBFBBFCADBEAQAACABDACCBDBBBMPABBBBBDAABAAAABACBBDACA', 'BAABBABBADDDAHIAFCDACAABBBABCBBACBBBFBCEDCCCDCEEDIFFEDIGHEJDEEFDDECGEGEDiCFIFGHKJJVGKKMPLLJGLKIHJFFFFEDIGFDFCDFDCICFBCBCEAEABBCBCBCCCCDHECBDCCDBBCGAABEAABEABCDCCBCDBBBBCAAABABBBAAAAAAQABDACDCB', 'AZAECCDCCCEBEBACDABDABCAAAACCACaBBBECBCGDDDCECCEFGFCFGFHHCEEEFCDEDECJCLFCDFEUREMYGHHLMLJJJIJIIHEFFJDGEFCEFCCDCBCACBGBHDCCCCCACBCBCBCCBDCBhBDCHBCCAACCAABCEABCGBCBDCCCBBBBJCACACABBCBAAAJBACABACA', 'DBCABCCACDBBCCBDAWBABBABCCBADBDBCFEBCHMEDCDECCDDFEFICJFFCiDEUCDDDCCHDFCGDFFFCDHHEGFIHHKKHJNHIFFGHEFGCDEEDBCDBBDBDAECCCECEBABGACMBBECCCBEBDBDDCBDBDBAEDCBCACBCABCCBBEDBCBBTBCACACCCDAAMYAAHBADEAD', 'AACDCDAFAFEDAEPADABCAAACBABACBDCGBCECJDGFFCBCEDIDCECECCDTCGDCFCDDEDCCCDCEMCEDCGFHDIHHKIFLLIFKFHEIGICPCDDCCCBCBCBBDCBFCBGCDBDCCBICEDBBCQBECZBBCDCBADAXBBBCDCCBICBBDBBBCCBDBCFBACCCCBAAKBAAEAIGEAC', 'CABBBDBDAACBCBAEAJAFBACABABBABCADECBCCEBCBBDBDDDDEFCEFFCCEEDEDFDDCCCDBBCCDCCCCCFEFJFDDFILIJHDHFGDHDEDCEEEEECCBCCDBBCFDGEDBCFABBCBCCBBDBEBBBLCCDCBBBCCBDCCBBBXBBbBBECDCDBDDDEEDEBBCBDCAABADBABBBB', 'ACACBABEADAEABCBCADDDBACAfACDBACBCBBBDBCBCCEFFBCCBDDECCFCCEFEHFCFDCEDOCBCBGBCQECECEDNVFEHHEGFFGDHFEECcCCFDFECCEBBCCCMDCBCCDACBCBCDCCOBEBGDCCBBDFBDBCBBCGBBDFBBeBCBBEBECCCGDFBLBaCICBBACSCAADBACB', 'BBGABBBAABAACBDACECDJDABCBCAAABBBBBCDADBCBCCBBCCBDDDCEGCCDEFFEEECCECCBCECBBDCFCCECCECDEGEFIEHEEFEDEGFDHDDEECDEBCBCBBCBCECCBDFBCBCBCBLCBLCDCCCCGDDBCBGCDBECCBBBBBBEBBCBCBDCCGBEGBGCFBABAABGBBBGBD', 'BASCAAACBACBACCCCARACCCCBCBBACBARBCBBFCCBCECCBBCDCBCcBCCGCEDHEFFEBGCCDBCCDCEDCbCFECFFDFFGFGHFFHDCDEIDgCFEDDDBECBCBDDBBCBCBBBCCRBCDCDEDCFEBDDEECCBCCDBCBCBBFBCBBfBBBdBCBCDBCGEBlDBMABBAAEBBCBBEBA', 'BABCBADABBBABSEBCDADDBACBDEZBAABEBBCDBCBBACDBCCBBCCBBCCCDCFDCQCDHCCDDECCHCEBEEDCCDFCDDEGEGGGDEDDXqCHFCEECGHECDBECZCCBBBDCIBDBBBDBCCDFBDCCFFBDCBBBBDBBCDCCCCCCBBBBDCBCBBBCCBCCFCBCBCBCACADBCEKBBC', 'ADDACCABBABBAADABHCBAEABBBFDCIBCCBEBCDACFCCBDCFBCCBBBBCCDECEGDDFCJNDDDGCCCCDCCECDCDCEDEFFEHDGDFFCDPDHEDWKCDCDCDEBBBDCBCBBCDBDDBCCDBEDCCCEBDDBCCECCBBCBCCDBCCBCEBFACCBBCCBCBBEIGBDCDBABAABCAVCCBC', 'BCDBBABBBBAABAFBFDBCBECCECDBDCBABBBEHADDCDBBDFBGCCCCCCCDBFCDEDNHCGBFCDDKDEIEDGECFDFCDCDCDFDHDGDGHCFEECEDCDEQCDFBCDCCBCBCfBDCECKCBDBDDDCCFBBBBLBBBBBCDCCCBCCBCEBDBYACCBBCCBCCBPBDBDBABAACAACACDBC', 'KBDEBFCAABBBDBBCBBBCCBSFDCBDIBBCCBBCAGGADAEDDCCBBABCBBBCKFCDFCCGCFSCECCRBCEEKCDECDDKMCECEDGDGCEDCGFEFFDECDDQGCFCCCEBBCBCCBDCCCTDBCCBDCDCBEECDBCBCBDBBNDECBDBDGBGCAdACBBCBCBBDBEBAAABBAACABCDHHBE', 'CCBGBBACBAGDDCBDCDRABECCGBTBCBBBBKGBBCBFBBCEHFEBAAAAABBBGCDDBEFCBDBSJDEBDCCbBCECCEEEDDGFEFEFDFEDDDGECDDDFCDCJFCFDDCCcCCDBEDCECBXCCDBDCDCDCCDBDBCBCBCCBCBLBDEBCBCAAAAACCEBBBCBABCDABCACAAABBCBCBA', 'DBDCFICCACCBBDBBBABdFBEBBGHBBGCCBCBBLBBBFBFFBGCBCBBABBCCCFBBDCGEJFCCBBEECBCCUBBEFCCDDFDCDFEDEFFFECDCDIEHCDFDDECDCCDDBCDCFCCDCEDCBCCCCDCDCEDCCBDBBDDCCFBICSLBCBBDBBCBCACBBABAACBCDKABACBABAACDBAB', 'EDFCFBEADGBFDBCDKFESECQDFBGDCEBEQCEFBCDBCBGBBECECBAABBBBABBBCBHFGBDEfFCCClBBLCCEBGEHDCIDDDDCEEFFECDDCCDDECEFDCFDEDCCDEDDECECEECBCCCCCDCECCBDCCBCCBBBBBXBDFCDDBCBCAABCWACBABAABBBBLAABABBACCBBAJA', 'BCBDBCBDCCDBCCLBICEJJGNKKICHBBCBBBCCEBBCBGBCCBFBCBACCBABBACBEHCCFCEBCBCBBBCDBBECJCCCDEDCCCCDDDDEDDCECFERDDEDDFCDDCFCDCDDCEDECECDCBDBCCCDCDDCCBOBCBDLBCHCFBDEBBCBBCBBBADABABBBBABAAEAAAAAAABBADAB']
pieces_du_faucon_millenium = {'~': (255, 255, 255), '`': (252, 252, 251), '?': (250, 249, 249), '/': (246, 246, 244), '>': (244, 244, 241), '.': (239, 239, 237), '|': (226, 227, 223), '_': (210, 209, 204), ')': (202, 202, 196), '{': (219, 219, 214), '-': (199, 202, 201), '&': (188, 193, 191), '%': (183, 186, 182), '[': (221, 217, 204), '+': (215, 213, 204), '(': (202, 200, 190), '}': (227, 223, 212), ']': (220, 217, 206), '1': (152, 152, 145), '*': (199, 196, 185), '7': (176, 167, 154), 'a': (83, 74, 65), 'k': (109, 101, 91), 'y': (144, 140, 136), 'x': (142, 135, 134), ',': (238, 236, 230), "'": (234, 231, 223), ':': (237, 234, 224), '$': (185, 184, 176), '!': (177, 176, 167), '^': (191, 190, 181), '8': (174, 170, 161), 'S': (54, 52, 52), 'h': (96, 93, 88), 's': (133, 125, 115), 'p': (121, 115, 107), 'w': (145, 134, 128), '4': (162, 159, 150), ';': (232, 230, 219), 'j': (111, 100, 82), '3': (157, 156, 147), 'r': (126, 123, 118), 'V': (58, 59, 60), 'b': (77, 77, 74), 'i': (104, 97, 89), 'W': (75, 61, 55), 'o': (121, 112, 106), '<': (243, 241, 234), '#': (187, 181, 170), '@': (182, 178, 169), 'I': (19, 22, 28), 'M': (33, 35, 39), '0': (149, 148, 141), 'u': (137, 131, 122), 'D': (4, 10, 17), 'Q': (47, 46, 46), 'e': (91, 83, 77), 'f': (94, 87, 80), '=': (211, 208, 194), 'v': (135, 132, 126), '5': (163, 160, 154), 'z': (147, 144, 135), '2': (159, 151, 142), 'R': (48, 49, 52), 'n': (121, 110, 101), 'J': (20, 24, 32), 'U': (60, 58, 57), 'g': (97, 89, 82), 'T': (71, 51, 41), 't': (133, 129, 115), '6': (161, 166, 161), 'l': (110, 103, 99), 'Z': (73, 73, 71), 'c': (91, 78, 71), '9': (174, 175, 168), 'q': (123, 121, 112), 'P': (58, 36, 33), 'm': (117, 108, 94), 'X': (65, 65, 62), 'd': (84, 83, 79), 'N': (45, 39, 31)}
soudures_du_faucon_millinium = ['~~~~~~~~~~~~~~~~~~~~~~~~~~~`?/>>.|_){.~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~{-&%%[+(}(_]{1*7akyx>~~~~~~~~~~~~', "~~~~~~~~~~~~~~~~~~~,,)&+':(-$!^&{^*8kShspw4y8,~~~~~~~~~", '~~~~~~~~~~~~~~~~~~*)8(]|%-;xjp1)[(3prVb477skiWo[~~~~~~~', '~~~~~~~~~/+_[:?<.:$_!+#[_{[}^p&[)@sIM30ubDQefokuw~~~~~~', '~~~~~~~;)&;{-)^&_(]++}$+)=;;;**[+8#83kIS=vu58#8z2k=~~~~', "~~~~~.0=&|}=(_-[{_-[--_}[]^&2%|w-'{((%2kRenRJUjgrWan~~~", "~~~~}Tu};^&(8tv#56^&)(]][}}='|[?,+***=62ru0v260xx1waw~~", "~~~'y5lu$^g$#&&$6-==)((-+{%=57%0Z*=::^7=--{[6=&)*))=6_~", '~~~2wyacrsx(8{+((]Wwx&%-]}-+=3lb&,|[2$=8*+=-)+(=)=+[60~', '~~~<t138zt!#^_)};zpo1-_}{-[-=[^7&^65$&@@;#r5@$%**%*=+){', "~~~~<+[_;}!)-=-[+*)|{}[].=|{}%()%{'0_&+]3]1ocgt'{_&^9=~", '~~~~~~~~;=#}-=(}[6__=_|_{[}&$!!-]{}^(_*%_^]}(s)=-=_=&6~', "~~~~~~:+-qok]&&;<+))|-}++_2u#1y09{}[-[##){9s}-'{=$)__3`", "~~~~~~$4'+1#3z']%-][{=*_4w]+@x53z{{'+]:$]%]_(@@'(&))_|~", "~~~~~']]|{_[]==()+-)=]%5|];$%!@85[__'_='+w$}3wuy-+]{8(~", "~~~~.*xqz+}_=-%&=*-=*9#[_'^#-*8%^[=*'{_|,*=8o+_zz!{}j~~", '~~~/&]3bw)[-{(!$){$sv_|_|+}}*-=(jv+]=}1_}})n#={+58!ut~~', '~~?(}_]%6[4}(__$3yeP]#|:__-=@ign#)&{!^z-)*_6*=!vt$&m>~~', '~~&)=!v8zXRo5#%nVoela()7)}=(){-=[]_8(%:}*+_]9(own9j+~~~', "~*[%w8vTWeUWocv0_''x#@zv$^@$*)(;-=;+_,;;]=++@y2g$~/~~~~", '])10wTZfXR1xr6&_&[_}{]g2R!_-_-[#}&-(|;}{+!98y1Up~~~~~~~', "9|cWiaZTy|%6*+xXQu;]{;)=@'|;+$#m#5_ww5o5x783,~;~~~~~~~~", "%5rpdNr+#5%[[{_n4^]:'2{(&4y-438v@*88h!00rrmt<~~~~~~~~~~", '|&bXy<=5-;=_]__+[(@165s31xius%@n8(&%7vu0(,?~~~~~~~~~~~~', "~|3`~'_=-))!5590qvtsqtp774c$^*(};9'~~~~~~~~~~~~~~~~~~~~", '~~~~~4-@$yy2zvi0o0jcu29%}.,~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~)!#9061jnt20][`?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~<#8545#,``~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']
pieces_de_l_etoile_noire = {'~': (255, 255, 255), '`': (252, 252, 252), '?': (250, 250, 250), 'm': (108, 108, 108), 'f': (88, 88, 88), '9': (172, 172, 172), '5': (160, 160, 160), '^': (187, 187, 187), '8': (169, 169, 169), '0': (146, 146, 146), '1': (149, 149, 149), '6': (163, 163, 163), '(': (195, 195, 195), '|': (224, 224, 224), ',': (236, 236, 236), 'R': (48, 48, 48), 'X': (65, 65, 65), 'q': (118, 118, 118), '3': (154, 154, 154), '@': (178, 178, 178), 'n': (110, 110, 110), 'd': (83, 83, 83), 'u': (129, 129, 129), 'v': (131, 131, 131), 'w': (136, 136, 136), '7': (165, 165, 165), '2': (153, 153, 153), 'y': (141, 141, 141), '!': (173, 173, 173), '=': (204, 204, 204), 'O': (40, 40, 40), 'Z': (71, 71, 71), 'g': (90, 90, 90), 'Q': (46, 46, 46), 'S': (51, 51, 51), 'r': (120, 120, 120), 'k': (101, 101, 101), 'V': (61, 61, 61), '4': (158, 158, 158), 'x': (139, 139, 139), 'l': (103, 103, 103), 'b': (76, 76, 76), 'W': (62, 62, 62), 'a': (75, 75, 75), 'e': (86, 86, 86), 't': (126, 126, 126), 'z': (142, 142, 142), 's': (123, 123, 123), 'A': (0, 0, 0), 'M': (35, 35, 35), 'T': (55, 55, 55), 'G': (18, 18, 18), 'D': (9, 9, 9), 'E': (12, 12, 12), 'F': (15, 15, 15), 'C': (8, 8, 8), 'U': (58, 58, 58), 'p': (116, 116, 116), 'o': (113, 113, 113), 'i': (97, 97, 97), 'H': (21, 21, 21), 'Y': (69, 69, 69), 'c': (78, 78, 78), 'j': (98, 98, 98), 'B': (3, 3, 3), '#': (180, 180, 180), 'h': (93, 93, 93), '%': (185, 185, 185), 'K': (30, 30, 30), 'L': (32, 32, 32), 'J': (27, 27, 27), 'I': (25, 25, 25), 'P': (44, 44, 44), ')': (198, 198, 198), '/': (247, 247, 247), '>': (244, 244, 244), 'N': (38, 38, 38), '$': (183, 183, 183), '&': (191, 191, 191), '+': (209, 209, 209), '<': (242, 242, 242), '}': (222, 222, 222)}
chantier_de_l_etoile_noire = ['~~~~~~~~~~~~~~~~`~`~~~~~~`~~~~~`~`~~``~`~`~~`~~`~~~~~~~~~~~~~~~?~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~`~~`~~~~~~~~`~~~~mfm995^8016(|,?~~~``~`~`~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~~~`~~~`~~~RXq3@8nduvdvw1uw77972y!=?`~~~`~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~`~~~`~~``OZgQRRSrkVr!46!7@753225xx6?~~~~`~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~~~~`~~~31lbgWaOe2t0z305145431zyy0yuss~`~~~`~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~`AqWAMOOTGDEGmmmmds4w1v1uzyvw0stqmf~~``~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~``~`~~nvkrxgEWWRRFCDCUMdXmpz0rxuvpoo0tnmnmiX~`~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~`Fsf47y1HTlTHXUYcddenjnw4nsvspnpornililgWt`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~`~~`~~~~~~~Bxt84x#TCEAOswu0x00wrou3npqmqmmljjjhfdcZXa~~~`~~~`~~~~~~~~~', '~~~~~~~~~~`~`~~~~?~~~~U%@460MAKFfbrnRsxurruyziompjiliemigcZeVSLC?~~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~`~~~~~??ACJ3302UTrtvvzmlv1qvwrlopnhefldahbeZZVSIHI~~~```~~~~~~~~~~', '~~~~~~~~~~?~`~~~~~`H~~Wf3@slVs2oqrj8xzzwtnzujnmjjfZeddaUWXTXPLGE~?`~~`~~~~~~~~~~', '~~~~~~~~~~~~~~`~ABjho`)6p7HHAZox32tzw0xyzsrpnjlilgcaeYUXRVQUQIGJ``?~``~~~~~~~~~~', '~~~~~~~~`~~`~~~/APgls#qewOEAKGr464y4yyzptmqsutjXQMOSehZYPJPIMHGHHHIA`~/?~~~~~~~~', '~~~~~~~~~`~~~~>~oUadrniuZBFSjTz2w2010zwrrrqrlCBDFGGDBILRTMIHLLJGHJDJ~~?~~~~~~~~~', '~~~~~~~~~~~~~`~ACOEIJEGPDo3@733vxy52yvpnpqcAAGHGGFGFHGFDGNJJLMLHHKHHJ`~`~~~~~~~~', '~~~~~~~~~`~~`~4HFOVJKKVVFAuoleo3zu!rwxqvtlDBGCGGFFHFGFGGJHIKIJLLJKLLH~~~~`~~`~~~', '~~~~~~~~``~`~LfqeceUWaqeMDLPWDUYmql0vrptveBFDGFDEFIHGFGHGGMJGJIIIMHMMIA~`~~~~~~~', '~~~~~~~~?`~`DCLBFJJLCX0olirpdmwrxwyppqlwcBHHGGDGDDFGFFEGGHIHRJLLJLKJLIJC~~`~`~~~', '~~~~~~~~~?~~EFYobYVX8$6$561yyxvywxurqghwAFHDDFIEECEFGFFGEFCHLOMJLKMHMGKGA`~~~`~~', '~~~~~~~~``?~BDQVgfZakglgXi@y00o0r0jqlilkBFFHCFFFDCFEFCDGFGGFIRIMIKKKJLIHI~~?`~~~', '~~~~~~~~~~~~FTMdhaecCfeZklj2zpt0qwmnjemTEGFDHGEFECFDECDDFBGEFLMKKIKMJJGGHD~`~``~', '~~~~~~~~``~~AJNYQaPOP5192wwzuawvpuwroiiIHGFFCEFFGEFDFEDDCHCDCNTJKHIJLJHDFIA~~~~`', '~~~~~~~~`~?~HPHKNLTK@vox@z1zrusrldTTiikMIHHHGDDIFEFFDDDEHFFFCOXLKJILHIHIFGG`~~`~', '~`~`~~`~``~AKHSMMJUVJTm0yxsuswtsiplfddkLGHIIHDFFFHFCFDDDHIHFCKbNINGKHILHECA~~~~~', '``~~~~~/~~AGWcnHCILLJEPPLdVYhwvtlmegfgeOBFDHHFEHFGDCGFHEFFEECQfRKLJKLLME?~~AN~`~', '~~`~~`~``AFXjZuSRmirhirlkcSkktnkkifffdaaDHFFFHGFFGEFHGIGDGHGDLiSLIIJKOMF~>`~A`~~', '`?~`~``~BAPRNLGMm$5&250p10hclpnhgdfdhdYeFGGIICFGGGGFFEGKMGEBDRkTQLOKNMOG?~~~`~??', '``?~`~~AOXgcABSlv352qqxq7KcmUcXhhecacaRZXBGHFHFDEEGFFFDLKIKIGZcMGGFIFHIB~`~`~~~`', '~~~~``ASjTXHDLOUepPmALOQmafspjjgaZcbdZRXYQEHGDFGFDFFGGCIJKGGLbaKEGGHHHLDA~~`~~?`', '/?``~BFYhbPWQFRbskSlgjOHUfeqqllifcbZaWSTSQGKKDDGHFEFEGGGKLJLWZUHILGHEGJGIAA~~``~', '~`~~aAZrsgbaVGIKmdZsjrzwhkmqpfdgedZaVWTUQRQJGDDEFFFIFHICHGRakhKIJLIGEFKJHLKB~?~`', '`~~AAO+$TYMFINNRQWKrDR5yqjsslccdcaYaWVUUOSTKDGFGFDCFFIKGHNbgpcHHHHGEGGJJJHHGDF`~', '~~xGYjfRagkPRQUYdadcVeQGPObIejfdcYWWVWQOLRNLKNHGFCDFGGJSZbendFKJHNFHIHLLHDFDDA`~', '`qtAIfmoWoMVSdPabjjiUVUghglbeWabeXZVUQOOHRMJJQPNNRQNOTZdeegRGLLKIPHLKHKKKGGGDFF~', '~Upkkwhmt1mecYgANiuxw4ssnfrqhTdddXXTRSPKIIGFDFJIPXagjimaWPFBFNKJHKPQMGIJGGJJFGC`', '~fls1fff0ykfbSenhekkUosrrmrngZcbcUUSRKLHGKJHBGGFFIFLPNSGEGHHHPMLKJOMMKKLIHHGIIA~', '~zmosn5x65YOAAi4mueRmZuwqfwndYdbcbUOTMIFFFKFIBGLHKDBEGIBIJHGDMLGIQMKKKKMHHEIIKA`', '~2z0wo@xzfqpstlu5063uwpoalnngYXZYSPSHIGGGKEFCFHKILGGHJKFGGGHIPKKDSOPKHHMMMIGHJA~', '`x556iz06anyys02xw11svtldlokhWYcXTTJPIDEHIHHDBKKIMEGFJOEJHHGFOLKKPHLKKLMLKHLPIC~', '~3x26$9680s4psyvwswxvvnVPmnkfUYcZPQLPHDDEGIKCEKIKOGFHLIKMNRLNNQMLUJKNQRSRPPPONA~', '~w@7voqruvx1039794623ztgqjnmffeZcWVPPSONRMRQPQOQOLTMPQTTUSTSSVQMQSNOMKGFDGFEFFA~', '~kufs4ywx4xz36zzzwz3923yztsplmnfbaZWOOLMKVPRNPQIMVNSNTPPPPOSRTTTRPPSONLLOHJJMJA~', '`Zjjn1zslsxbollwslpjjpojghedeYXVTQIMNLJIJKHIKGJIHLCIFANPQMMMNKKLLJJJFGIIMIEGOLA`', '~QPhY0uqlqyhnmlvrurigmifdXfdaURQLMIJOKGFJHJHIMGFGKHHHEHFQLOLMKGJHKKJGHJKNKLFFCA~', '?mHKNjloYXaNYmmtjgnjgngfeXcaaVRSPPOIMJHLJNHMFJFIHMIGLIGKNMHJKKOQHMMLIIGJLGGIGA~~', '~!AKcPgiSLOHAccYcXidPUidcYMUdTRRTPKKQLGDEMLMKIFKMPGHHLPGRRDIJIOKIMMLILIMJDEBEA~~', '~~AAAPcZCeUeBAERAKafneaYYXISYUWNMPKOPKMGHPJJMLGHJPGIGFKHMOKLLKJIJNNJGOILGAAKA~~~', '~~AABJBABAZTLTOBDRikqgeeXYRVZUPRNGBFFBHDGSKKHMJIIIHIHFLJOOOKMKKHIMPLKIDGU~`~~~~~', '~~ABCACDBHWBAMCLCDZfWeZaXWMTZUQAABABCKJAFOMLKKIJJMKHIDPQSOMILLLGNKPKOOJD~`~`~`~~', '~`~AENZPBBQLEDBFDATUKOKKEMCIRTGEBACJMQIJFLMILKGDGPNMFFSRQPOOIHIKMLLLLGBF?`~~`~`~', '/~~AEFFBAHQLRJLCBAKYBCJJDABKRPBIDDHKKTLIDKLIFDDFFLNJGERQTOLMONMMNRQOQEHKB``~~~~`', '~~`~AABAAAABABAACGHLQAABBAAHHLIDACAAFICFACAGJKLLECCFQNLNMMIHHJIMUIKMOTHIB~~~``~~', '?<~?~CAABBFABACEAADKOGCAACAFBAAACAABAGKBBACRTHHKHILIIHFOOLIKOLKPXKKLQNKIA~~`~~`~', '~~``~~ABBFIGGFJMKICIMOIHIAGBBBCCCAACACGAABDGFBEDBFTLIGHKNFJKSINPTNMKPOLGC~~~~~?~', '``/~?`~ABAABACCHHDDLKLcVMAEDFFAACGEDCBAABADKHDABAFOKIIEDGCBGCCDDHDPNOIMIA?~~`~~~', '~~~~~~~~~ADKDBAGONLACFDMOIBJMCFCAACCABAABABJCAAFKLMFHGBFBAAAGGNVUBNOLPHAA~~`~~`~', '~~~~~~~~~`AABADDHQQaLAACBIIFLHKKGBAEDABAAAADHHBHISUNRPCAABBANLLTOCJIHLAB~~~~`~~~', '~~~~~~~~~`~ZAAHDCBFLFDCAAAACMLKECEBBBABBBCBAGIGIGKNJJGAABAAEAAEIADDLGA~~?~~~~`~~', '~~~~~~~~`~`~~MBAAGEBDEBAAAENIEHBDAABAACCDBAAGBDGDABAABBABABAADFFAACHA`~``~~~`~~~', '~~~~~~~~`?~~~>ABBGQQAFEBCOMKHCACBCBABAAFAEBADHAAFAAABAAAACAACEHEB}AB~~?`~`~?~~~~', '~~~~~~~~`~~`~~~AEDCPqeRKVNJHHIFCCCAAAABAIBGBGFDGFAABBABADACDCJIAB?/~``?~~``~~?~`', '~~~~~~~~~~~`~`~~~``KGAGSTFCGEEBBACACBCADFFHLGIDFGECCEHIAAAVHLRMIA~~?~~~``~~``~~~', '~~~~~~~~`~~~~~~?`~~~ABKSRQMQLHABBDFCDQIFHKDADAFIQRKHLIHHDCOOOIKIA~``~``~~~`~~`~~', '~~~~~~~~~~~~~~~~~?`~BACKJLFIDHMJNHSDHOPILMGGEBJLPLMOMMBRLCNRLQFDB?~`~Q?~~~~~~~~~', '~~~~~~~~~~~~~~~~`~``~ATLGFEBBCTMOLOMNMXRKQHHGEKGOHPKRVFWOTQMPPDGAMPTC~~`~~~~~~~~', '~~~~~~~~~~~~~~~~/~~~`BENSREBHDETMIKHHOJGIMROMPVTOMKJMMOHJKFHQMPMNFKA~?~~~~~~~~~~', '~~~~~~~~~~~~~~~~~?~LBFIISRHMDDACGKHHHILNPNMNOISPIHIHKHIIJMIQIMKJOOA~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~?`~DDJFHIIFFDADGIEGFOQOKMRKKQMPMHGIIOIKFLJINMGOLKA~`~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~?`~~AAAAUOWGDAIBCGHDGOMORLMPRMNIGKGLJNBBFKMMOMI~~~~~``~~~~~~~~~', '~~~~~~~~~~~~~~~~`~`~~?~`FABLMNSGLKLQMLPPMSLKKTRHEHHFKIKMOPMJOKH~~`~`~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~`~?~`~~ARUOKUPKJPHLKMPGELPPLCIPOMKGMGHFFGHGIM~~`~~~~~`~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~AQRHKKGFHNMPKIJHKNMKIEDFGFCJGHHFEDAI~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~AHNQONOMJOMLLMIINMLJCCGCCHEFILGCA~~~`~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~BFPTSPLKTLNOMJGJIIKHHEDFAFGHBAB~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~?QMSNNPHDFEAGKKFFEGMHCEIKCDC`~~~~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~/~~~BKLIKLMPONMHKFDKHHDAA~?`~~~~~>```~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~````~~`~BAAEBBDBBAABAABA~~~/~`~~``/~~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~`~~~``~`~`~~``~~~`~~`~`~~~`~``~~`~`~~~`~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~`~`??`~~~`~?`~`?~~~`~~~~~~`~`~`~~~~~~~~~~~~~~~~~~~~~~~~~']
bb_8 = {'~': (255, 255, 255), 'u': (204, 177, 7), 'o': (180, 158, 3), 'n': (173, 152, 4), 'x': (219, 191, 5), 'm': (168, 148, 4), 'v': (207, 182, 4), 'R': (79, 68, 3), 'e': (130, 114, 12), 'p': (184, 162, 3), 'r': (191, 168, 4), 'q': (186, 163, 4), 's': (196, 171, 4), 'W': (98, 85, 7), 'w': (214, 187, 5), 'z': (227, 198, 5), 'b': (122, 106, 3), '0': (232, 202, 4), 't': (200, 173, 5), 'g': (142, 124, 5), 'Y': (109, 95, 4), 'k': (160, 140, 1), 'A': (0, 0, 0), 'i': (151, 131, 3), 'O': (66, 57, 0), 'c': (108, 96, 33), 'a': (111, 96, 18), 'N': (60, 54, 0), 'I': (40, 34, 0), 'l': (168, 146, 3), 'B': (7, 5, 0), 'S': (83, 73, 1), 'V': (96, 84, 1), 'f': (137, 122, 2), 'J': (43, 37, 0), 'X': (98, 85, 10), 'y': (222, 194, 4), 'j': (158, 137, 3), 'h': (150, 131, 2), 'Q': (72, 64, 2), 'L': (53, 46, 0), 'U': (89, 77, 1), 'H': (35, 30, 0), 'K': (46, 40, 0), 'Z': (111, 97, 1), 'G': (27, 24, 0), 'P': (68, 58, 1), 'F': (25, 22, 0), 'M': (56, 49, 1), 'd': (130, 113, 3), '9': (255, 248, 7), 'C': (12, 9, 0), '6': (255, 226, 7), 'T': (76, 68, 20), 'E': (20, 17, 0), 'D': (15, 12, 4), '3': (243, 212, 6), '4': (250, 218, 6), '8': (255, 244, 7), '1': (235, 205, 6), '7': (255, 238, 6), '2': (240, 210, 6)}
r2_d2 = ['~~~~~~~~~~uonnnnnnnnnxmnnnnnnnnnnnnnnmvR~~~epnnnnnnnr~~~~~~umnnnnnnnnnnqs~~~~~~~~~~~~~Wsmnnnnnms~~~~wmnnmz~~~bqnnnm0~~wmnnnnnnnm~~~~~0mnnnnnnnnnnptg~~~~~~~rqnnnnnnnnnnq', '~~~~~~~~YkAAAAAAAAAAAiAAAAAAAAAAAAAAAAOc~~~vAAAAAAAAAv~~~~aNAAAAAAAAAAAAARz~~~~~~~~~~~cIAAAAAAAn~~~lBAAAASV~~tAAAAAs~pAAAAAAAAAr~~~~~fAAAAAAAAAAAAAJvX~~~~yAAAAAAAAAAAAo', '~~~~~~~~uAAAAAAAAAAAAjAAAAAAAAAAAAAAAARY~~~hAAAAAAAAAk~~~~XQAAAAAAAAAAAAAAAw~~~~~~~~~~cLAAAAAAANc~~uAAAAAAq~~sAAAAAq~tAAAAAAAAAUW~~~~hAAAAAAAAAAAAAAAkW~~wAAAAAAAAAAAAAo', '~~~~~~~WSAAAAAAAAAAAAjAAAAAAAAAAAAAAAARX~~iHAAAAAAAAAKg~~~XQAAAAAAAAAAAAAAAAw~~~~~~~~~cLAAAAAAAAu~~lAAAAAAs~~iAAAANa~ZAAAAAAAAAAr~~~~hAAAAAAAAAAAAAAAAw~~lAAAAAAAAAAAAAo', '~~~~~~~gGAAAAAAAAAAAAiAAAAAAAAAAAAAAAAPX~~uAAAAArAAAAAv~~~YQAAAAAKWVVWRAAAAAj~~~~~~~~~cJAAAAAAAAo~aOAAAAAAVRVRAAAAi~nBAAAAnAAAAAr~~~~hAAAAAFWVVVVAAAAARW~cAAAAAAAAAAAAAn', '~~~~~~~aMAAAAAAAahhhiyceeefIAAAAAeeeedqW~~iAAAAH9FAAAAk~~~YQAAAAAuPQRQchAAAAW~~~~~~~~~bmdeeAAAAAQVqAAAAAAAAnhCAAAAs~tAAAAA6VAAAASX~~~hAAAAAgYQXTUuAAAAFh~gAAAAAAAThihhgv', '~~~~~~~~lAAAAAAgZ~~~~~~~~~VcAAAAGn~~~~~~~iHAAAAlLhAAAAIh~~XQAAAAArAAAAAtAAAAU~~~~~~~~~~~~~gQAAAAArnAAAAAAAAoqAAAAAn~YAAAAXRrAAAAAu~~~hAAAAAfFABAApAAAAEk~wAAAAAAKu~~~~~~', '~~~~~~~~wAAAAAAAy~~~~~~~~~~bAAAAGg~~~~~~~vAAAAAvAwAAAAAv~~YQAAAAAtADDDGtAAAAe~~~~~~~~~~~~~~qAAAAAsZAAAAAAAAUtAAAAN~nAAAAAuBqAAAAAp~~~hAAAAAgLCDECyAAAALc~eQAAAAAAl~~~~~~', '~~~~~~~~~vAAAAAAAx~~~~~~~~~bAAAAGg~~~~~~~iAAAASYAhIAAAAi~~YQAAAAAVkjjkjBAAAAy~~~~~~~~~~~~~~tAAAAALEAAAAAAAABOAAAAh~sAAAABpBQaAAAARY~~hAAAAAMljjjlIAAAAu~~~0AAAAAAAjc~~~~', '~~~~~~~~~TkAAAAAAAy~~~~~~~~bAAAAGg~~~~~~iHAAAAtAAGkAAAAGj~YQAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~YRAAAAAAAAAAAAAAAAAAAAq~YAAAAgLBBuAAAAAt~~hAAAAAAAAAAAAAAAiZ~~~~yAAAAAAAkU~~~', '~~~~~~~~~~aiAAAAAAAz~~~~~~~bAAAAGg~~~~~~uAAAABnAAAtAAAAAu~XQAAAAAAAAAAAAAay~~~~~~~~~~~~~~~~~pAAAAAAAAAGDAAAAAAAAAnlAAAAAuBBBlDAAAAo~~gAAAAAAAAAAAAASxW~~~~~~xAAAAAAAw~~~', '~~~~~~~~~~~WmAAAAAATa~~~~~~bAAAAGg~~~~~~hAAAAUyqrq3FAAAAg~WQAAAAAAAAAAAQ4~~~~~~~~~~~~~~~~~~~tAAAAAAAAAjcAAAAAAAANZqAAAAF3qrrzUAAAAPZ~hAAAAAAAAAAAC8T~~~~~~~~~xAAAAAAAs~~', '~~~~~~~~~~~~xEAAAAAAv~~~~~~bAAAAGg~~~~~iHAAAAAAAAAAAAAAAGhUQAAAAAgCAAAAAp~~~~~~~~~~~~~~~~~~~aQAAAAAAAAqpAAAAAAAAgXXAAAAAAAAAAAAAAAAt~hAAAAAVNAAAAAac~~~~~~~~~gZAAAAAAo~~', 'seeeeeeeeeedMAAAAAAAl~~~~~~bAAAAGh~~~~~vAAAAAAAAAAAAAAAAAtSQAAAAAqxAAAAAAcbbbZz~~~~~~~~~~~~~~pAAAAAAAAmlAAAAAAAApkAAAAAAAAAAAAAAAAAo~gAAAAAc1IAAAAAXbbadwceedUAAAAAAATV~', 'qAAAAAAAAAAAAAAAAAAAf~~~~~~bAAAAGh~~~~~iAAAAAAAAAAAAAAAAAdhPAAAAAq~0AAAAAAAAAAi~~~~~~~~~~~~~~uAAAAAAAPXRVAAAAAAAmpAAAAAAAAAAAAAAAAAMjeAAAAAf~vIAAAAAAAAAeAAAAAAAAAAAANa~', 'qAAAAAAAAAAAAAAAAAAAo~~~~~~bAAAAGh~~~~jHAAAAAtlmmmrbAAAAAB7MAAAAAr~~1AAAAAAAAAk~~~~~~~~~~~~~~aQAAAAAAk~~rAAAAAAMrVAAAAAhpnnmnpAAAAAA1cAAAAAf~~yGAAAAAAADgAAAAAAAAAAAAWT~', 'qAAAAAAAAAAAAAAAAAAAu~~~~~~bAAAAGh~~~~vAAAAAEm~~~~~vAAAAAA3NAAAAAr~~~1AAAAAAAAk~~~~~~~~~~~~~~~qAAAAAAu~~tAAAAAAewAAAAAAv~~~~~rAAAAAAleAAAAAf~~~zFAAAAAADgAAAAAAAAAAAAx~~', 'qAAAAAAAAAAAAAAAAAO0~~~~~~~YAAAACh~~~~cAAAAAg~~~~~~iGAAAAAZMAAAAAq~~~~0AAAAAAAi~~~~~~~~~~~~~~~sAAAAAAp~~aNAAAAAqmAAAAAN~~~~~~~YAAAAAHeAAAAAd~~~~0EAAAAAAeAAAAAAAAAAGw~~~', 'nrrrrrrrrrrrrrrrrvk~~~~~~~~0qrrqua~~~avqrrsrw~~~~~~~1qrrrquvqrrrq1~~~~~yqrrrrq2~~~~~~~~~~~~~~~UwqrrqwT~~~2qrrrqvxqrrrq1~~~~~~~zqrrrrrzqrrrq2~~~~~wqrrrqrzqrrrrrrrrtj~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~dmooooor~~~~~~~opopoonn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAAAx~~~~~kOAAAAAMl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~lNAAAAATd~~~~mAAAAAAy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAt~~~zAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAy~nKAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ShAAAAARriAAAAAMn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~mMAAAAAfAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zAAAAAAAAAAAw~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RfAAAAAAALm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nLAAAAAAAAx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~VdAAAAAAAAAJq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~vAAAAAAAAAAAe~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0AAAAAA6BAAAAAv~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~oKAAAAAl~xAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UfAAAAALl~~eAAAAALo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wAAAAAA0~~~rFAAAAAfU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~xAAAAAAn~~~~~zAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~nnXZZZZfj~~~~~~rXZZZYY6~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~chkjfY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~UbcXP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~evbLGCDIOfwZ~~~~~~vVXXXXXXWjX~~~~~~lrZXXXXXXWUVilWXXWjY~~~~~tqcUMLRYmui~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zPAAAAAAAAAAW~~~~~~kAAAAAAAAAu~~~~~mPAAAAAAAAAAAOSAAAAOW~~~wUAAAAAAAAAAItf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~tAAAAAAAAAAAAAMs~~~eKAAAAAAAAAp~~~~~qAAAAAAAAAAAAQUAAAAPX~~sAAAAAAAAAAAAAAWr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAAAAAAAAAAz~~~~vAAAAACAAAAPa~~~WRAAAAAAAAAAAAQUAAAAPW~vAAAAAAAAAAAAAAAAUh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAACRTHAAA0~~~~~lAAAAE2AAAAAs~~~cLAAAAAAAAAAAANUAAAAPRqAAAAAAABRTJAAAAAAAr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~YAAAAAEwmWTgxEy~~~~~gKAAAAfuCAAAAo~~~QZAAAAAAGrrrrqzQAAAAOalAAAAAAmpVUfyGAAAAAFl~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAADz~~~~~~u~~~~~~vAAAAAuIcAAAAOb~~~vAAAAAASf~~~~STAAAANxKAAAAAeTAABBBzAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAo~~~~~~~~~~~~~~kAAAAObAuAAAAAu~~~dRAAAAAAdj~~~UTAAAAM7AAAAAAuAABCBBdNAAAAAn~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~gJAAAAqBAnCAAAAn~~~~zAAAAAAAXk~~UTAAAAL8AAAAAAnAABCCCJgAAAAAh~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAs~~~~~~~~~~~~~uAAAAArAAMeAAAAMd~~~~1AAAAAAAdZ~XTAAAAL7AAAAABmAAABCCDnAAAAAf~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sAAAAAp~~~~~~~~~~~~~kAAAAYVACAwAAAAAu~~~~~0AAAAAAAt~jTAAAAL8AAAAAApAAACCBNcAAAAAk~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rAAAAAFx~~~~~~q~~~~gKAAAAUmmmmkAAAAAl~~~~~~xAAAAAACnQTAAAAM6BAAAAAuAAACCCfNAAAAAq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WAAAAAGxjTScyIy~~~vAAAAAAAAAAAAAAAAKjeggggxEAAAAAAqRTAAAANoUAAAAAOoAAABMwAAAAAAt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yAAAAAAAFTULAAA1~~lAAAAAAAAAAAAAAAAA7UEGGEAAAAAAAAcdSAAAAPTtAAAAAARuposjAAAAAATY~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~pAAAAAAAAAAAAABvfIAAAAAOUUUUUAAAAAAkQAAAAAAAAAAAAZfSAAAAPTcQAAAAAAAAAAAAAAAAAz~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~qAAAAAAAAAAAAAJ7AAAAAAwQSSRfYAAAAAQSAAAAAAAAAAAAqSTAAAAPW~xEAAAAAAAAAAAAAAAu~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~zLAAAAAAAAAAR0fAAAAAcO~~~~~tAAAAARSAAAAAAAAAAAOjQTAAAAPX~~xTAAAAAAAAAAAACx~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~iuXIAAACLbwacJAAAAAw~~~~~~nFAAAARTAAAAAAAAAJno~VUAAAAQY~~~cwXBAAAAAAAOpr~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~', '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~fnoold~~~YooooopV~~~~~~~pnnnnllnnnnnpnnnf~~~~onnnno~~~~~~Rnsqnnpsrc~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~']


def tracer_par_le_pouvoir_de_la_force(rayons, galaxie, longueur_de_l_etoile, largeur_de_l_etoile, taille_de_l_etoile=force):
    galaxie = [classer(droide) for droide in galaxie]
    for planete in ouvrir(memoire(galaxie)):
        for stormtrooper in ouvrir(memoire(galaxie[planete])):
            if nombre(rayons[galaxie[planete][stormtrooper]]) < maitriser("120")*maitriser("42"[force])*(force+force+force):
                for particule_cosmique in ouvrir(taille_de_l_etoile):
                    for poussiere_cosmique in ouvrir(taille_de_l_etoile):
                        coup_de_sabre_laser(longueur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+stormtrooper*taille_de_l_etoile+poussiere_cosmique, largeur_de_l_etoile+maitriser(42/(maitriser(memoire("droides"))+force))+planete*taille_de_l_etoile+particule_cosmique, rayons[galaxie[planete][stormtrooper]])


tracer_par_le_pouvoir_de_la_force(etoiles_de_la_galaxie, au_fin_fond_de_la_galaxie, 42*0, 42*0, force+force)
tracer_par_le_pouvoir_de_la_force(pieces_du_faucon_millenium, soudures_du_faucon_millinium, 220, 100, 120//42)
tracer_par_le_pouvoir_de_la_force(pieces_de_l_etoile_noire, chantier_de_l_etoile_noire, 20, 20, 120//42)
tracer_par_le_pouvoir_de_la_force(bb_8, r2_d2, 120+42+memoire("droides de combat")+force, (force+force)*memoire("force"))
voir_l_hologramme()
Télécharger

Félicitations ! :bj:




16934LePhe, administrateur de Planète Casio, a envoyé une participation au nom de toute sa communauté, qui bien que hors catégorie bénéficie de par son caractère remarquable d'un affichage sur la page des gagnants.

Il représente la Death Star flottant majestueusement dans le vide intersidéral. Mais ici, le rendu du vaisseau en question nous interpelle. Cela ne ressemble pas à un sprite possiblement extrait d'un jeu vidéo comme on a pu voir dans certaines participations précédentes, cela ne ressemble pas non plus à une vue d'artiste... cela ressemble plutôt à... un rendu 3D !

Et c'est exact, après le raycasting que nous t'avions sorti en Python lors de notre concours de rentrée 2022, Lephe pousse la barre encore plus haut avec maintenant du raytracing en Python !

Tu peux comparer ci-contre l'image dont il s'est inspiré (en bas à droite) et sa reproduction en raytracing (en haut à gauche).

Mais ne t'attends pas à trouver dans le code ici quoi que ce soit de ressemblant à ce que l'on a vu précédemment pour coder l'image en question. Au contraire, tout est vectoriel, et la taille du script obtenue en conséquence en est à couper le souffle.

Pour donc les images illustrées jusqu'ici, seulement 7,705 Ko de script, avec seulement 218 lignes pour jusqu'à 105 colonnes, le code peut donc être consulté et même modifié sur calculatrice !

Par contre, avec tous les calculs 3D supplémentaires nécessaires les performances en prennent ici un coup. Si le fond étoilé aléatoire est certes affiché après seulement 6 secondes, il faudra attendre jusqu'à 6min 30s pour que l'affichage de la Death Star, progressif de haut en bas, soit achevé.
Code: Select all
from casioplot import *
import math
import random
WIDTH = 384
HEIGHT = 192
BLACK = (0, 0, 0)

# Vecteurs à 3 dimensions (x,y,z). Ça sert aussi pour les couleurs (r,g,b) !
class Vec3:
    def __init__(self, x, y, z):
        self.x, self.y, self.z = x, y, z
    def __add__(self, u):
        return Vec3(self.x + u.x, self.y + u.y, self.z + u.z)
    def __sub__(self, u):
        return Vec3(self.x - u.x, self.y - u.y, self.z - u.z)
    def neg(self):
        return Vec3(-self.x, -self.y, -self.z)
    # Produit scalaire
    def dot(self, u):
        return self.x * u.x + self.y * u.y + self.z * u.z
    # Produit et division par une constante
    def mulf(self, s):
        return Vec3(self.x * s, self.y * s, self.z * s)
    def divf(self, s):
        return Vec3(self.x / s, self.y / s, self.z / s)
    # Normalisation
    def normalize(self):
        return self.divf(math.sqrt(self.dot(self)))
    # Conversion vers une couleur (avec saturation au blanc)
    def toColor(self):
        f = lambda v: 255 if v >= 1 else int(v * 255)
        return (f(self.x), f(self.y), f(self.z))

def intersect_ray_sphere(ray_origin, ray_dir, sphere_center, sphere_r):
    """Calcul de l'intersection entre un rayon partant de ray_origin et
       voyageant dans la direction ray_dir, et une sphère. Renvoie t1 et t2,
       les deux temps auxquels le rayon intersecte la sphère."""
    ray_origin -= sphere_center

    a = ray_dir.dot(ray_dir)
    b = 2 * ray_origin.dot(ray_dir)
    c = ray_origin.dot(ray_origin) - sphere_r * sphere_r

    delta = b*b - 4*a*c
    if delta < 0:
        return -1, -1
    sqrt_delta = math.sqrt(delta)

    t1, t2 = (-b + sqrt_delta) / (2*a), (-b - sqrt_delta) / (2*a)
    return min(t1, t2), max(t1, t2)

def sphere_normal(sphere_center, position):
    """Vecteur normal à une sphère à la position donnée."""
    return (position - sphere_center).normalize()

ORIGIN = Vec3(0, 0, 0)

# "Field Of View": angle de vue vertical en degrés et en radians
FOV = 60
FOV_RADIANS = FOV * math.pi / 180
# Distance dans l'espace en 3D entre la caméra (à ORIGIN) et le plan qui
# représente l'écran. La distance est choisie pour que l'écran fasse une
# hauteur de 1 unité dans l'espace en 3D.
SCREEN_DISTANCE = 1 / (2 * math.tan(FOV_RADIANS / 2))

### Objet #1: L'étoile de la mort (Death Star, abbrévié "DS") ###

# Centre et rayon de la sphère
DS_CENTER = Vec3(0, 6, -0.2)
DS_RADIUS = 2.4

# Valeurs aléatoire pour le motif à la surface de la sphère
DS_ALEA = [random.randint(0, 255) for _ in range(25)]

# Couleurs
DS_LIGHT     = Vec3(0.7, 0.65, 0.5)
DS_DARK      = Vec3(0.45, 0.4, 0.3)
DS_SEMILIGHT = (DS_LIGHT + DS_DARK).divf(2)
DS_HIGHLIGHT = (DS_DARK + (DS_LIGHT - DS_DARK).mulf(3))

# Fonction donnant la couleur à la surface de la sphère à la position 3D donnée
def texture_death_star(pos):
    # Conversion des coordonnées cartésiennes x/y/z en sphériques. Comme on ne
    # regarde qu'un côté de la sphère connaître x/z suffit.
    pos = (pos - DS_CENTER).divf(DS_RADIUS)
    phi = math.asin(pos.z)
    theta = math.asin(pos.x / math.cos(phi))
    # Conversion de l'invervalles [-π;π] vers [0:256) pour u et [0:128) pour v
    # (symétrique par rapport au milieu de la hauteur)
    u = (theta + math.pi / 2) / math.pi * 256
    v = abs(phi / math.pi * 256)

    # Pixels aléatoires sur la partie sombre mais réguliers en hauteur
    surf_light_N = 0
    if v <= 0.5:
        surf_light_N = 4
    elif 4 < v <= 60:
        surf_light_N = 4 if (int(v) & 7) == 0 else 64
    if surf_light_N and random.randint(0, surf_light_N) == 0:
        return DS_HIGHLIGHT if u < 144 else DS_SEMILIGHT

    # Bordure au milieu
    if v <= 0.5:
        return DS_DARK.mulf(0.7)
    # Bandes de motifs carrés en surface
    if 4 <= v <= 20:
        return DS_LIGHT if int(u) in DS_ALEA else DS_DARK
    if 23 <= v <= 38:
        return DS_LIGHT if (int(u) + 43) & 255 in DS_ALEA else DS_DARK
    if 41 <= v <= 60:
        return DS_LIGHT if (int(u) + 90) & 255 in DS_ALEA else DS_DARK

    return DS_LIGHT

### Object #2: Laser incrusté dans la sphère ###

# Centre et rayon de la sphère qui est extrudée de l'étoile de la mort
LASER_CENTER = DS_CENTER + Vec3(0.28, -1, 0.28).normalize().mulf(3.48)
LASER_RADIUS = 1.2

# Même affaire que pour texture_death_star()
def texture_laser(pos):
    pos = (pos - LASER_CENTER).divf(LASER_RADIUS)
    phi = math.asin(pos.z)
    theta = math.asin(pos.x / math.cos(phi))
    # Conversion des invervalles [-π;π] vers [-1:1] en se restreignant à la
    # partie visible
    u = (theta + math.pi / 2) / math.pi * 8.533 - 3.533
    v = (phi   + math.pi / 2) / math.pi * 8.533 - 3.533

    LIGHT     = Vec3(0.7, 0.7, 0.50)
    DARK      = Vec3(0.3, 0.3, 0.24)
    SEMILIGHT = (DARK + (LIGHT - DARK).mulf(2))

    r = math.sqrt(u*u + v*v)
    if 0.80 <= r <= 0.85:
        return DARK
    if r <= 0.25:
        return SEMILIGHT
    return LIGHT

### Source de lumière #1 (lumière ambiente) ###

# Intensité de l'illumination
AMBIENT_LIGHT = 0.05

### Souce de lumière #2 (lumière directionnelle): le Soleil ###

# Direction des rayons et intensité de l'illumination
SUN_DIRECTION = Vec3(-1, -0.22, -0.1).normalize()
SUN_INTENSITY = 4.5

### Source de lumière #3 (lumière ponctuelle) ###

# "Front light": Position de la source et intensité de l'illumination
FLIGHT_POSITION = Vec3(-1.5, 2.5, 0)
FLIGHT_INTENSITY = 0.15

### Dessin ###

# Fond noir
for y in range(HEIGHT):
    for x in range(WIDTH):
        set_pixel(x, y, BLACK)
show_screen()

# Étoiles aléatoires
for step in range(10):
    for _ in range(400):
        intensity = random.randint(0, 95)
        color = (intensity, intensity, intensity)
        x = random.randint(0, WIDTH-1)
        y = random.randint(0, HEIGHT-1)
        set_pixel(x, y, color)
    show_screen()

# Lancer de rayon pour tous les pixels
for y in range(HEIGHT):
    for x in range(WIDTH):
        # Direction du rayon partant de ORIGIN et intersectant l'écran au
        # niveau du pixel (x, y)
        ray_dir = Vec3((x - WIDTH / 2) / HEIGHT,
                       SCREEN_DISTANCE,
                       (HEIGHT / 2 - y * 1.05) / HEIGHT).normalize()

        # Si le rayon n'intersecte pas l'étoile de la mort, on passe
        t1_ds, t2_ds = intersect_ray_sphere(ORIGIN, ray_dir, DS_CENTER, DS_RADIUS)
        if t1_ds < 0:
            continue

        # Point de collision, normale à la sphère en ce point, et texture
        collision = ORIGIN + ray_dir.mulf(t1_ds)
        normal = sphere_normal(DS_CENTER, collision)
        texture = texture_death_star

        # Si on touche le laser, on utilise les infos de collision du laser
        t1_laser, t2_laser = intersect_ray_sphere(ORIGIN, ray_dir, LASER_CENTER, LASER_RADIUS)
        if 0 <= t1_laser <= t1_ds <= t2_laser:
            collision = ORIGIN + ray_dir.mulf(t2_laser)
            normal = sphere_normal(LASER_CENTER + (LASER_CENTER - DS_CENTER).mulf(0.3), collision).neg()
            texture = texture_laser

        # Calcul de l'illumination du point de collision:

        # Lumière ambiante
        light_level = AMBIENT_LIGHT
        # Lumière provenant du Soleil
        light_level += max(-normal.dot(SUN_DIRECTION) * SUN_INTENSITY, 0)
        # Lumière provenant de la source ponctuelle sur la gauche
        FLIGHT_DIRECTION = (collision - FLIGHT_POSITION).normalize()
        light_level += max(-normal.dot(FLIGHT_DIRECTION) * FLIGHT_INTENSITY, 0)

        # Couleur finale du pixel: couleur donnée par la texture, multipliée
        # par le niveau d'illumination
        color = texture(collision).mulf(light_level)
        set_pixel(x, y, color.toColor())
    show_screen()
Télécharger




16935J'ai moi-même, juste pour le plaisir et au nom de toute la communauté TI-Planet, envoyé également une participation hors concours que j'ai nommée Escape Out of Dagobah, et au justement le plaisir de la retrouver elle aussi épinglée sur la page des gagnants ! :favorite:

J'adapte pour ma part à nouveau une scène du film-épisode 5 L'Empire contre-attaque, cette fois-ci celle où Luke tente d'arracher son vaisseau X-Wing aux marais de la planète Dagobah.

J'utilise la bibliothèque graphique casioplot. Record de longueur, le code fait ici 124,724 Ko avec pas moins de 814 lignes, bien évidemment non visualisable ou modifiable sur calculatrice.

Sauf que ce n'est pas un simple dessin, je commence par animer un dialogue entre Luke et Yoda que tu fais progresser avec la touche
AC
:

L'affichage se compose de différents éléments : fond d'écran, surface du marais, partie immergée sous la surface du marais, Luke, Yoda, leurs deux plateformes flottantes et le X-Wing. La fonction d'affichage a été optimisée pour ne redessiner que les seuls pixels inclus dans un rectangle dont les coordonnées sont à lui communiquer. Pour optimiser les performances il suffit ainsi d'encadrer le ou les changements visuels à chaque rafraichissement de l'écran par un rectangle le plus petit possible.

Et encore mieux qu'une animation, c'est un véritable jeu vidéo qui démarre après cette cinématique. Ton but est donc ici d'extraire ton X-Wing des profondeurs de Dagobah afin de pouvoir vite partir sauver tes amis.

Les contrôles au clavier sont extrêmement simples, le jeu se jouant avec une seule et unique touche,
AC
(touche ACtion, c'est facile à retenir).

À toi de tenir compte des variations automatiques de la jauge alors affichée en haut d'écran, t'indiquant si la Force est plus ou moins avec toi. La touche
AC
te permet ici d'invoquer la Force. Appuie aux bons moments afin de faire léviter ton X-Wing le plus possible et l'arracher aux marais de Dagobah !


Code: Select all
#########################
# Escape Out of Dagobah #
#########################
# un jeu Python pour Graph 90+E / fx-CG50

from casioplot import set_pixel, show_screen, get_pixel, draw_string
from math import sqrt, floor, ceil, cos, pi, sin, log10
from random import random, randint, seed

#-------
# IMAGES
#-------
# images converties sur https://tiplanet.org/forum/img2calc.php

S_L, S_H, S_BITS, S_ITRANSP, S_RLE, S_PALETTE, S_ZOOM, S_X, S_Y = tuple(range(9))
I_LUKE, I_XWING, I_YODA, I_PF_P, I_PF_G, I_AP = tuple(range(6))
SPRITES = (
# Luke Skywalker - d'apres https://www.reddit.com/r/PixelArt/comments/9dd75i/oc_luke_skywalker_i_did_on_my_latest_stream_join/
[19,58,7,0,
(b"\x80\v\x81\3\x82\1\x80\4",
b"\x80\n\x82\1\x83\1\x84\1\x82\1\x85\2\x80\3",
b"\x80\t\x81\1\x86\1\x82\1\x84\2\x81\1\x82\1\x80\3",
b"\x80\t\x84\1\x87\1\x88\1\x89\1\x81\1\x8a\1\x86\1\x82\1\x80\2",
b"\x80\t\x81\1\x8a\1\x8b\1\x89\2\x8c\1\x88\1\x84\1\x80\2",
b"\x80\t\x81\1\x8a\1\x89\3\x8d\1\x8a\1\x84\1\x80\2",
b"\x80\b\x85\1\x86\1\x8a\1\x88\1\x89\2\x8a\1\x87\1\x80\3",
b"\x80\n\x8e\1\x8f\1\x88\2\x90\1\x86\1\x84\1\x80\2",
b"\x80\a\x91\1\x92\1\x86\1\x84\1\x8f\1\x93\3\x80\4",
b"\x80\5\x94\1\x91\1\x95\2\x92\1\x96\1\x8f\1\x97\1\x93\2\x98\1\x80\1\x89\2",
b"\x80\3\x99\1\x94\1\x9a\1\x91\1\x9a\2\x95\1\x92\1\x97\1\x8f\1\x93\1\x9b\1\x9c\1\x8d\1\x89\2",
b"\x80\2\x99\1\x9d\1\x9a\1\x95\1\x94\2\x95\3\x91\1\x93\1\x8a\1\x8d\1\x89\1\x8a\1\x89\1\x8a\1",
b"\x80\1\x94\1\x9d\1\x9a\1\x95\1\x9a\1\x9d\1\x9a\1\x9e\1\x94\1\x96\1\x8a\3\x89\2\x8f\3",
b"\x80\1\x9f\1\x9d\1\xa0\1\x9a\1\xa0\1\x9a\1\x94\1\x9a\2\xa1\1\x8f\2\x90\1\x88\1\x89\1\x8f\2\x80\1",
b"\x80\1\x9f\1\x9d\1\x9a\3\x94\1\x9a\2\xa2\1\xa3\1\xa4\1\xa5\1\x9a\1\x9d\2\x8f\2\x80\1",
b"\x80\2\x9e\1\x9a\3\x9f\1\x9a\1\xa6\1\xa7\1\xa8\1\xa9\1\x94\1\x9a\2\xa2\1\x97\1\xaa\1\x80\1",
b"\x80\2\xab\1\xa2\2\xac\1\xa2\2\xa5\1\xa3\1\xa9\1\x94\1\x9a\1\x9d\1\x91\1\xa2\1\xad\1\xa5\1\xa2\1",
b"\x80\3\xa2\2\xac\1\xa1\1\xa2\1\xa4\1\xa9\2\x9a\3\xa2\2\xa4\1\xa8\1\xa2\1",
b"\x80\4\xa2\1\xac\1\xae\1\xa8\1\xa9\2\x9a\2\x9d\1\x92\1\xa2\1\xae\1\xa8\1\xa5\1\xa2\1",
b"\x80\4\xa2\2\xac\1\xa9\2\xaf\1\x9a\2\x9d\1\xa2\2\xb0\1\xb1\1\xa5\1\xa2\1",
b"\x80\3\x99\1\x9a\2\xa2\1\xa9\1\xb2\1\x91\1\x9a\2\xa1\1\xa2\2\xb0\1\xb3\1\xb2\1\xa1\1",
b"\x80\3\x9f\1\x9a\3\xb0\1\x91\1\x92\1\x91\2\xb4\1\xa2\2\xac\1\xa1\1\xa2\1\xab\1",
b"\x80\3\x9f\1\xb5\1\x9a\2\x91\1\xac\1\xb4\1\xac\1\xb0\1\xb4\1\xae\1\xa6\4\x80\1",
b"\x80\2\x99\1\xb6\2\x98\2\x91\2\xb7\1\xb8\1\xac\1\xb4\2\x80\5",
b"\x80\2\xb9\1\xba\2\xbb\1\xbc\3\xb7\2\xb3\1\xbd\1\xb0\1\x80\5",
b"\x80\2\xbb\1\xbe\1\xbf\1\xc0\4\xb7\2\xc1\1\xc2\1\xb9\1\x80\5",
b"\x80\2\xc0\2\xc3\1\xc4\1\xc5\2\xc6\1\xc7\2\xc8\1\xc0\1\xc2\1\xb3\1\x80\4",
b"\x80\1\x9f\1\x9a\5\xc4\1\xc6\2\xb4\1\xa1\1\xa2\1\xc9\1\xca\1\x80\4",
b"\x80\1\x94\1\xcb\1\xcc\4\x9a\1\xb0\1\xb4\1\xb0\1\xa1\1\xa2\1\xc0\1\xbe\1\x80\4",
b"\x9f\1\xab\1\xcd\2\xce\3\xcf\1\xd0\1\xb4\2\xc3\1\xa1\1\xac\1\x80\5",
b"\xab\1\xb9\1\xd1\1\xd2\1\xce\4\xd3\1\xd4\1\xb4\1\xac\1\xa2\2\x80\5",
b"\xd5\1\xa3\1\xd6\1\xd7\1\xd8\1\xce\3\xd9\1\xda\1\xd4\2\xc3\1\xbd\1\xdb\1\x80\4",
b"\x80\2\xdc\1\xce\1\xd3\1\xce\4\xd2\1\xdd\2\xde\1\x80\6",
b"\x80\3\xce\1\xd8\1\xdf\1\xce\3\xd2\1\xdd\2\xe0\1\x80\6",
b"\x80\4\xd1\1\xd2\1\xce\3\xe1\1\xd2\1\xdd\1\xe0\1\xd4\1\x80\5",
b"\x80\4\xce\1\xe1\1\xd7\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xd2\1\xce\3\xd2\1\xdd\3\x80\5",
b"\x80\5\xce\1\xe2\1\xda\1\xce\2\xe1\1\xda\1\xdd\2\xd4\1\x80\4",
b"\x80\6\xce\1\xd3\1\xce\3\xd2\1\xd9\1\xdd\2\x80\4",
b"\x80\6\xce\1\xe3\1\xce\2\xdf\1\xe4\1\xdd\3\x80\4",
b"\x80\a\xe3\1\xe5\2\xe6\1\xe7\1\xd9\1\xe7\1\x80\5",
b"\x80\a\xe8\1\xe9\1\xea\2\xeb\1\xec\1\xeb\1\x80\5",
b"\x80\a\xe8\1\xed\3\xee\1\xef\1\xec\1\x80\5",
b"\x80\6\xf0\1\xea\1\xe9\2\xf1\1\xeb\1\xee\1\xeb\1\x80\5",
b"\x80\6\xea\4\xee\1\xf2\1\xef\1\x80\6",
b"\x80\6\xed\1\xf3\3\xee\1\xf2\1\xef\1\x80\6",
b"\x80\5\xea\1\xf4\1\xea\1\xe9\1\xf5\1\xee\1\xec\1\x80\a",
b"\x80\6\xf6\1\xe5\2\xee\2\xeb\1\xf2\1\x80\6",
b"\x80\5\xf5\1\xf0\1\xea\1\xdf\1\xee\1\xf2\1\xef\1\x80\a",
b"\x80\5\xf6\1\xf3\1\xed\1\xec\1\xeb\1\xee\1\x80\b",
b"\x80\5\xea\3\xf7\1\xf2\1\xec\1\x80\b",
b"\x80\4\xf6\1\xed\1\xf3\1\xf8\1\xf9\2\xf7\1\xf9\1\xfa\1\x80\6",
b"\x80\5\xea\3\xf9\6\xfa\1\x80\4",
b"\x80\5\xea\2\xe5\1\xfb\6\xf9\1\x80\4",
b"\x80\4\xe5\1\xed\1\xe5\1\xfc\1\x80\v",
b"\x80\4\xea\2\xfc\1\xf1\2\xfa\1\x80\t",
b"\x80\4\xf5\1\xfc\1\xf5\1\xf1\1\xfc\3\xfd\1\x80\a",
b"\x80\5\xfe\6\xf9\1\x80\a",),
((0, 0, 0), (154, 121, 93), (152, 124, 87), (124, 96, 85), (126, 96, 80), (156, 122, 86), (122, 99, 80), (119, 98, 85), (247, 191, 140), (250, 207, 152), (251, 188, 140), (194, 145, 114), (175, 121, 94), (253, 203, 152), (120, 102, 76), (232, 165, 120), (229, 168, 121), (220, 216, 195), (225, 214, 195), (219, 140, 102), (234, 231, 210), (248, 244, 222), (252, 241, 225), (235, 160, 119), (217, 215, 200), (231, 229, 214), (255, 252, 230), (247, 238, 224), (249, 192, 135), (251, 255, 231), (241, 229, 210), (237, 228, 215), (255, 252, 224), (211, 200, 181), (207, 203, 182), (38, 39, 32), (44, 37, 27), (40, 39, 28), (205, 203, 188), (51, 45, 35), (43, 37, 32), (86, 78, 67), (131, 87, 60), (206, 197, 184), (188, 175, 151), (139, 83, 60), (209, 203, 176), (86, 79, 68), (182, 176, 150), (42, 40, 24), (84, 81, 64), (90, 81, 65), (186, 178, 146), (246, 244, 229), (64, 61, 54), (105, 91, 76), (107, 90, 70), (53, 51, 44), (62, 61, 59), (26, 28, 26), (51, 47, 46), (178, 173, 155), (1, 4, 0), (32, 31, 20), (7, 0, 0), (102, 86, 66), (30, 31, 26), (205, 194, 167), (203, 199, 179), (148, 139, 115), (164, 150, 127), (71, 56, 37), (39, 27, 13), (3, 0, 5), (95, 88, 82), (254, 253, 217), (254, 255, 226), (203, 165, 124), (215, 181, 137), (229, 213, 176), (204, 188, 152), (212, 181, 143), (193, 158, 97), (197, 156, 97), (195, 174, 138), (102, 104, 102), (217, 179, 143), (200, 165, 117), (213, 179, 129), (209, 169, 122), (197, 164, 109), (240, 239, 223), (252, 250, 234), (204, 171, 122), (206, 171, 128), (192, 157, 109), (201, 174, 122), (217, 184, 133), (218, 183, 127), (196, 156, 103), (204, 170, 115), (169, 136, 76), (171, 137, 71), (175, 143, 89), (174, 130, 77), (193, 156, 115), (188, 156, 114), (122, 87, 16), (141, 103, 34), (166, 135, 81), (126, 85, 17), (141, 105, 27), (183, 159, 114), (159, 122, 58), (138, 106, 36), (171, 133, 81), (190, 154, 119), (155, 122, 48), (172, 133, 75), (106, 73, 8), (168, 134, 62), (103, 75, 8), (182, 162, 126), (57, 6, 10), (160, 121, 51), (186, 158, 126), (65, 6, 10))
],
# X-Wing d'apres https://www.pngwing.com/en/free-png-prwig/download
[66,30,3,0,
(b"\x80\1)\xd0\2\31",
b"h\31\32\23\31\xa8\2\21\22\t",
b"P\31\32\33\21\v\22\31@\218\31h\t\32\v\t",
b"8\31\32\31\n$*\f\31 \t\22\t(\t\22\v\t89\n\23\t",
b"\b1\32\31\30\t\22\34\22$\22!\n\v\22)\32\2392\t\n\v\t\b",
b"\t\22\t\32\318\21\32\f\22\f\22!\22\23\t\23\22\23\t\n\v\t\23\n\24\32$\n\t\n\23\t\b",
b"\t\32\31`\t2\31\22\21\v\21\23\n\t\23\t\n\23\21\v\24\22\24\n\34\n\t\23\t\20",
b'\b\t\n\t\x80\1\21\32\21*\v\t\33\22\33\22\v\21\v\t2\34"\v\t\20',
b"\20\t\x98\1\t\n\21\n\31\n\33\n\31:\v\t\vR\31\n\t\30",
b"\xb8\1\21\n\t\v\t\n\t\23!\32\31\22\23\t21\v\n\t\30",
b"\xc0\1\t\n\21\n\21\23\32\v\n\v\t\n\t\22\33\32) \t\n\t ",
b"\x88\1)\20\t\n\31\22\v\n\v\21\33\21\n\21\x1b1 \31\n\t ",
b"h!\22\33A\v\32\33\t\v\t\v\31\x131 \t\22\23\t ",
b'X\21";\31\23\n\31\n\t\23\21\v\31\v1\v\t \31\v\t(',
b"H\21\32#\31+\21\n\31\n\21\23\t+I \t\n\23\t(",
b"8\21\22\21*\33\22\33\21\n\21\n\21#I\23\t\v\21\30\t\22\v\t(",
b"(\21\22\21\20\31\32A\n\21\n\t\22\33)\v\31\v\21#\21\b!0",
b'\b!\22\218\31\x1012\f\x1b1\v\31#"\21H',
b'\t"\21\x80\1\21:\f\n\23)\v\t\v\t#\n\v\31\v\22\21 \21\b',
b"\t\22\21\x88\1\21:\f\n\239\v\21\23\22\v\31\v*!\22\t",
b"\b\t\n\t\x88\1\t:\24\n\23)\33\21\vR\v\21\v\22\t\v\n\v\t",
b"\b\21\x88\1\t:\24\n\23\t !\20!2\v\21\23\22\t\v\n\v\t",
b"\x98\1\t#\22\34\n\23\tx!B\23\n\23\t",
b'\x90\1\t2\34\n\23\t\xa0\1!"\t\v\n\v\21',
b"\x90\1\t:\f\n\23\t\xc8\1!\v\22\v\21",
b"\x88\1\t\v:\33\t\xf0\1\t\22\31",
b'\x88\1\t\33"\33\t\xf8\1\t\n!',
b"\x88\1\tC\21\xf8\1\t\v\n!",
b"\x90\1\31\33\21\x88\2\t\n)",
b"\xa8\1\31\x98\29",),
((255, 0, 255), (0, 0, 0), (255, 255, 255), (128, 128, 128), (255, 0, 0))
],
# Yoda d'apres https://www.reussiralecole.fr/pixel-art-star-wars/
[31,33,7,0,
(b"\x80\f\x81\6\x80\r",
b"\x80\n\x82\1\x81\1\x83\1\x84\3\x85\1\x84\1\x86\1\x81\1\x80\v",
b"\x80\t\x82\1\x84\1\x87\1\x88\3\x85\1\x84\1\x88\1\x84\1\x89\1\x81\1\x80\3\x8a\1\x80\6",
b"\x80\6\x8a\1\x80\1\x81\1\x85\v\x84\1\x81\1\x8a\2\x80\5\x82\1\x81\1",
b"\x81\4\x80\2\x8a\1\x81\1\x84\2\x85\1\x88\2\x84\1\x85\1\x84\2\x85\1\x84\1\x88\2\x8b\1\x8c\1\x8d\1\x8a\1\x80\1\x81\3\x84\1\x82\1",
b"\x81\1\x84\1\x88\1\x84\1\x8e\1\x81\2\x82\1\x81\1\x8e\1\x84\1\x88\2\x84\1\x82\1\x8f\2\x82\1\x81\1\x84\1\x8b\1\x8d\1\x90\1\x86\1\x82\2\x84\2\x88\1\x83\1\x82\1",
b"\x80\1\x81\1\x88\2\x84\1\x82\1\x84\4\x90\1\x81\2\x90\1\x84\5\x88\1\x8a\1\x91\1\x84\4\x92\2\x83\1\x93\1\x80\1",
b"\x80\2\x94\1\x83\1\x95\1\x96\1\x97\2\x98\1\x84\1\x88\3\x84\1\x98\1\x97\2\x92\1\x98\1\x84\1\x88\1\x84\1\x98\5\x84\1\x99\1\x80\2",
b"\x80\3\x81\1\x9a\1\x9b\1\x80\3\x97\1\x84\1\x88\2\x92\1\x80\3\x9b\1\x9c\1\x9d\1\x88\2\x96\1\x98\1\x96\1\x84\2\x93\1\x80\3",
b"\x80\4\x86\1\x9b\1\x80\3\x9b\1\x9e\1\x88\2\x9b\1\x80\3\x9b\2\x85\1\x88\2\x84\3\x95\1\x81\1\x80\4",
b"\x80\4\x81\1\x85\5\x84\2\x88\1\x9f\1\x85\5\x84\1\x88\1\x84\2\x82\1\x90\1\x80\6",
b"\x80\4\x81\1\x88\3\x84\1\x85\1\x98\1\x97\1\x84\1\x88\1\x9f\1\x84\1\x88\4\x84\1\x81\2\x86\1\x8c\1\x8b\1\x80\5",
b"\x80\4\x81\1\x84\1\x88\2\x85\1\x84\3\x88\3\x85\1\x88\4\x85\2\x87\1\x90\1\x8c\1\x8a\1\x80\5",
b"\x80\5\x94\1\x85\2\x84\1\x80\5\x84\2\x85\5\x87\1\x81\1\x8a\3\x80\5",
b"\x80\6\x81\1\x85\2\x84\5\x88\1\x85\6\x86\1\xa0\1\x80\2\x8a\1\x80\5",
b"\x80\6\xa1\1\x81\1\x85\6\x87\1\x85\5\x81\1\xa2\2\xa3\1\x80\a",
b"\x80\6\xa4\1\xa5\1\xa6\1\x90\1\x85\a\x9f\1\x85\1\xa5\1\xa2\4\xa4\1\x80\6",
b"\x80\6\xa4\1\xa2\3\xa7\1\xa8\1\xa9\4\xaa\1\xa5\1\xa2\2\xab\1\xa2\2\xa5\1\xac\1\x80\6",
b"\x80\5\xa4\1\xa5\1\xad\2\xa2\2\xae\1\xaf\3\xb0\1\xa5\1\xa2\3\xb1\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xa3\1\xb3\2\x86\1\x81\3\xb4\1\xb3\1\xad\2\xa2\1\xad\1\xb2\1\xa5\1\xa2\3\xb2\1\x80\5",
b"\x80\5\xa4\1\xa5\1\xb2\1\x81\2\x84\2\x88\2\x82\1\xa4\1\xb2\1\xb3\1\xad\2\xb5\1\xa5\1\xa2\3\xb6\1\x80\5",
b"\x80\5\xa4\1\xa2\1\xa5\1\x90\1\x9b\1\x84\1\x8e\1\x84\1\x88\1\x81\1\xa5\2\xb5\1\xb2\2\xa2\4\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\x81\1\x86\1\x94\1\x81\1\x9b\1\x90\2\xa2\6\xad\1\xa2\2\xad\2\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\x81\1\x87\1\x85\1\xb8\1\x95\1\xb9\1\xa5\1\xa2\1\xba\1\xa2\4\xad\1\xa2\1\xad\3\xb7\1\x80\4",
b"\x80\4\xb2\1\xa2\3\xbb\1\x81\2\xbc\2\xa4\1\xa2\2\xad\3\xa2\2\xad\5\xb7\1\x80\4",
b"\x80\4\xb2\1\xa5\1\xa2\2\xbd\1\xbe\1\xbf\1\xc0\1\xc1\1\xc2\1\xad\n\xb3\1\xc3\1\xa1\1\x80\4",
b"\x80\4\xb2\1\xad\1\xa2\2\xc4\1\xbe\2\xc5\1\xbc\1\xc2\1\xb3\1\xad\b\xb3\1\xb2\1\xb3\1\xb7\1\x80\4",
b"\x80\4\xb2\1\xad\2\xa2\1\xa5\1\xbb\1\xc6\2\xc7\1\xbc\1\xc8\1\xad\6\xb3\1\xa4\1\xb2\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa4\1\xad\1\xa2\2\xc9\1\xc6\2\xca\1\xbc\1\xcb\1\xad\4\xb3\1\xb2\2\xad\4\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xa2\1\xad\1\xb3\1\xcc\1\xcd\1\xca\1\xbc\1\xcb\1\xb3\2\xa4\1\xa0\1\xa4\1\xb3\4\xad\2\xb7\1\x80\4",
b"\x80\5\xa0\1\xad\1\xb3\1\xce\1\x96\1\xcf\1\xd0\1\xd1\1\xbc\1\xc2\1\xb2\1\xd2\1\xd3\1\x92\1\x96\1\x98\1\x96\2\x92\1\xb3\1\xad\1\xb7\1\x80\4",
b"\x80\5\xa0\1\xb3\1\xce\1\x83\1\xd4\1\x83\1\xd5\1\x96\1\xd6\1\xd1\1\xb3\2\xce\1\x84\1\x98\1\x84\1\x83\1\x92\1\x83\1\x92\1\xd3\1\xb7\1\x80\4",
b"\x80\6\xa0\1\x81\6\xd1\1\xd7\1\xa1\2\x81\4\x82\1\x81\3\xa0\1\x80\5",),
((0, 0, 0), (74, 116, 0), (79, 114, 0), (192, 220, 53), (191, 219, 51), (136, 167, 0), (71, 114, 5), (137, 168, 0), (190, 218, 50), (141, 165, 0), (151, 153, 150), (150, 152, 149), (234, 237, 233), (235, 238, 234), (76, 112, 5), (78, 114, 8), (70, 113, 4), (68, 111, 1), (63, 100, 1), (69, 112, 2), (77, 113, 6), (75, 111, 3), (67, 103, 0), (65, 102, 4), (64, 101, 3), (80, 110, 4), (66, 116, 0), (255, 255, 255), (67, 97, 0), (72, 101, 0), (191, 219, 39), (134, 165, 0), (129, 98, 26), (130, 99, 27), (244, 240, 218), (123, 98, 14), (128, 97, 25), (245, 241, 219), (67, 110, 0), (127, 60, 27), (135, 67, 33), (132, 65, 37), (132, 64, 24), (249, 238, 218), (131, 99, 18), (224, 211, 186), (133, 65, 32), (135, 67, 39), (131, 63, 30), (126, 95, 13), (127, 96, 24), (225, 212, 187), (138, 64, 34), (127, 96, 15), (124, 99, 15), (128, 97, 33), (75, 117, 0), (129, 98, 34), (223, 210, 185), (125, 107, 45), (191, 83, 46), (124, 106, 44), (192, 173, 119), (87, 38, 18), (193, 79, 45), (194, 80, 46), (126, 101, 27), (124, 94, 11), (126, 102, 42), (83, 40, 17), (191, 172, 118), (88, 38, 19), (124, 99, 25), (126, 103, 49), (89, 39, 19), (125, 100, 26), (128, 104, 44), (192, 174, 126), (62, 99, 0), (127, 104, 50), (129, 106, 52), (90, 40, 20), (128, 97, 16), (226, 213, 188), (66, 103, 5), (58, 102, 2), (91, 41, 21), (87, 44, 21))
],
# petite plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[59,19,7,0,
(b"\x80\b\x81\n\x80\b\x81\16\x80\2\x81\f\x80\5",
b"\x80\a\x81\1\x82\1\x83\1\x82\4\x84\1\x85\1\x86\1\x87\1\x81\b\x86\1\x88\2\x89\1\x82\1\x88\1\x82\1\x88\1\x82\4\x8a\1\x8b\1\x81\2\x8b\1\x8c\1\x82\1\x88\3\x82\2\x88\1\x8a\1\x84\1\x8d\1\x81\2\x80\3",
b"\x80\5\x81\2\x82\4\x88\6\x82\3\x88\3\x82\1\x88\1\x82\1\x88\1\x82\1\x88\f\x82\1\x88\5\x82\3\x88\1\x82\3\x88\3\x81\1\x80\2",
b"\x80\3\x81\2\x8e\1\x8f\1\x88\a\x8a\1\x88\1\x90\1\x88(\x81\1\x80\1",
b"\x80\1\x81\2\x88\3\x82\1\x88\a\x82\1\x88)\x82\1\x88\1\x81\1",
b"\x81\1\x87\1\x82\1\x90\1\x88\n\x8e\1\x88\1\x82\1\x88(\x82\1\x81\1",
b"\x81\1\x91\1\x83\1\x82\1\x88\2\x82\1\x88\1\x82\3\x88\3\x82\1\x92\1\x82\1\x88\4\x82\1\x88\1\x82\1\x88\1\x82\4\x88\2\x82\5\x88\4\x82\2\x84\1\x88\1\x82\4\x88\2\x82\1\x88\2\x82\1\x88\3\x93\1\x80\1",
b"\x80\1\x81\1\x94\1\x88\a\x95\1\x94\2\x96\1\x94\1\x97\1\x98\1\x99\1\x9a\1\x8a\1\x8f\1\x88\1\x82\1\x88\1\x9b\2\x95\1\x8e\2\x9c\1\x9d\1\x99\1\x82\1\x88\2\x84\1\x94\2\x96\1\x94\1\x9e\1\x9f\1\x88\4\x8e\1\x88\2\x82\1\x88\3\x82\1\x88\2\x99\1\x80\2",
b"\x80\2\xa0\1\xa1\1\x82\2\x88\2\x8a\1\x96\1\x97\1\xa2\1\x96\2\xa2\1\x96\1\x98\1\xa2\1\x96\1\xa2\1\xa0\1\x88\1\x82\1\xa3\1\xa4\b\xa5\1\x9a\1\x88\1\xa2\1\x96\4\x92\1\xa6\1\xa2\1\xa7\2\xa0\1\xa2\1\x96\1\xa8\1\x95\1\x88\1\x82\1\x88\1\x82\1\x88\1\x90\1\x88\1\x80\2",
b"\x80\3\xa9\2\xaa\3\xa9\a\xaa\1\xab\1\xaa\3\xac\1\xad\1\xae\r\xa9\1\xaa\1\xa9\1\xaa\2\x92\1\x98\1\xa9\1\xaa\1\xa9\a\xaa\2\xa9\1\xab\1\xaf\1\xaa\1\x80\2",
b"\x80\5\xb0\2\xb1\1\xb0\b\xb2\1\xb0\3\xb1\1\xb3\1\xb4\n\xb3\1\xb4\1\xb5\1\xb0\5\xb1\2\xb0\v\xb1\1\xaf\1\xb1\1\x80\3",
b"\x80\6\xb1\n\xab\1\xb1\4\xb6\1\xb7\1\xb3\n\xb6\1\xb1\5\xb8\1\xb9\2\xb1\f\xaf\1\xb8\1\x80\3",
b"\x80\6\xba\1\xbb\16\xbc\f\xab\1\xbb\a\xb9\1\xbb\v\x9f\1\xbb\2\x80\3",
b"\x80\6\xbd\n\xbe\3\xbd\1\xbe\1\xbf\1\xc0\1\xc1\n\xbd\1\xbe\1\xbd\4\xbe\1\xbd\1\xbe\2\xbd\v\xc2\1\x80\4",
b"\x80\a\xc3\20\xc1\n\xc3\24\xc4\1\x80\5",
b"\x80\b\xc5\1\xc6\1\xc5\2\xc6\1\xc5\1\xc6\2\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc6\1\xc5\1\xc7\3\xc8\1\xc7\5\xc5\4\xc6\1\xc5\2\xc6\4\xc5\a\xc9\1\xc5\1\x80\a",
b"\x80\n\xca\1\xcb\1\xcc\5\xcb\1\xcd\1\xce\1\xcc\1\xca\1\xcb\1\xcf\1\xd0\1\xd1\1\x80\4\xd2\1\xcf\1\xcc\6\xca\1\xcc\1\xcb\1\xcc\t\x80\t",
b"\x80\v\xcd\1\xd3\1\xca\1\xcd\1\xd4\1\xca\1\x80\4\xd5\1\xd6\1\xd0\1\x80\b\xcd\1\xd3\1\xd4\1\xd5\1\x80\1\xcd\1\xd4\1\xd3\1\x80\2\xd4\1\xcd\1\xca\3\xd4\1\xca\1\x80\n",
b"\x80\f\xd7\2\x80\23\xd7\1\x80\v\xd8\1\xd7\1\x80\f",),
((255, 0, 255), (0, 0, 0), (66, 146, 8), (66, 146, 0), (66, 138, 8), (66, 134, 8), (66, 130, 16), (66, 121, 16), (58, 146, 8), (66, 142, 0), (66, 142, 8), (74, 125, 25), (66, 134, 16), (66, 125, 16), (74, 125, 16), (58, 146, 0), (58, 142, 8), (82, 113, 25), (99, 61, 41), (107, 73, 33), (115, 77, 41), (74, 130, 16), (115, 73, 41), (107, 69, 41), (90, 53, 41), (82, 121, 16), (74, 134, 16), (74, 134, 8), (74, 121, 16), (74, 117, 16), (99, 61, 33), (90, 57, 33), (115, 69, 41), (107, 81, 41), (107, 73, 41), (99, 85, 25), (107, 61, 33), (107, 61, 25), (90, 53, 33), (82, 113, 16), (99, 89, 33), (107, 65, 41), (107, 65, 49), (90, 49, 41), (99, 77, 41), (99, 73, 33), (107, 57, 33), (82, 49, 41), (99, 61, 49), (99, 57, 49), (82, 45, 41), (99, 49, 33), (99, 53, 33), (99, 53, 41), (90, 49, 33), (99, 49, 41), (99, 53, 49), (90, 53, 49), (99, 49, 49), (90, 49, 49), (90, 45, 41), (90, 45, 58), (82, 45, 58), (82, 45, 49), (90, 40, 49), (82, 40, 41), (74, 49, 49), (82, 40, 58), (58, 45, 41), (82, 36, 58), (74, 36, 58), (74, 36, 41), (82, 36, 41), (82, 36, 66), (74, 28, 66), (74, 32, 66), (74, 32, 58), (74, 28, 58), (58, 32, 49), (74, 36, 49), (74, 32, 49), (74, 32, 41), (66, 36, 41), (74, 24, 66), (66, 28, 66), (66, 28, 58), (74, 24, 58), (66, 24, 66), (66, 20, 66))
],
# grande plateforme d'apres https://gameartpartners.com/downloads/swamp-game-background/
[104,28,7,0,
(b"\x80\4\x81\2\x80b",
b"\x80\3\x81\1\x82\1\x83\1\x81\n\x80X",
b"\x80\1\x81\2\x84\1\x85\1\x84\3\x86\2\x84\5\x87\1\x81\3\x80D\x81\r\x80\4",
b"\x81\1\x86\1\x85\2\x84\17\x81\3\x80\3\x81\2\x807\x81\5\x84\1\x88\1\x89\1\x8a\1\x84\t\x81\2\x80\2",
b"\x8b\1\x85\1\x84\2\x85\1\x84\r\x8c\1\x86\1\x85\1\x86\1\x81\1\x80\1\x81\1\x84\2\x81\2\x804\x81\1\x85\1\x86\1\x84\2\x86\1\x84\1\x85\1\x84\v\x85\1\x84\1\x81\1\x80\1",
b"\x80\1\x8d\1\x8e\1\x86\2\x85\1\x84\f\x85\1\x86\2\x84\1\x8f\1\x81\1\x85\1\x84\1\x85\2\x90\1\x81\3\x80\23\x81\5\x80\24\x81\5\x84\1\x85\1\x84\1\x85\2\x84\1\x86\1\x85\1\x86\1\x84\1\x8c\1\x84\a\x85\2\x86\1\x8c\1\x81\1",
b"\x80\1\x91\1\x92\1\x93\1\x85\2\x84\1\x8c\1\x85\1\x84\r\x85\1\x84\b\x94\1\x81\23\x8c\1\x95\1\x96\1\x95\1\x8a\1\x81\24\x97\1\x90\1\x8a\1\x84\1\x86\1\x84\17\x85\1\x84\4\x98\1\x91\1\x80\1",
b"\x80\2\x99\1\x91\1\x93\1\x9a\1\x85\2\x84\5\x86\1\x84\b\x8c\1\x84\b\x86\1\x95\4\x96\1\x95\1\x96\3\x95\4\x96\1\x95\2\x96\1\x95\3\x86\1\x95\3\x96\1\x95\1\x96\1\x95\2\x96\1\x95\a\x96\1\x84\3\x85\1\x8c\1\x84\1\x85\2\x84\1\x85\1\x84\20\x85\1\x84\2\x9b\1\x9c\1\x9d\1\x80\2",
b"\x80\3\x9d\1\x91\1\x92\1\x9a\1\x84\1\x94\1\x84\5\x85\1\x84\a\x85\1\x84\a\x85\1\x96\2\x95\4\x96\1\x95\1\x96\1\x95\b\x96\1\x95\1\x96\1\x95\1\x96\3\x95\4\x96\1\x95\3\x96\1\x95\5\x84\v\x86\1\x84\17\x8c\1\x84\1\x9e\1\x92\1\x91\1\x9f\1\x80\2",
b"\x80\4\x9d\1\x91\1\x92\1\xa0\1\x92\1\xa1\1\x85\1\x86\1\x84\1\x8c\1\x86\1\x84\1\x85\1\x84\2\x86\1\x84\2\x85\1\x84\a\x85\1\x95\r\x96\1\x95\25\x96\3\x95\1\x84\3\x85\1\x84\5\x85\1\x84\2\x86\1\x84\5\x86\1\x85\1\x84\1\x85\1\x86\2\xa2\1\x85\1\xa3\1\xa4\1\x91\1\x9d\1\x80\4",
b"\x80\5\xa5\1\x91\1\xa6\1\x92\1\x9a\1\xa1\1\x83\1\x84\2\xa7\1\xa8\1\xa9\1\x84\2\x8f\1\x88\1\x86\1\x84\1\x86\1\x84\a\x95\f\x96\2\x95\25\x96\2\x95\4\x85\2\x8c\1\x84\b\x86\1\x84\3\x8a\1\x84\1\x86\1\x84\1\x86\1\x84\1\x9a\1\xaa\1\xab\1\x91\1\x9d\2\x80\5",
b"\x80\6\xa5\1\xa6\1\x91\1\x9c\1\x9a\2\xa1\1\xac\1\xad\1\xae\1\xaf\2\x88\1\x8a\1\x89\3\x86\1\x84\a\x96\1\x95\n\x84\1\x95\1\x84\1\x95\25\x96\1\x86\1\x95\4\x85\2\x84\5\x85\1\x89\3\xb0\1\x84\2\xb1\1\xb2\1\x9e\1\x84\2\x86\1\x9b\1\xb3\1\x91\1\xb4\1\x9d\1\xb5\1\x80\6",
b"\x80\b\x9d\1\x91\1\x9c\1\x93\1\x8d\1\xa1\1\xb6\1\xae\2\xb7\1\xaf\1\xb8\1\xb9\1\xba\1\x84\1\x86\1\x85\2\x8c\1\xbb\1\xbc\1\x85\1\x84\2\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\2\x95\2\x96\2\xbd\1\xa9\1\x84\1\xbe\1\x90\1\xbf\1\xc0\1\x95\2\x96\1\x95\2\x96\1\x95\1\x96\2\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\x95\1\x96\1\xa7\1\xc1\1\xc2\1\x8f\1\xc3\1\x89\3\x84\2\x8c\1\x86\1\x85\1\xba\1\xb8\1\xc4\1\xaf\1\xae\1\xb7\1\xae\1\xb6\1\xa1\1\x8d\1\x93\2\x91\1\x9d\1\xa5\1\xc5\1\x80\a",
b"\x80\n\x9d\1\x91\2\x93\1\xc6\1\xc7\1\xc8\1\xae\1\xb7\1\xc9\1\xca\1\xaf\1\xcb\1\xcc\1\xcd\1\x84\2\x86\1\x89\2\xb0\1\x96\1\x95\1\x96\2\x95\2\xbf\1\xce\1\xba\2\xcf\1\x96\1\x8f\1\x89\1\xd0\1\x89\3\xba\1\x89\1\x96\1\x95\1\xbc\1\xcc\2\xd1\2\xd2\1\x95\2\x84\1\xba\1\x89\1\xba\2\x89\1\xba\1\x89\1\xd3\1\xba\1\x89\3\xd4\1\x86\1\x8c\1\x86\1\xd5\1\xd6\1\xaf\1\xd7\1\xca\1\xd8\1\xae\1\xc8\2\xc7\1\x9a\1\x93\1\x9c\1\x91\1\x9d\1\xa5\1\xb5\1\x80\t",
b"\x80\v\x9d\1\x91\1\x92\1\xa0\1\xc7\2\xc8\1\xb6\1\xd9\1\xd7\1\xaf\2\xda\1\xd1\2\xdb\1\xdc\1\xb9\1\xba\1\x89\1\xba\3\x90\1\xdd\1\xba\4\xb9\1\xba\3\xde\1\xd0\1\xba\5\xd5\1\xda\1\xdf\1\xd6\2\xda\1\xd6\1\xcb\1\xe0\1\x96\1\x95\1\xe1\1\xba\4\xb9\1\xba\1\xd0\1\xba\2\x89\3\xcc\1\xcd\1\xd1\1\xcb\1\xda\1\xaf\1\xb7\1\xd9\1\xad\1\xc7\1\xc8\1\xc6\1\xa0\1\x93\1\x91\1\x9d\1\x99\1\x80\f",
b"\x80\r\xe2\1\xa0\2\xe3\1\xc7\1\xa1\1\xad\1\xae\1\xb7\2\xaf\1\xda\2\xcc\2\xe4\1\x89\2\xb8\16\xe5\1\xb8\5\xda\1\xaf\1\xda\1\xaf\a\x95\1\x96\1\xb9\1\xb8\1\xca\1\xb8\3\xe5\1\xb8\1\x89\4\xcc\1\xda\2\xaf\1\xb7\2\xae\1\xe6\1\xa1\1\x9a\1\xc7\1\xc6\1\xa0\1\xa6\1\x80\17",
b"\x80\16\xe7\1\xa0\1\xe8\1\xb3\1\x8d\1\xc7\1\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\xe4\1\x89\3\xc4\v\xca\2\xea\1\xc4\1\xca\1\xc4\3\xaf\t\xeb\1\xaf\1\x95\1\xb8\1\xc4\3\xca\1\xc4\1\xe5\1\xca\2\x89\2\xba\1\xb8\1\xaf\2\xb7\2\xae\1\xc8\1\xc7\1\x9a\1\xb3\1\xa0\2\xe7\1\x80\20",
b"\x80\16\xe7\1\xe2\1\x80\1\xab\1\x93\1\xc7\2\xe9\1\xae\1\xb7\2\xaf\2\xda\1\xcc\1\x89\3\xd8\r\xea\1\xd8\5\xb7\v\xeb\1\x95\1\xc9\1\xd8\3\xc9\1\xec\1\xd8\2\xc4\1\xba\1\xb8\1\xed\1\xeb\1\xb7\2\xae\1\xc8\1\xc7\2\xa0\1\x91\1\xab\1\xa0\1\xee\1\x80\20",
b"\x80\22\xa0\2\xc7\2\xe9\1\xae\1\xb7\3\xaf\1\xc4\1\xba\1\x89\2\xd8\1\xad\f\xef\1\xad\5\xb7\r\xf0\1\xad\b\xb8\1\xca\1\xd8\1\xad\1\xae\1\xe9\1\xf1\1\xc7\1\xef\1\xa0\2\x9d\1\x80\23",
b"\x80\23\xa0\1\xef\2\xc7\1\xf1\2\xb7\3\xc4\1\xb8\2\xba\2\xb6\f\xef\1\xb6\5\xe9\1\xae\v\xe9\1\xe5\1\xad\1\xb6\2\xa1\1\xb6\4\xd8\1\xad\2\xb6\2\xc7\2\xef\1\xa0\1\xf2\1\xf3\1\xa6\1\x80\23",
b"\x80\23\xaa\1\xa0\1\xef\2\xc7\1\xf1\2\xd0\1\xb7\1\xd7\1\xca\1\xc4\1\xb8\1\xba\1\xa1\f\xef\1\xa1\1\xb6\1\xa1\3\xc7\r\x9a\1\xb6\1\xa1\2\x9a\1\xa1\4\xad\2\xa1\1\x9a\2\xc7\1\xef\1\xa0\1\xe7\1\xaa\1\xb4\1\x80\24",
b"\x80\24\x92\1\xef\1\xea\2\xf1\2\xe5\2\xad\2\xca\2\xb8\1\x8d\1\x9a\5\x8d\6\xe7\1\x8d\3\x9a\1\x8d\1\xc7\r\x8d\1\x9a\4\x8d\1\x9a\3\xa1\2\xb3\2\x9c\1\xab\1\xef\1\xe7\1\x80\27",
b"\x80\30\xea\2\xf4\1\xe5\1\xb6\2\xad\1\xd9\1\xca\1\x80\1\x91\1\x93\2\x9c\1\x93\a\xe7\1\x93\1\x9c\1\x93\3\xa0\r\xb3\1\x93\2\x9c\1\xe5\1\xf5\1\xa4\1\x9c\1\x93\1\x8d\1\xf6\1\x92\1\x91\2\x9d\1\x8b\1\x80\30",
b"\x80\34\xf7\1\x80\6\xf8\1\x91\t\xef\1\x91\1\x9c\2\x91\2\xa0\f\xab\1\x91\3\xa4\1\x80\3\xf9\1\x91\2\x92\1\x91\1\x9d\1\xfa\1\x80\32",
b"\x80'\x9d\2\x91\1\x9d\3\xab\1\x9d\5\xa0\6\xf2\2\xa0\1\xf2\2\xa0\1\x9d\2\x91\1\x9d\1\x80%",
b"\x80*\xb5\1\xa5\1\xb5\1\xf3\1\xb5\3\xa5\2\xa6\n\xb4\1\xa6\1\xb5\2\x9d\1\x80&",
b"\x80+\xfb\1\xb5\1\xa5\1\xb5\2\xfc\2\xb4\1\xa6\b\xe7\1\xaa\1\xa6\2\xb5\2\x80'",
b"\x803\xfd\1\xb4\1\xfe\1\xb4\1\x80\a\xb4\1\xff\1\x80(",),
((255, 0, 255), (0, 0, 0), (62, 121, 12), (69, 107, 22), (68, 142, 9), (64, 139, 20), (58, 142, 6), (67, 112, 26), (74, 125, 20), (114, 77, 42), (65, 132, 11), (69, 50, 48), (65, 139, 3), (89, 49, 55), (81, 85, 43), (98, 99, 31), (73, 131, 13), (82, 39, 57), (84, 44, 50), (90, 45, 58), (74, 105, 21), (53, 147, 13), (64, 146, 0), (74, 117, 10), (73, 105, 29), (57, 37, 41), (90, 49, 50), (75, 101, 34), (82, 44, 60), (83, 35, 60), (87, 77, 39), (82, 36, 66), (81, 40, 42), (89, 53, 47), (75, 89, 32), (81, 66, 47), (91, 40, 56), (76, 35, 57), (74, 35, 42), (89, 91, 30), (99, 69, 38), (76, 113, 19), (72, 40, 49), (84, 39, 48), (82, 85, 31), (100, 56, 48), (100, 49, 34), (108, 56, 35), (107, 85, 32), (89, 70, 23), (101, 61, 40), (91, 44, 48), (74, 36, 47), (72, 33, 59), (101, 52, 51), (99, 53, 30), (106, 70, 41), (117, 68, 39), (115, 72, 40), (109, 92, 30), (81, 111, 19), (92, 72, 32), (73, 138, 4), (82, 119, 26), (89, 113, 23), (83, 85, 24), (91, 109, 20), (114, 82, 39), (106, 65, 39), (74, 28, 58), (92, 39, 41), (92, 44, 43), (88, 45, 33), (99, 66, 47), (106, 66, 50), (108, 60, 25), (115, 66, 31), (99, 94, 28), (107, 81, 42), (106, 90, 34), (92, 53, 32), (115, 66, 24), (97, 81, 26), (90, 57, 34), (115, 82, 33), (99, 88, 24), (115, 62, 35), (107, 61, 42), (107, 61, 48), (99, 61, 50), (107, 60, 31), (88, 106, 25), (106, 69, 22), (100, 89, 32), (116, 73, 46), (115, 61, 22), (107, 65, 33), (106, 85, 38), (67, 37, 40), (89, 40, 30), (116, 72, 34), (90, 53, 42), (98, 53, 40), (74, 40, 39), (82, 40, 33), (91, 48, 35), (80, 50, 42), (98, 58, 32), (90, 57, 40), (109, 68, 46), (74, 45, 42), (81, 45, 40), (99, 65, 41), (91, 48, 40), (82, 36, 41), (80, 37, 50), (84, 52, 40), (76, 53, 47), (84, 49, 48), (68, 81, 48), (68, 73, 59), (73, 57, 60), (75, 44, 57), (58, 48, 49), (75, 31, 65), (42, 130, 19), (74, 32, 49), (76, 26, 68))
],
# paysage de marécages d'apres https://gameartpartners.com/downloads/swamp-game-background/
[384,192,7,0,
(b"\x80\1\x81\1\x82\1\x83\1\x84\3\x85\1\x86\1\x81\3\x86\1\x81\2\x84\1\x87\4\x84\2\x86\1\x81\4\x82\1\x88\1\x87\2\x86\2\x81\3\x86\1\x81\1\x87\2\x83\1\x81\25\x89\1\x84\2\x81\3\x84\2\x85\1\x81\t\x86\1\x87\1\x84\1\x87\1\x8a\1\x81\2\x84\3\x8b\1\x81\4\x84\2\x89\1\x86\2\x87\2\x84\1\x87\1\x84\1\x83\1\x86\16\x8c\1\x84\2\x86\n\x87\1\x84\2\x86\b\x87\1\x8d\1\x84\1\x8c\1\x86\v\x8a\1\x84\1\x87\1\x86\f\x87\1\x84\1\x86\1\x81\1\x84\1\x85\1\x86\n\x84\1\x87\1\x8e\1\x86\5\x8f\1\x90\1\x80\1\x91\1\x87\2\x80\5\x8f\2\x87\1\x84\1\x87\1\x92\1\x80\2\x8d\1\x84\2\x81\5\x84\2\x87\1\x81\1\x84\2\x8a\1\x81\17\x88\1\x84\2\x81\v\x84\3\x81\1\x87\1\x84\2\x93\1\x81\t\x87\2\x88\1\x81\2\x8c\1\x87\1\x84\1\x81\1\x82\1\x81\1\x94\1\x92\1\x84\1\x87\1\x95\1\x92\b\x87\1\x84\1\x8f\3\x96\1\x92\4\x97\1\x82\1\x81\4\x84\2\x8c\1\x81\5\x84\2\x88\1\x81\5\x87\1\x84\2\x81\1\x8d\1\x84\1\x81\6\x98\1\x84\2\x81\4\x89\1\x84\2\x87\1\x81\6\x89\1\x84\2\x85\1\x81\17\x99\1\x80\1",
b"\x80\1\x81\3\x87\1\x84\3\x81\a\x84\2\x87\1\x81\1\x88\1\x87\1\x84\2\x81\5\x87\1\x8d\1\x93\1\x81\a\x93\1\x84\1\x9a\1\x81\25\x89\1\x84\2\x8b\1\x81\2\x84\2\x83\1\x81\n\x84\3\x81\3\x9a\1\x84\3\x81\4\x84\2\x93\1\x86\3\x9a\1\x87\1\x84\2\x8d\1\x9b\1\x86\r\x89\1\x84\2\x86\v\x84\2\x87\1\x86\6\x8a\1\x84\3\x85\1\x86\v\x87\1\x9b\1\x8b\1\x86\f\x84\2\x8a\1\x83\1\x87\1\x8c\1\x86\n\x87\1\x84\1\x87\1\x86\5\x90\1\x8f\1\x80\2\x84\2\x80\5\x96\1\x9c\1\x84\2\x9d\1\x81\1\x9e\1\x82\1\x87\1\x84\2\x81\5\x9a\1\x84\2\x81\1\x84\2\x85\1\x81\17\x8a\1\x84\2\x81\n\x87\2\x84\1\x89\1\x81\2\x84\1\x87\1\x84\1\x88\1\x81\b\x84\2\x83\1\x81\3\x84\2\x87\1\x81\1\x95\1\x92\1\x9f\1\x84\2\xa0\1\x92\5\x95\1\x92\2\x84\2\xa1\1\x8f\3\x92\4\x97\1\xa2\1\x89\3\x85\1\x87\1\x84\1\x81\4\x89\2\x84\1\x87\1\x88\1\x89\5\x8d\1\x87\2\x89\1\x85\1\x84\1\x83\1\xa0\1\x89\4\x84\1\x87\1\x84\1\x89\2\xa0\1\x81\1\x8b\1\x84\3\x89\a\x84\2\x83\1\x89\20\x80\1",
b"\x80\1\xa2\1\x80\1\x82\1\x84\3\x87\1\x89\1\x81\6\x84\3\x81\3\x84\3\x89\1\x81\2\x84\1\x87\1\x84\1\x81\t\x84\2\x81\25\x89\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\x88\1\x81\n\x87\1\x84\2\x81\5\x87\1\x84\1\x87\1\x9c\1\xa2\1\xa0\1\x84\2\xa3\1\x86\1\x81\1\x86\1\x82\1\x86\1\x81\1\x85\1\x87\2\x84\1\xa3\1\x86\1\x82\1\x86\3\x81\3\x86\3\x81\1\x84\2\x81\1\x86\n\x81\1\x87\2\x84\1\x8b\1\x81\2\x86\1\x88\1\x84\1\x87\2\x84\1\x87\1\x86\1\x81\2\x86\2\x81\3\x86\3\x84\2\x81\4\x86\6\x81\2\x86\1\xa3\1\x84\4\x89\1\x81\1\x86\t\x93\1\x87\1\x84\1\x86\1\x81\1\x86\3\x81\1\x86\2\x81\1\x87\1\x84\1\x80\6\x87\1\x84\2\x81\3\x82\1\x84\1\x87\1\x84\1\x81\5\x89\1\x84\2\x81\1\x84\3\x81\20\x84\2\x81\t\x87\2\x84\1\x8b\1\x81\4\x84\3\x83\1\x81\a\x84\2\x89\1\x81\3\x8a\1\x84\1\x87\1\x83\1\x81\2\x87\1\x84\1\xa3\1\x81\1\xa2\1\x92\a\xa4\1\x84\1\x9f\1\x8f\3\x92\5\x89\3\x8c\1\x84\2\x8b\1\x89\6\x87\1\x84\1\xa3\1\x89\5\x87\1\x84\2\x89\2\x84\2\x89\5\x84\2\x8b\1\xa0\2\x89\2\x87\1\x84\2\x89\b\x84\1\x87\1\x84\1\x89\16\xa0\1\x81\1\x89\1",
b"\x80\3\x81\1\x87\1\x84\4\x81\6\x83\1\x84\1\x87\1\x81\4\x84\1\x87\1\x84\1\x8a\1\x84\2\x9b\1\x81\n\x84\2\x81\25\x8b\1\x87\1\x84\1\x85\1\x81\2\x85\1\x87\1\x84\1\x81\t\x85\1\x84\3\x81\6\x84\2\x87\1\x86\1\x8b\1\x87\3\x81\b\x8e\1\x84\1\x87\1\x84\1\x89\1\x81\n\x87\1\x84\1\x81\f\x82\1\x9a\1\x87\1\x84\1\x8e\1\x81\1\x8b\1\x84\1\x87\1\x8c\1\x81\1\x84\1\x87\1\x81\v\x84\2\x81\r\x8a\1\x84\1\x87\1\x84\2\x81\f\x84\2\x81\t\x84\2\x80\5\xa5\1\x84\3\x81\4\x84\3\x81\6\x84\1\x87\1\x81\1\x84\3\x81\20\x84\2\x81\b\x89\1\x84\2\x87\1\x81\5\x84\3\x87\1\x81\6\x83\1\x84\2\x81\5\x84\3\x81\2\x87\1\x84\1\x8b\1\x81\6\x94\1\x92\2\xa6\1\x84\1\xa7\1\x8f\3\x96\1\x92\5\x97\1\x89\1\x84\3\x89\a\x84\2\x85\1\x89\5\xa0\1\x87\1\x84\1\x89\2\x87\2\x88\1\x89\3\x9a\1\x84\1\x87\1\x89\4\x84\1\x87\1\x84\1\x89\t\x83\1\x84\2\x89\16\x8f\1\xa0\1\x80\1",
b"\x80\2\xa8\1\x9e\1\x8b\1\x84\1\x87\1\x84\2\x81\1\x82\1\x81\4\x93\1\x84\2\x81\5\x84\4\x87\1\x85\1\x81\n\x84\2\x81\25\x8a\1\x84\1\x87\1\x85\1\x81\2\x89\1\x84\2\x83\1\x89\1\x82\1\x81\6\x84\3\x85\1\x81\3\x89\1\x81\2\x89\1\x84\1\x87\2\xa9\1\x87\2\x9b\1\x81\t\x8b\1\x87\1\x84\2\x81\t\x8b\1\x84\2\x81\16\x85\1\x84\2\x85\1\x84\3\x81\2\x87\1\xa3\1\x81\v\x84\2\x81\r\x89\1\x84\2\x87\1\x84\1\x81\f\x84\1\x9b\1\x81\b\xaa\1\x87\1\x84\1\x80\5\x84\3\x9a\1\x81\4\x84\2\x87\1\x81\6\x84\1\x87\1\x81\1\x85\1\x84\2\x81\20\x88\1\x84\1\x81\b\x8d\1\x84\2\x81\6\x84\3\x87\1\x84\1\x81\5\xa3\1\x84\2\x81\5\x87\1\x84\2\x81\2\x84\2\x81\6\x82\1\x81\1\xab\1\x92\1\xa2\1\x84\1\x83\1\x81\1\x8f\1\x9c\1\x90\1\x92\6\xa2\1\x84\1\x87\1\x84\1\x89\a\x84\2\x83\1\x89\6\x84\2\x89\2\x83\1\x84\2\x89\3\x84\2\x88\1\x89\4\x87\1\x84\1\x8d\1\x89\n\x84\2\x89\r\xa0\1\x89\1\x9e\1\x80\1",
b"\x80\5\x88\1\x84\2\x87\1\x9a\1\x89\5\x8a\1\x87\1\x84\1\x89\6\x87\1\x84\3\x81\1\x89\n\x84\1\x87\1\x89\25\x85\1\x84\1\x87\1\x89\2\x81\1\x89\1\x87\1\x84\2\x89\a\x85\1\x84\2\x87\1\x89\b\x87\1\x84\1\x87\1\xa3\1\x84\2\x8c\1\x81\v\x87\1\x84\2\x81\b\x9a\1\x84\1\x87\1\x81\17\x9a\1\x84\2\x87\2\x9a\1\x81\2\x84\1\x93\1\x81\v\x84\2\x81\r\x98\1\x84\1\x87\1\x84\1\x87\1\x81\f\x84\1\x87\1\x81\a\xa0\1\x80\1\x87\1\x84\1\x80\4\x8b\1\x84\2\x87\1\x81\5\x84\2\x85\1\x81\6\x87\1\x84\1\x81\2\x84\3\x81\17\x85\1\x84\1\x81\b\x84\2\xa3\1\x82\1\x81\5\x84\5\x81\5\x84\3\x81\5\x89\1\x84\1\x9b\1\x87\1\x85\1\x84\2\x81\v\x84\1\x93\1\x81\2\x8f\1\x9c\1\x92\3\xac\1\x89\1\xa0\1\x8b\1\x84\3\x89\a\x84\2\x8a\1\x89\6\x85\1\x84\1\x8a\1\x89\2\x84\2\x89\2\x8b\1\x84\1\x87\1\x89\4\xa3\1\x87\1\x84\1\x89\v\x84\2\x89\v\x80\1\x9c\1\x89\1\x9c\1\x80\2",
b"\x80\3\x94\1\x80\1\x95\1\x8d\1\x84\3\x89\5\x83\1\x84\1\x9a\1\x89\a\x87\1\x84\1\x87\1\x9a\1\x81\1\x82\1\x89\b\x84\1\x8e\1\x89\22\xa0\1\x89\1\x8e\1\x84\2\xa3\1\x89\4\x8a\1\x87\1\x84\1\x87\1\x89\6\x84\3\x85\1\x89\b\xa0\1\x84\5\x81\r\x84\1\x87\2\x8a\1\x81\1\x82\1\x81\1\x82\1\x81\2\x87\1\x84\1\x85\1\x81\20\xa3\1\x87\1\x84\2\x81\2\x83\1\x84\1\x81\f\x84\2\x81\n\x82\1\x81\2\x84\5\x81\v\x93\1\x84\1\x93\1\x81\b\x83\1\x87\1\xad\1\x80\4\x91\1\x84\2\x85\1\x81\5\x87\1\x84\1\x8b\1\x81\6\x84\2\x81\2\x83\1\x87\2\x8b\1\x81\16\x85\1\x87\1\x81\a\x87\1\x84\2\x81\6\x85\1\x84\4\x98\1\x82\1\x81\4\x84\3\x81\6\x84\4\x87\1\x84\1\x81\v\x84\1\x8a\1\x96\1\x9c\3\x92\4\x8b\1\x89\1\x8b\1\x87\1\x84\2\x89\2\x8b\4\x8a\1\x84\1\x87\1\x8b\5\x89\1\x8b\1\x98\1\x84\1\x8a\1\x8b\1\x89\1\x84\2\xa3\1\x8b\1\x87\1\x84\1\xae\1\x8b\4\x84\1\x87\1\x84\1\x8b\v\x87\1\x84\1\x89\1\x8b\b\x89\1\x8b\1\x89\1\xa1\1\x9c\1\x89\1\x96\1\x80\1",
b"\x80\4\x89\2\x84\4\x89\5\x88\1\x84\1\x8c\1\x89\a\x85\1\x84\2\x87\1\xa3\1\x89\t\x87\1\x83\1\x89\22\xa0\1\x84\4\x8a\1\x89\5\x84\1\x87\1\x84\1\x89\6\x87\1\x84\2\x89\b\xa0\1\x92\1\xa4\1\x84\3\x88\1\x81\16\x84\1\x8d\1\x87\1\x81\5\x89\1\x84\1\x87\1\x81\22\x84\1\x87\2\x98\1\x81\1\x84\2\x81\f\x84\2\x8b\1\x81\v\x89\1\x84\1\x87\1\x9a\1\x84\2\x81\v\x87\1\x9b\1\x81\t\x87\1\x84\1\x80\5\x9b\1\x84\2\x8b\1\x81\4\x93\1\x84\2\x81\a\x84\2\x81\3\x87\1\x84\1\x87\1\x82\1\x81\r\x88\1\x84\1\x81\a\x84\2\x89\1\x81\6\x8d\1\x87\1\x84\1\x87\1\xa3\1\x81\6\x84\2\x9a\1\x81\6\x87\1\x84\4\xa3\1\x81\v\x87\1\x89\1\x97\1\x81\3\x96\1\x92\2\x89\1\x8b\3\x83\1\x84\2\x83\1\x8b\5\x83\1\x84\2\x8b\a\x93\1\x84\1\x8b\3\x88\1\x87\1\x84\3\x87\1\x8b\5\x84\2\x87\1\x8b\v\x87\1\x9b\1\x8b\17\xaf\1\x80\1",
b"\x80\3\xa0\1\x89\2\x8a\1\x84\2\x87\1\x84\1\x89\2\xa0\1\x89\1\x84\1\x9b\1\x89\b\x8b\1\x87\1\x84\2\x87\2\x89\a\xa3\1\x87\1\x89\23\x8a\1\x87\1\x84\2\x87\1\x89\a\x87\1\x9b\1\x84\1\x88\1\x89\3\x9b\1\x84\3\x89\b\x99\2\x84\4\x81\20\x84\3\x81\3\x87\1\x84\1\x87\1\x81\22\x89\1\x84\6\x81\r\x87\1\x84\1\x87\1\x81\t\x89\1\x84\2\x87\1\x81\1\x88\1\x84\1\x9b\1\x81\n\x98\1\x87\1\x84\1\x81\a\x84\3\x80\5\x81\1\x84\3\x81\5\x9b\1\x84\2\x81\6\x89\1\x84\1\x87\1\x81\2\x82\1\x84\3\x89\1\x81\r\x87\1\x84\1\x81\6\x85\1\x84\1\x87\1\x81\6\x87\1\x84\3\x8b\1\x81\1\x89\1\x81\4\x89\1\x84\2\x89\1\x81\5\x82\1\x81\1\x87\1\x84\3\x81\v\x83\1\x84\1\x81\5\xb0\1\x92\4\x90\1\x8b\2\x9b\1\x84\2\x8b\5\xa3\1\x87\1\x84\1\x8b\a\xa3\1\x84\1\x8b\4\x84\3\x87\1\x84\1\x8b\4\x98\1\x84\2\x8a\1\x8b\v\x84\2\x8b\16\xab\2\x80\1",
b"\x80\4\x89\1\x80\1\x89\1\x84\4\x87\1\x89\2\x84\2\x8a\1\x89\t\x84\4\x87\1\x84\1\x83\1\x89\1\xa0\1\x89\1\xa0\1\x84\1\x87\2\x89\1\x8b\1\x89\22\x9a\1\x84\3\x89\b\x87\1\x84\3\x89\2\x84\3\x8b\1\x89\5\x8b\1\x89\3\x98\1\x87\1\x84\3\xa6\1\x92\1\xb0\1\x81\1\x89\2\x81\a\xa0\2\x81\1\x8b\1\x84\3\x81\1\x87\2\x9b\1\x81\21\x89\1\x81\1\x87\1\x84\2\x87\1\x84\2\x8a\1\x81\16\x84\1\x87\1\x81\1\x89\1\x81\5\x89\1\x81\1\x84\3\x8c\1\x89\1\x87\2\x9a\1\x81\t\x87\1\x84\1\x87\1\x89\1\x81\6\x84\3\x87\1\x80\6\x84\1\x8d\1\x84\1\x89\1\x81\4\x84\1\x87\1\xa3\1\x81\6\x84\2\x8b\1\x81\3\x8b\1\x87\1\x84\2\x81\1\x89\1\x81\t\x89\1\x9a\1\x84\1\x9a\1\x81\2\x89\3\x81\1\x84\2\xae\1\x89\6\x84\3\x89\b\x85\1\x84\1\x87\1\x81\3\x89\3\x81\2\x93\1\x84\3\x81\1\x89\1\x81\5\x89\1\x81\1\x89\1\x81\1\x8d\1\x84\1\x82\1\x81\4\x89\1\xa0\2\x99\1\x90\1\x8b\3\x8a\1\x87\1\x84\1\x87\1\x8b\4\x84\3\x8b\6\x98\1\x84\1\x87\1\x8b\4\xae\1\x9b\1\x84\2\x9a\1\x8b\4\x9a\1\x87\1\x84\1\x8b\v\xa3\1\x84\1\x88\1\x8b\r\x87\1\x96\1\x80\2",
b"\x80\6\xb1\1\x9d\1\x84\2\x87\1\x84\1\x8b\1\x84\2\x87\1\xa0\1\x89\t\x9a\1\x84\1\x87\1\x8b\1\x84\2\x87\1\x98\1\x89\2\x87\1\x84\2\x8a\1\x89\24\x84\1\x87\1\x84\2\x8b\1\x89\a\xa0\1\x87\1\x84\1\x87\1\x84\4\x9b\1\x89\t\x83\1\x84\2\x87\1\x84\1\x87\1\x9b\1\x96\2\x92\1\x97\1\x89\t\x81\1\x89\2\x8c\1\x84\2\x87\1\x84\3\x89\2\xa0\1\x89\16\xa0\1\x89\1\x84\4\x9b\1\x84\2\x93\1\x81\1\x89\1\x81\1\x89\t\x81\1\x84\1\x87\1\x81\1\x89\5\x81\2\xa0\1\x84\2\x87\1\x9a\1\x89\1\x84\2\x83\1\x89\b\x87\1\x84\1\x87\1\x8c\1\x89\a\x84\2\x87\2\x80\5\xa8\1\x84\3\x81\4\x8b\1\x84\2\x89\1\x81\6\x84\2\x81\4\x89\1\x84\2\x87\1\xa0\1\x81\1\x89\3\x81\3\x89\1\x81\1\x82\1\x81\1\x84\2\x89\1\x81\2\x89\3\x81\1\x84\2\x89\1\x81\2\x89\3\x8b\1\x87\1\x84\2\x89\b\xa3\1\x84\1\x87\1\x89\6\x81\3\x87\3\x89\6\xa0\2\x89\2\x87\1\x84\1\x87\1\x89\b\xb0\1\x96\2\xac\1\x8b\2\x84\3\x8b\4\x87\1\x84\2\x8b\6\x8d\1\x84\1\x98\1\x8b\5\x84\1\x87\1\x84\1\x98\1\x8b\4\x87\1\x84\2\x8b\n\x8a\1\x84\2\x8b\r\x84\2\x80\3",
b"\x80\4\xa8\1\x89\1\x9c\2\xa3\1\x87\1\x84\5\x8b\v\x89\1\x84\3\x89\1\x84\3\x87\2\x84\1\x87\1\x84\1\xac\1\x89\1\x8b\21\x83\1\x84\5\x89\2\x8b\6\xac\1\x8b\2\x87\1\x84\5\x85\1\x8a\1\x8b\2\xac\1\x8a\1\x85\1\x84\5\x89\1\x84\1\x87\1\x84\1\x99\1\xa0\1\x81\1\x99\1\x92\1\x89\f\x9a\1\x84\2\x83\2\x84\2\x89\16\x81\1\x99\1\x92\1\xb2\1\x84\1\x87\1\x8a\1\x81\1\x85\1\x87\1\x84\2\x83\1\x89\r\x84\1\x87\1\x89\b\x81\1\x84\1\x87\1\x84\1\xa0\1\x87\1\x84\1\x8a\1\x89\a\x81\1\x84\3\x83\1\x81\1\x89\a\x85\1\x84\2\x80\1\x97\2\x80\2\x89\1\x85\1\x84\1\x87\1\x89\2\x82\1\x89\1\x84\2\x88\1\x89\5\x84\3\x89\1\x81\1\x89\3\x81\1\x93\1\x84\2\x87\1\xa0\1\x89\a\x81\1\x89\1\x84\2\x87\1\x89\a\x84\2\x98\1\x89\5\x93\1\x84\3\x81\1\x89\a\x84\3\x89\2\x81\1\x89\3\xa0\1\x89\1\x88\1\x84\3\x89\t\x84\2\x87\1\x89\1\xa0\1\x89\a\x97\1\x96\3\x9c\1\xb1\1\x84\3\x8a\1\x8b\2\x8a\1\x84\2\x85\1\x8b\1\x8a\2\x8b\1\x83\1\x84\1\x87\1\x84\1\x8a\5\x8b\1\x87\2\x84\1\x8a\4\x8b\1\x84\2\x87\1\x8b\1\x8a\b\xa3\1\x87\2\x83\1\xb3\1\x8a\1\x8b\1\x8a\t\x83\1\x84\2\x8f\1\x8b\2",
b"\x80\3\x92\1\x8b\3\x9c\1\x8b\1\x84\6\x8a\1\x8b\v\x87\1\x84\2\x8b\2\x8a\1\x84\4\x87\2\x8b\21\xac\1\x87\1\x84\6\x8b\f\x84\16\x87\1\x8b\1\x8f\1\x84\5\x96\2\x89\17\x84\3\x89\1\x8a\1\x84\2\x89\17\x92\1\x84\3\x96\1\x89\2\x87\1\x84\3\x9a\1\x89\f\x87\1\x84\1\x89\n\x87\1\x84\1\x87\1\x84\1\x87\1\x89\t\x8c\1\x84\2\x87\1\x89\b\xa0\1\x89\1\x84\1\x87\1\x89\2\x80\2\x89\2\x84\2\x9a\1\x89\2\x83\1\x84\2\x89\5\x87\1\x84\2\x87\1\x89\a\x88\1\x84\1\x87\1\x8d\1\x89\1\xa0\1\x89\5\x83\1\x84\1\x9b\1\x84\1\x89\b\x84\2\x88\1\x89\5\x93\1\x87\1\x84\2\x89\b\x87\1\x84\1\x9a\1\x89\b\x84\3\x87\1\x8b\1\x89\a\x87\1\x84\2\x85\1\x89\n\x96\1\x92\1\xa1\1\x8a\2\x85\1\x84\1\x87\1\x8a\4\x84\1\x87\1\x8a\4\x87\1\x84\3\x8a\a\xb1\1\x84\2\x87\1\x8a\4\x84\2\x9b\1\x8a\b\x84\3\x85\1\x8a\r\x87\1\x84\1\x87\1\xa6\1\x80\2",
b"\x80\4\x90\1\x8b\4\x98\1\x8d\1\x84\4\xa3\1\x8b\v\x8a\1\x84\1\x87\1\x8b\4\x87\1\x84\2\x87\1\x84\1\xac\2\x8b\16\x9a\1\x84\3\x87\1\xac\1\x9b\1\x84\1\x87\1\x8b\v\x87\1\x84\2\x87\1\x8b\1\x85\1\x87\1\x84\5\x87\1\x83\1\x8b\4\x84\6\xb0\1\x89\20\x84\2\x87\1\x85\1\x84\1\x87\1\x89\17\x85\1\x84\2\xa6\1\x92\1\x80\2\x84\1\x87\1\x84\1\x8d\1\x84\1\x87\1\x89\v\x8a\1\x84\1\x89\n\x84\4\x9b\1\x89\t\xa0\1\x89\1\x84\1\x87\1\x88\1\x89\b\xa3\1\x87\2\x89\2\xa0\1\x89\3\x87\1\x84\2\x89\2\x84\3\x89\5\x84\3\x87\1\x89\1\xa0\1\x89\6\x87\1\x84\2\x89\6\xa0\1\x87\3\x84\1\x89\b\x9a\1\x87\2\x89\5\x93\1\x84\3\x89\b\x84\2\x8b\1\x89\a\x87\1\x84\4\x87\1\x89\6\x8c\1\x87\1\x84\2\x85\1\x89\t\x96\2\x92\1\x9c\1\x8a\3\x87\2\x9a\1\x8a\2\x85\1\x84\2\x8a\4\x87\1\x84\2\x87\1\x8a\b\x84\3\x9a\1\x8a\3\x87\1\x84\1\x87\1\x8a\b\x84\3\x9a\1\x8a\f\x84\2\x87\1\x9b\1\x80\3",
b"\x80\4\x8f\1\x8b\5\x87\1\x84\4\x87\1\x8b\f\x84\2\x8b\6\x87\1\x84\1\x87\1\x84\1\x87\2\x83\1\x8b\a\x8a\1\x85\1\x84\6\x8b\3\x87\1\x84\2\x8b\n\x8a\1\x84\2\x87\1\x88\1\x8b\v\xac\1\x8b\2\xb4\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x93\1\x89\21\x87\1\x8d\1\x84\2\x8a\1\x89\16\x87\1\x84\2\x8a\1\x89\3\x84\3\x8b\1\x84\4\x89\v\x84\1\x85\1\x89\b\x87\1\x84\4\x98\1\x89\v\xa3\1\x84\2\x89\a\x87\2\x84\1\x8b\1\x89\4\xa0\1\x89\2\x84\2\x87\1\x8b\1\x87\1\x84\1\x8a\1\x89\5\x87\1\x84\2\x87\1\x89\b\x8a\1\x87\2\x84\1\x89\6\x87\1\x84\3\x8b\1\x89\a\x8b\1\x87\1\x88\1\x89\6\x84\1\x87\1\x84\1\x89\a\x87\3\x89\b\x84\6\x89\a\x84\4\x89\b\xa0\1\x90\2\xb0\1\x96\2\x8a\2\x87\1\x84\2\x8a\2\x84\3\x8a\4\x87\1\x84\3\x8a\b\x84\4\x9a\1\x8a\2\xa3\1\x84\2\x8a\b\x84\2\x87\2\x8a\v\x84\3\xb5\1\x80\4",
b"\x80\3\x8b\1\xac\1\x8b\6\xa3\1\x84\4\x85\1\x8b\b\x8a\1\x8b\1\xa3\1\x84\1\x87\1\x8b\6\xb3\1\x87\1\x84\6\x87\1\x84\5\x87\1\x84\1\x87\1\x84\2\xae\1\x8b\6\x8a\1\x84\2\x8a\1\x8b\a\x83\1\x84\4\x8b\f\x8a\1\xb0\1\x80\1\x96\1\x9c\1\x84\3\x87\1\x84\1\xae\1\x89\20\x8b\1\x84\1\x8d\1\x84\1\x8b\1\x89\f\xa0\1\x84\1\x87\1\x84\1\x9d\1\x96\2\x89\1\x8b\1\x84\3\x8b\1\x89\1\x85\1\x84\2\x87\1\x8a\1\x89\b\x8b\1\x87\2\x89\b\x87\1\x84\2\x87\1\x84\1\x89\f\x87\3\x89\a\x84\1\x87\1\x84\1\x8b\1\xa0\1\x89\6\x84\6\xa0\1\x89\5\xa0\1\x84\3\x89\t\x9b\1\x87\1\x84\1\x87\1\xa0\1\x89\5\x98\1\x8d\1\x87\1\x84\1\x89\b\x84\1\x83\1\x89\6\x84\2\x87\1\x8b\1\x89\6\x84\1\x87\1\x8a\1\x89\a\x8c\1\x84\2\x8b\2\x84\2\x8a\1\x89\a\x84\3\x89\f\xa6\1\x96\1\xa1\1\x8a\1\x9a\1\x84\2\x8a\2\x84\2\x9a\1\x8a\5\x9a\1\x84\2\x9a\1\x8a\a\x84\3\x87\1\x84\1\x98\1\x8a\1\x83\1\x84\2\x8a\t\x87\1\x84\2\x8a\t\xae\1\x84\3\x9a\1\x8a\1\x80\1\x8a\1\x80\2",
b"\x80\3\x8b\t\x84\2\x87\2\x84\1\x8b\t\xac\1\x84\1\x87\1\x84\1\x8b\a\x87\1\x84\1\x87\1\x8b\1\x85\1\x84\n\x9a\1\x98\1\x8b\b\xac\1\x83\1\x84\2\x8b\a\x87\1\x84\3\xae\1\xac\1\x8b\r\x80\1\xab\1\xa6\1\x89\1\x84\3\x87\1\x84\1\x83\1\x89\16\xb0\1\x89\1\x84\3\x85\1\x89\2\xa0\1\x89\a\x8b\1\x89\1\x88\1\x84\1\x87\1\x84\1\x96\3\x8f\1\x89\1\x84\1\x87\1\x84\1\x83\1\x89\2\x85\1\x84\2\x87\1\x89\b\x85\1\x84\2\x89\b\x84\2\x87\1\x84\1\x8a\1\x89\t\x8b\1\x89\1\x9a\1\x84\1\x9b\1\x98\1\x89\6\xa0\1\x84\3\x83\1\x89\a\x93\1\x87\1\x84\3\x8a\1\x89\b\x87\1\x84\1\x8a\1\x89\t\x84\1\x8d\1\x84\2\x89\6\x9b\1\x84\2\x89\a\x8b\1\x84\1\x8a\1\x89\6\x9a\1\x84\2\x88\1\x89\5\x8e\1\x84\2\x89\b\x85\1\x84\1\x87\1\x89\2\x84\2\x87\1\x89\a\x8b\1\x87\1\x84\1\x8b\1\x89\v\x8f\1\x92\1\xb6\1\x96\1\x9f\1\x87\1\x84\1\x8a\2\x87\2\x8a\a\x84\3\x8a\a\x87\1\x84\5\x8a\1\x98\1\x84\2\x83\1\x8a\t\x84\2\x88\1\x8a\a\x85\1\x84\4\x8a\3\xb7\1\x80\2",
b"\x80\5\x8a\5\x8b\1\x8a\2\x84\3\x87\2\x8a\1\x8b\1\x8a\5\x85\1\x84\3\x8a\2\x8b\1\x8a\4\xac\1\x84\2\x9b\1\x8a\3\x8b\3\x8a\2\x8b\2\x8a\6\x8b\4\x8a\3\x8b\1\x9b\1\x84\1\x83\1\x8a\1\xb1\1\x8a\1\x8b\2\x84\4\x8a\4\x8b\1\x8a\t\x8b\1\x8a\1\x8b\1\x80\1\xa0\1\x89\1\x8a\1\x84\2\x8d\1\x87\1\x84\2\x89\f\x96\1\xa6\1\x96\1\xb0\1\x88\1\x84\2\x87\1\x89\t\x83\1\x84\3\x98\1\x8f\1\x96\1\xb6\1\xa6\1\x89\3\x84\1\x87\1\x84\1\x89\3\x8a\1\x84\3\x8b\1\x89\6\x84\2\x9a\1\x89\b\x84\1\x87\2\xa3\1\xa0\1\x89\v\x84\3\x8b\1\x89\b\x88\1\x84\1\x87\1\xa0\1\x89\a\x9b\1\x84\1\x87\2\x89\t\x93\1\x84\2\x89\n\x87\1\x84\2\x9b\1\x89\6\x84\2\xac\1\x89\6\x85\1\x87\1\x89\b\x84\3\x89\5\x87\1\x84\2\x89\b\x87\2\x84\1\x89\2\x8a\1\x84\2\x85\1\x89\a\x84\1\x87\1\x84\1\x89\r\xb6\1\xa6\2\x84\1\x87\1\xa7\1\x84\2\x9b\1\x92\1\x8a\2\x98\2\x8a\1\x98\1\xb5\1\x87\1\x84\1\x8a\a\x88\1\x84\1\x87\1\x88\1\x84\1\x87\1\x84\1\x8a\1\x84\2\x87\1\x8a\6\x98\1\x8a\2\x9b\1\x84\1\x87\1\x98\1\x8a\1\x98\1\x8a\3\x87\1\x84\3\x9a\1\x8a\3\x9c\1\x80\3",
b"\x80\6\x8a\a\x84\6\x8a\5\x87\1\x84\2\x87\1\x8a\b\x84\3\x98\1\x8a\30\x98\1\x84\1\xa3\1\x8a\2\xb1\1\x8a\1\x84\4\x85\1\x8a\16\xab\1\x80\2\xb6\1\xa6\1\x96\1\x8a\1\x84\2\x96\1\x9b\1\x84\3\x87\1\x89\1\x8b\1\x89\1\x8b\2\x89\1\x8b\4\x96\1\xac\1\x8f\1\x89\2\x88\1\x87\2\x84\1\x89\1\x8b\1\x89\4\x87\1\x84\3\x87\1\x8b\1\x89\1\x8b\2\x92\1\xb0\1\x80\1\xac\1\x8b\2\x87\1\x84\1\x85\1\x8b\4\x84\4\x8b\1\x89\3\x84\3\x8b\2\x89\2\x8b\3\x8a\1\x84\5\x9a\1\x8b\v\x87\1\x84\1\x87\1\x9a\1\x8b\2\x89\1\x8b\6\xa3\1\x84\2\xa0\1\x89\6\x87\1\x84\1\x8d\1\x84\2\x89\b\x87\1\x84\2\x89\v\x84\1\x9b\1\x84\2\x8b\1\x89\2\x8b\1\x98\1\x87\1\x84\1\x8b\1\x89\6\x87\1\x84\1\x89\b\xa0\1\x84\2\x88\1\x89\3\x8a\1\x84\2\x98\1\x89\b\x84\1\x87\1\xa3\1\x89\3\x87\1\x84\1\x87\1\xa0\1\x89\6\x84\2\x88\1\x89\f\xa6\3\x96\1\x84\5\xa6\3\xb4\1\x98\3\xa9\1\x87\1\x84\2\xa9\1\x98\6\xae\1\x84\1\x87\1\x98\1\x85\1\x84\2\x87\1\x84\3\x98\t\x84\3\x98\4\xb5\1\x84\1\x87\1\x84\2\xae\1\x98\4\xb1\1\x80\3",
b"\x80\2\xaf\1\x80\3\x8a\a\x84\5\x87\1\x9a\1\x8a\4\x87\3\x8a\t\x84\3\x98\1\x8a\30\xa3\1\x84\1\xae\1\x8a\3\x87\1\x84\4\x8a\17\x92\1\x80\3\xa6\2\x93\1\x87\1\x84\1\xb0\1\xb8\1\x9d\1\x84\1\x9b\1\x84\1\x8d\1\x8a\1\x89\1\x8b\a\x8f\1\xa1\1\x8b\2\x89\1\x8b\1\x84\4\x83\1\x8b\1\xac\1\x85\1\x84\2\x87\2\x85\1\x89\1\x8b\4\xac\1\x8b\1\xab\1\x90\1\xac\1\x89\1\x8a\1\x84\2\x8b\1\x89\3\xac\1\x84\1\x87\1\x84\1\x9a\1\x8b\2\x9a\1\x84\2\x8d\1\x8b\1\x89\1\x8b\4\x88\1\x84\2\x87\1\x83\1\x8b\1\x84\2\x8b\t\x89\1\x8b\2\x8d\1\x9b\1\x84\1\x8b\n\x8d\1\x84\1\x8a\1\x89\5\x85\1\x84\2\x87\1\x84\1\x87\1\x85\1\x89\a\x84\1\x87\1\x93\1\x89\v\x8b\1\x84\1\x87\1\x84\1\x87\1\x89\3\x84\1\x87\2\x89\a\x87\1\x84\1\x89\b\x8b\1\x84\2\x9b\1\x89\3\x84\3\x89\t\x84\2\x93\1\x89\3\x9a\1\x84\2\x8a\1\x89\5\x83\1\x84\1\x87\1\x8b\1\x89\a\xac\1\xb4\1\x89\2\xa6\2\x96\1\xa6\2\x84\4\x87\1\xa6\2\x96\1\xb4\3\x98\2\x87\2\x84\1\x98\b\x84\1\x87\1\x9a\1\x98\1\x87\2\x84\4\xa9\1\x98\b\x84\2\x88\1\x98\3\xae\1\x84\1\x87\2\x84\1\xb9\1\x98\1\x80\2\x98\1\xa9\1\x80\4",
b"\x80\2\x8a\2\xab\1\xb1\1\x8a\a\x84\5\x87\1\x84\1\x87\1\x8a\3\x84\1\x87\1\xa3\1\x8a\t\x87\1\x84\2\xa3\1\x8a\27\x98\1\x84\2\x8a\3\x84\4\x87\1\x8a\16\x80\6\xa6\2\x84\2\xba\1\xa6\1\x8b\1\xac\1\x8b\1\xa3\1\x84\4\x87\1\x83\1\x8b\r\x87\1\x84\6\x87\1\x85\1\x8b\17\x84\1\x8e\1\xac\1\x8b\4\x84\3\x87\2\x84\2\x87\1\x8b\5\x85\1\x87\1\x84\2\x87\1\x8b\3\x9a\1\x84\1\xa3\1\x8b\v\x83\1\x84\2\x8b\t\x89\2\x84\2\x89\4\x8b\1\x84\2\x87\1\x8b\1\x84\3\x89\1\xa0\1\x89\4\x84\3\x89\1\x8b\1\x89\f\x87\1\x84\3\x8b\2\x84\3\x8b\1\x89\6\x84\2\x8a\1\x89\6\x8b\1\x89\1\x84\2\x87\1\x89\2\x83\1\x84\2\x87\1\x89\a\x8b\1\x89\1\x87\1\x84\1\x8b\1\x89\3\xa0\1\x84\3\x89\4\x8b\1\x84\2\x87\1\x8b\1\x89\5\x8b\5\xa6\5\xbb\1\x84\4\xb8\1\xa6\2\x80\1\xb4\4\xba\1\x84\2\x9b\1\x98\b\x88\1\x84\2\x98\2\x84\3\x87\1\x84\1\x9d\1\x98\a\x87\2\x84\1\xae\1\xa9\1\xb2\1\x84\2\x87\1\x84\2\x80\5\xb4\2\x80\4",
b"\x80\3\xa1\1\x8a\b\xb1\1\x85\1\x84\2\x98\1\x87\1\x84\3\x87\1\xae\1\x8a\1\x84\3\x8a\n\x84\1\x87\1\x84\1\x8a\26\x98\1\x84\2\x8a\2\x84\5\x85\1\x8a\21\x80\5\xa6\1\x84\2\xac\1\x8b\a\x88\1\x84\1\x87\1\x84\16\x87\2\x84\3\x87\2\x8a\1\x8b\20\x84\2\x8b\5\xac\1\x8b\1\x84\3\x87\1\x8b\1\xac\1\x8b\2\x85\1\x84\4\xa3\1\x8b\6\x84\2\x8b\v\xac\1\x88\1\x84\1\x87\1\x8b\1\xac\1\x8b\5\x89\3\x9a\1\x84\1\x89\1\x8b\2\x9a\1\x87\1\x84\1\x8a\1\x8b\1\x89\1\x8b\1\x87\1\x84\1\x87\1\x8b\4\x89\1\x87\1\x84\2\x89\2\x8b\r\x88\1\x84\1\x87\3\x84\1\x87\2\x8b\a\x84\2\x83\1\x89\1\x8b\a\x87\1\x84\2\xac\1\x87\1\x84\3\xac\1\x8b\t\x84\2\x8a\1\x8b\4\x85\1\x87\1\x84\1\x87\1\x8b\3\x89\1\x84\3\x8b\1\x89\1\x8b\b\xb4\1\xa6\1\xab\1\x80\3\xbc\1\x84\4\x80\4\xb4\4\x87\1\x84\2\x9b\1\x98\t\x87\1\x84\1\x85\1\x98\2\xa9\1\x84\5\xa3\1\x98\5\x84\2\x87\1\xa3\1\x87\1\x84\1\x87\2\x84\1\xbd\1\x80\6\xb4\1\xbb\1\x80\4",
b"\x80\3\x8a\v\x9b\1\x84\2\x8a\1\x87\1\x84\2\x87\1\x84\1\x87\2\x84\2\x8a\n\x88\1\x84\2\x8a\26\x98\1\x84\2\x8a\1\x87\1\x84\4\x87\1\x8a\22\x80\5\xb9\1\x84\1\x9b\1\xa6\1\x8b\t\xae\1\x84\2\x87\1\x84\2\x87\2\x84\3\x87\1\x84\1\x87\1\x84\2\x87\1\x85\1\x88\1\x84\1\x87\1\x84\3\xa3\1\x8a\1\x8b\r\x84\2\x8b\6\xac\1\x85\1\x84\3\x8c\1\xb5\1\x87\2\x84\2\x87\1\x84\1\x83\1\x8b\a\x84\2\xac\1\x8b\f\x84\2\x8b\n\x9a\1\x84\1\x8b\2\x89\1\x84\3\x8b\2\x89\1\x8b\1\x85\1\x84\2\x8b\4\x89\1\x84\3\x8b\17\x89\1\x85\1\x84\3\x87\1\x84\2\x89\1\x8b\6\x84\2\x9a\1\x8b\b\x87\1\x84\2\x8b\1\x84\2\x87\1\x8b\v\x84\2\x83\1\x8b\5\x84\3\x83\1\x8b\3\x87\1\x84\2\x89\1\x8b\t\xa9\1\xb4\1\xa6\4\x84\2\x8d\1\x87\1\x80\5\x9f\1\xb4\3\xba\1\x84\3\x98\t\x84\2\x87\1\x98\3\xb5\1\x87\2\x84\3\x87\2\x88\1\x9a\2\x84\2\x87\1\x84\1\x87\1\x84\3\x80\a\xbe\1\xb4\1\xa6\1\x80\4",
b"\x80\6\xb4\2\xa9\1\x8a\4\x98\2\x87\1\x84\1\x88\1\x8a\1\xae\1\x84\3\x87\3\x84\1\x87\1\x98\2\x8a\6\x98\1\x8a\1\xae\1\x84\1\x87\1\x98\1\x8a\24\x84\2\x87\1\x84\5\x8a\1\x98\2\x8a\17\x98\1\x8a\1\x80\4\xbd\1\x84\2\xac\1\xb0\1\xa1\1\x8b\f\xa6\4\x8f\1\x8b\5\x84\2\x8b\5\x9a\1\x87\1\x84\3\x87\1\x84\24\x87\1\x84\1\x87\1\x84\2\x87\1\x84\3\x87\1\x93\1\x8b\b\xac\1\x9b\1\x84\1\x83\1\x8b\16\x84\1\x87\1\x8b\b\xac\1\x84\2\x8b\2\x9b\1\x87\2\x8b\5\x84\3\x8b\5\x8a\1\x84\2\x9a\1\x8b\21\x87\1\x84\1\x87\1\x84\2\xb5\1\x92\1\xa8\1\x8b\4\x84\2\x9b\1\x8b\b\x84\6\x98\1\x8b\v\x84\3\x8b\6\x87\1\x84\1\x87\1\x8b\3\x9a\1\x84\2\x85\1\x8b\b\xac\1\x8b\2\x96\1\x80\2\xbf\1\x84\3\x80\6\xb8\1\xb4\4\x84\1\x87\1\x84\1\xae\2\x98\1\xae\6\x87\1\x84\2\xae\3\x98\1\x84\1\x87\2\x84\4\x87\1\x84\2\x87\1\x84\4\x9b\1\x80\t\xbb\1\xb4\1\xbe\1\x80\4",
b"\x80\6\x8a\1\x98\1\x8a\1\x98\a\x84\2\x8a\1\x98\2\x9a\1\x84\3\x87\1\x84\2\x8a\1\xa9\1\x98\t\x87\3\x98\20\x8a\2\x98\1\x87\1\x84\4\x87\1\x84\1\x87\1\x98\25\x80\4\x87\3\xa6\2\x8b\2\xac\1\xa6\1\xb8\1\x8b\1\xb8\1\x8b\6\xa6\1\xb6\1\x80\1\xab\1\xa6\1\x8b\1\xac\1\x8b\1\xac\1\x87\1\x84\1\x85\1\x8b\t\x85\1\x88\1\x84\6\x87\3\x84\t\x87\1\x8d\1\x87\1\x84\4\x87\1\x84\2\x83\1\x8b\1\x80\3\x8b\6\x98\1\x87\1\x84\1\x8b\17\x84\2\x8b\b\x84\2\x80\1\xc0\1\x84\2\x85\1\x8b\5\x98\1\x84\2\x8b\a\x85\1\x84\1\x87\1\x8b\21\xac\1\x8b\1\x84\5\x9b\1\x8a\1\x8b\2\xac\1\x84\3\x8b\b\x84\5\x8c\1\x8b\f\x84\2\x87\1\x8b\a\x84\1\x87\2\x8b\3\x87\1\x84\2\x8b\5\xac\1\x8f\1\xb0\1\x8b\4\x80\1\x9b\1\x84\4\x80\5\xbe\1\xa6\1\xb4\4\x9a\1\x84\1\x87\1\x80\6\xae\4\x84\2\xa4\1\xae\2\xa9\1\xba\1\x84\2\xa7\1\xba\1\x87\1\x84\a\x87\1\xb4\1\x80\n\xb4\1\xa9\1\x80\5",
b"\x80\6\x9d\1\x98\t\x84\2\x85\1\x98\3\x85\1\x9b\1\x84\4\x87\1\x83\1\x98\n\x84\2\x98\22\xb5\1\x84\3\x87\1\x84\2\xae\1\x98\25\x80\5\x87\1\x84\1\xc0\1\xa6\2\xac\2\xa6\3\x80\1\xa6\1\x80\1\x92\1\x8a\1\x8b\1\xa6\1\xac\1\xa6\1\x80\3\xa6\1\xb6\1\x8b\3\x87\1\x84\1\x8b\1\xac\1\x8b\r\x8a\1\x98\1\xae\2\x85\3\x84\2\x85\4\xae\1\x83\1\x93\1\xb1\1\x8a\1\x80\1\xab\1\x84\1\x87\1\x9b\1\x84\1\x87\1\x84\1\x87\1\x80\3\x8b\2\x80\3\xac\1\x84\1\x8d\1\xc1\1\x8b\17\x84\2\x8b\a\x87\1\x84\2\xc2\1\x87\1\x84\2\x8b\6\x9b\1\x84\2\xac\1\x8b\a\x87\1\x84\1\x9a\1\x8b\21\xac\1\x8b\1\x84\2\x87\1\x84\1\x87\1\x84\2\xa4\1\xb8\1\x87\1\x84\2\xac\1\x8b\5\x88\1\x84\5\x8a\1\x8b\r\x9a\1\x84\2\x8b\6\xac\1\x84\4\x98\1\x8b\1\x85\1\x84\1\x87\1\x8b\v\xa1\1\x84\5\x80\6\xa6\2\xb4\5\x84\2\xbc\1\x80\6\xbb\1\x80\2\x87\1\x84\2\x9d\1\xb4\3\x84\2\xba\1\xa9\2\xb4\1\xa7\1\xc3\2\x9d\1\xa7\1\x84\2\xa7\1\x80\n\xa7\1\xb4\1\x80\5",
b"\x80\5\xbe\1\xb4\1\xa7\1\xa9\1\x98\b\x84\2\x98\6\x87\1\x84\2\x87\1\x84\2\x87\1\x85\1\x98\a\x84\1\x87\1\x98\17\x9a\1\x84\a\x9a\1\x98\1\xa9\1\x98\21\xa9\1\x98\1\x9c\1\x80\6\x87\1\x84\1\xc0\1\xa6\2\xb8\1\xa6\4\x80\4\xac\1\xab\1\x80\t\x9c\1\xa3\1\x84\2\x8a\1\x8b\25\x87\1\x84\1\x98\1\x8b\5\x80\4\x96\1\x85\1\x87\1\x84\1\x98\1\x87\1\x84\3\xbd\1\x80\2\xac\1\x80\3\x8b\1\x84\2\xc2\1\x80\1\x8b\16\x84\1\x9a\1\x8b\a\x84\2\x87\1\x84\2\x9a\1\x8b\6\x87\2\x9b\1\x8a\1\x8b\t\x87\2\x8b\24\x87\1\x84\1\x9b\1\x84\21\x87\1\x84\1\x8b\20\x84\1\x87\1\x85\1\x8b\a\x83\1\x87\1\x84\3\x8b\1\x8a\1\x84\2\x8b\b\x85\1\x84\a\x80\6\xa6\2\xa9\1\xa7\4\x80\1\x84\2\x80\t\xb9\1\x84\2\xa7\1\x9d\1\xa7\1\xb4\1\x84\3\xb4\1\xa7\a\xc3\1\x84\2\x80\n\x9d\1\xa7\1\x80\5",
b"\x80\5\x98\f\x84\2\x98\a\xb5\1\x87\1\x84\2\x87\1\x84\4\x87\1\xba\1\x98\3\x84\2\x98\n\x85\1\xa3\1\x84\n\x85\1\x98\26\x80\a\x84\1\x87\1\x84\1\xa6\a\xab\1\x80\16\xa6\1\x84\1\x87\1\x85\1\x8a\25\x85\1\x84\1\x87\1\x8a\5\x90\1\x80\5\x8f\1\x84\3\xb4\1\xc3\1\x87\1\x84\3\xbd\1\x80\4\x9c\1\x84\2\xab\1\x80\1\x8b\2\x8a\t\x8b\2\x84\2\x8b\1\xac\1\x8a\2\x8b\1\x8a\1\x8b\1\x8a\1\x84\4\x8b\2\xac\1\x8b\4\x87\1\x84\2\x85\1\x8b\n\x84\2\x88\1\x8b\23\x80\1\x84\2\x80\1\xbc\1\x84\f\x87\1\x84\1\x87\2\x9a\1\x8b\20\x84\1\x87\2\x8b\b\x93\1\x87\1\x84\2\x87\2\x84\2\x8e\1\x98\1\x8a\1\x98\1\x85\1\x87\2\x84\1\x87\1\x84\3\x9b\1\x84\3\x80\6\xa6\2\x9d\1\xa7\4\x80\2\x87\1\xad\1\x80\t\x84\2\xa3\1\xa7\3\xba\1\x84\2\xa7\t\xa3\1\x84\1\xc4\1\x80\t\xa7\2\x80\5",
b"\x80\4\x98\1\xa6\1\xb4\1\x98\t\xae\1\x84\1\x87\1\x98\a\xa3\1\x84\2\x85\1\x87\1\x84\2\x87\1\x84\5\x87\1\x84\1\x87\1\x9a\1\xba\1\x9a\1\xba\1\x9a\2\x9b\1\x84\5\x87\1\x84\5\x87\1\xae\1\x87\1\x84\1\x87\1\x98\23\xa6\1\xa9\1\x98\2\x80\6\x84\2\x87\1\xa6\a\xb6\1\x80\16\xc5\1\x84\1\x87\1\x8b\1\x8a\25\x84\3\x8a\5\x80\b\x87\3\x9d\1\xa7\1\x87\1\x84\1\x87\2\xc6\1\xc7\1\x80\2\x84\2\x87\1\xa8\1\x80\1\x8a\f\x88\1\x84\2\x8a\1\xb1\1\x8a\4\x98\1\x87\1\x84\1\x87\1\x84\1\x80\2\x8b\3\xb1\1\x8b\1\x84\3\x85\1\x8b\v\x98\1\x87\1\x84\1\x8b\24\x87\1\x8d\1\xc8\1\x80\2\x98\1\x9a\1\x84\b\x87\2\x84\3\x8b\3\xac\1\x96\1\x8b\f\x85\1\x84\1\x87\1\x8b\t\x83\1\x84\1\x87\2\x84\3\x8d\1\x84\4\x87\1\x84\5\xa4\1\x80\1\x84\3\x80\6\xb8\1\xa6\1\xa7\5\x80\2\x84\2\x80\t\xc0\1\x87\1\x84\1\xa7\3\x9d\1\x84\2\xa7\b\x9d\1\xa7\1\x84\1\xc0\1\x80\t\xa7\2\x80\5",
b"\x80\5\x98\1\xa9\1\x98\t\x84\2\xae\1\x98\1\xa9\1\x98\4\xae\1\x87\2\xb5\1\xae\1\x98\3\x9a\1\x84\3\x87\1\x84\1\x87\1\x84\n\x87\1\x84\1\x87\1\x84\2\x87\2\x9a\1\x98\2\x9d\1\x98\1\xa3\1\x84\1\xa3\1\x98\f\x9d\1\xa7\1\x98\3\x9d\1\xb4\1\xb8\1\xa6\2\x80\b\x84\1\x9b\1\xb8\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\5\x80\b\x84\3\xa7\1\x9d\2\xa7\1\xad\1\x87\3\x84\1\xbc\1\x84\1\x87\1\x80\3\x8a\f\x84\2\x83\1\x8a\4\x98\1\x84\2\x87\3\x80\5\x9d\1\xa7\1\x9d\1\x87\1\x8d\1\x8e\1\x8b\r\x87\1\x84\1\x8b\24\xa3\1\x84\1\xc9\1\x80\1\x8b\2\x9d\1\x84\2\x83\1\x8b\5\x85\1\x84\3\x98\1\xb0\1\x92\1\x80\2\xb0\1\x8b\1\x80\1\x8b\v\x87\1\x84\1\x88\1\x8b\a\x8a\1\x8b\2\x8a\1\x84\1\x87\1\x84\a\x87\1\x84\2\xa3\1\xa7\1\x9d\1\xa7\1\x80\1\xc6\1\x84\2\x80\6\xa6\1\xb8\1\xb4\1\x9d\4\xa6\1\x80\1\x84\2\x80\n\x84\2\xba\1\x9d\2\xa7\1\x84\2\xb5\1\x9d\6\xa7\3\x84\2\x80\t\xa7\2\x80\5",
b"\x80\4\xa9\1\x9d\1\x98\2\xae\b\x84\1\x87\1\xae\2\x98\1\xae\4\x84\3\xae\t\x9d\1\x98\1\x84\2\x9b\1\x87\1\x84\5\x87\1\x9b\1\xa3\1\x9a\1\xae\b\x98\1\x85\1\x84\1\x87\1\xae\t\x9d\1\xae\1\x98\1\x9d\1\xa7\3\x9d\2\xa7\1\xa6\4\x80\a\x84\1\x87\2\xb6\1\xa6\a\x80\16\x84\2\xa3\1\x8a\26\x87\1\x84\1\x87\1\x8a\4\x96\1\x80\b\xc9\1\x84\2\xa7\2\x9d\1\xa7\1\x9d\1\x80\1\x9b\1\x87\1\x84\2\x9b\1\x84\1\xca\1\x80\3\x8a\n\xb1\1\x84\2\x83\1\x8a\1\xb1\1\x87\1\x84\2\x8d\1\x87\1\x84\1\x87\1\xc0\1\x80\5\x9d\1\xa7\1\x8b\1\x87\1\x84\1\x85\1\x8b\v\x8a\1\x8b\1\x87\1\x84\1\x8b\21\x80\1\x96\1\x90\1\xc1\1\x87\1\xbc\1\x80\1\x9d\2\x8b\1\x87\1\x84\1\x83\1\x8a\1\x8b\4\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\n\x8a\2\xb1\1\x84\2\x8b\5\x8a\5\x8b\1\x8a\1\xac\1\x8b\1\x84\2\x9a\1\xa3\1\x9a\1\xae\1\x8a\3\x8b\1\x8a\2\xa7\2\xc9\1\x87\2\x80\5\xb6\1\xa6\2\xb6\1\xa7\4\x9d\1\x80\1\x9b\1\x84\1\x80\n\x84\1\x87\1\x84\1\xa7\3\x87\1\x84\1\xba\1\xa7\t\x84\2\x80\t\xa7\2\x80\5",
b"\x80\6\xae\1\x9d\1\x98\1\xae\6\x84\2\xa3\1\xae\a\x87\1\x84\1\x87\1\x98\1\xae\b\xa9\1\xb5\1\x84\2\xae\n\x9d\1\xae\t\x87\3\x98\1\xae\a\x98\1\xae\2\xbe\1\xa7\5\x9d\1\xa7\1\xa6\5\x80\6\x84\2\x80\1\xab\1\xa6\a\x80\16\x84\2\x9b\1\x8a\26\x84\2\x87\1\x8a\1\xb1\1\x8a\2\x80\b\xcb\1\x84\3\x9d\1\xa7\1\x9d\1\xa7\2\xcc\1\x80\2\xad\1\x84\4\x87\1\x9b\1\xc2\1\xcd\1\x8a\n\x84\2\xa3\1\x84\2\x87\1\x84\2\x9a\1\x80\1\x84\3\x80\5\xa7\1\xa9\1\x8a\1\x84\2\x9b\1\x8a\v\x8b\2\x84\2\x8a\1\x8b\1\x8a\16\x8b\1\x80\3\xb9\1\x84\1\xbf\1\x9c\1\x8a\1\x9d\1\x8b\1\x8d\1\x84\1\x85\1\x8a\2\x8b\3\x85\1\x84\3\x80\5\x90\1\x8a\1\x8b\a\x8a\6\x87\1\x84\1\x85\1\x8a\t\x8b\4\x84\2\x8a\1\x8b\2\x8a\1\x8b\1\xb0\1\x80\1\xbe\1\xa7\2\x9d\1\xa7\1\xbd\1\x84\2\x80\5\xb8\1\xa6\2\x80\1\xa7\3\x9d\1\xa7\1\x80\1\x84\2\x80\n\x87\1\x84\2\xa7\3\x87\1\x84\1\xba\1\xa7\t\x87\1\x84\1\x80\b\xbe\1\xa7\2\x80\5",
b"\x80\6\xce\1\xae\a\xa3\1\x84\1\xb5\1\xae\25\x84\2\x9a\1\xae\24\x84\2\x9b\1\xae\b\xcf\1\x80\2\xbb\1\xa7\1\x9d\5\xa7\1\xb8\1\xa6\3\xb8\1\xa6\1\x80\5\x87\1\x84\1\x80\1\xab\1\xa6\6\xb8\1\x80\16\xba\1\x84\2\x8a\26\x84\3\x8a\3\x80\b\x8d\1\x84\3\xa7\1\x9d\2\xa7\1\x9d\1\xa7\1\x9d\1\x80\4\x84\4\x9b\1\x84\a\x87\1\x84\2\x87\1\x84\1\x87\2\x84\3\x87\1\x8a\2\x80\2\xbc\1\x84\1\x87\1\x80\5\x9d\1\xa7\1\x9d\1\xc0\1\x87\2\xb1\1\x8a\f\x87\2\x8a\21\x80\3\x84\2\xa9\2\x8a\3\x9a\1\x84\1\x8a\6\x84\2\x87\1\xa3\1\x80\5\xb0\1\xb1\1\x8a\r\x84\1\x9b\1\x84\1\x8a\f\x98\1\x87\1\x9b\1\xb1\2\x8a\2\x96\1\x80\3\x9d\1\xa7\1\x9d\2\x87\1\x84\1\x87\1\x80\5\xa6\3\x80\1\x9d\4\xa7\1\x80\1\x84\2\x80\n\x84\2\x87\1\x9d\2\xa7\1\x87\1\x84\1\xc5\1\x9d\b\xa7\1\x84\1\xc5\1\x80\b\xbb\1\xa7\1\x9d\1\x80\5",
b"\x80\6\x9d\1\xae\2\x9d\1\xae\1\x9d\1\xae\1\x9d\1\xae\1\x87\1\x84\1\xae\25\x84\2\x9a\1\xae\23\x9d\1\x87\2\x84\1\xae\5\x9d\1\xae\2\xab\1\x80\2\x9d\a\xb4\1\xa6\a\x80\4\x84\2\x80\1\xa6\5\xb8\3\x80\16\xb8\1\x84\2\xb5\1\x8a\25\x9a\1\x84\2\x8a\2\x80\t\xc0\1\x84\1\x80\2\x9d\1\xa7\1\x9d\4\xa7\1\xbe\1\x80\4\x84\1\x87\1\x80\1\xbe\1\x91\1\x87\1\x84\a\x87\1\x84\3\x8d\1\x83\1\xa8\1\xb1\1\x8a\1\x80\5\x84\2\xb9\1\x80\4\xa7\2\x9d\1\x8a\3\xa9\1\xb1\1\x8a\3\xb1\1\x8a\6\x87\1\x84\1\x83\1\x8a\f\xb1\1\x80\1\x8a\2\x96\1\x80\3\x84\1\x87\1\xb1\1\x8a\f\x84\3\x96\1\x80\4\x8a\20\xa3\1\x84\2\x8a\f\x84\2\xa1\1\xa6\3\x80\5\xbe\1\x9d\1\xa7\1\x9d\1\xa7\1\x80\6\xa6\1\xb8\2\xab\1\x80\1\x9d\3\xa7\1\x9d\1\xc3\1\x84\1\xca\1\x80\n\x84\1\x87\2\x9d\2\xa7\1\x87\2\xc3\1\x9d\b\x87\2\xb6\1\x80\b\xa7\1\x9d\2\x80\5",
b"\x80\5\xb8\1\xae\3\x9d\2\xae\3\x9d\1\x84\2\xb5\1\xae\a\x9d\1\xae\f\x84\2\xb5\1\xae\25\x84\2\x9a\1\xae\5\x80\1\xa7\1\x80\3\x9d\a\x9f\1\xb8\1\xa6\6\xd0\1\x80\3\x84\3\xb8\1\xa6\4\xb8\3\x80\16\xa6\1\x84\2\xa7\1\x8a\26\x87\1\x84\1\x8a\1\x92\1\x80\r\xcf\1\x9d\2\xa7\3\x9d\2\xbe\1\x80\3\x84\1\x8d\1\x80\2\x8a\3\x98\1\xae\1\x85\1\x9a\2\x85\1\xae\1\x98\1\x84\3\x8a\1\x80\1\x8a\1\x96\1\x80\5\x84\2\xbf\1\x80\4\x9d\3\x8a\3\x9d\1\x90\1\x8a\2\x80\1\x8a\a\x84\2\x8a\r\x9c\1\x80\2\x8a\2\x80\2\x84\2\xa9\1\x9d\1\x8a\v\xae\1\x84\1\x87\1\x84\1\x80\4\x8a\21\x9a\1\x84\2\x8a\v\x98\1\x8d\1\x87\1\x8a\2\xa6\2\x80\6\x9d\1\xa7\2\x9d\1\xa7\1\x80\5\xa6\1\xb8\2\x80\2\xa7\3\x9d\1\xa7\1\x84\2\x80\v\x84\2\xa3\1\xa7\2\xc3\1\x87\1\x84\1\xa7\b\xc3\1\x87\1\x84\1\xa6\1\x80\b\xa7\3\x80\5",
b"\x80\a\x9d\1\xae\1\x9d\3\xae\1\x9d\1\x80\1\x84\2\xb5\1\xae\4\x9d\1\xae\16\x84\3\xae\26\x9a\1\x84\1\x87\1\xae\2\x9d\1\x80\1\xae\1\x80\5\xa7\1\x9d\2\xa7\3\x9d\1\xbb\1\xa6\4\xb8\2\xa6\2\x80\3\xc4\1\x84\1\x87\1\xb8\2\xa6\4\xb8\1\xa6\1\x80\16\xb2\1\x84\1\x87\1\xb8\1\x9c\1\x8a\24\x87\1\x84\2\x8a\1\x80\17\x9d\b\xce\1\x80\1\xad\1\x84\1\xc6\1\x80\2\x8a\v\x84\3\x80\3\x98\1\x80\5\x84\2\x80\5\x9d\1\xa7\1\x9d\1\x8a\1\xa9\1\xa7\2\x80\1\x8a\1\x92\1\x80\1\x96\1\x8a\5\x84\3\x8a\t\x92\1\x8a\3\x90\1\x80\3\x8a\1\x80\1\x84\1\x87\1\x84\1\x9d\1\x8a\2\x9d\1\x9c\1\x8a\b\x84\4\x80\4\x96\1\x8a\20\x9a\1\x84\2\x8a\t\xb1\1\x98\1\x84\1\x87\1\xb8\3\xa6\2\x80\6\xa4\1\x9d\2\xa7\1\x9d\1\xbe\1\x80\4\xa6\1\xb8\1\xa6\1\x80\2\xa7\1\x9d\2\xc3\1\x84\2\x87\1\x80\n\xc6\1\x84\2\x9d\1\xa7\2\xba\1\x87\1\x84\1\xa7\a\x9d\1\x87\2\xc0\1\xcf\1\x80\b\xa7\1\x9d\1\xa7\1\x80\5",
b"\x80\a\xbe\1\x9d\5\xa7\1\xbb\1\x84\2\xae\3\xb5\1\xae\1\xab\1\x80\2\xae\4\x9d\1\xae\a\x84\3\xae\26\xb5\1\x8d\1\x84\1\xae\2\x80\a\xa8\1\x9d\a\xbb\1\xa6\1\xb8\b\x80\3\x84\2\xb2\1\xb8\a\x80\16\x87\1\x84\1\xc5\1\xb8\1\xa1\1\x80\1\x8a\21\x98\2\x84\2\x85\1\x98\1\x80\17\xa7\2\x9d\6\xa7\1\xa4\1\x8d\1\x84\1\x80\3\x8a\1\x98\1\xa7\1\x9d\1\x8a\a\x84\3\x80\b\x84\2\xc1\1\x80\5\xa7\1\x9d\6\x80\2\xb1\1\x8a\a\x84\1\x87\1\x84\1\x8a\t\x80\1\xb1\1\x8a\3\x80\5\x84\3\x8a\2\x9d\1\x9c\2\x8a\a\xae\1\x87\1\x84\3\x80\4\xb1\1\x8a\a\xb1\1\x8a\2\xb1\1\x8a\2\xa4\1\x8a\2\x87\1\x84\1\x9b\1\x8a\b\x90\1\xb8\1\x98\1\x87\1\x8d\1\xb8\3\xa6\1\xb8\1\x80\6\xa7\1\x9d\1\xa7\2\xa4\1\x9d\1\x80\3\xa6\1\xb8\2\xa6\1\x80\2\x9d\4\x84\2\x87\1\x80\n\x84\2\xc0\1\x9d\3\x9b\1\x84\1\x87\1\x9d\b\x87\2\xa3\1\xbb\1\x80\b\x9d\3\x80\5",
b"\x80\b\xa4\1\xa7\4\x9d\2\x84\2\xab\1\xbb\1\xae\2\xc3\1\xa7\1\x80\1\xb5\1\xae\1\xb5\1\xae\1\xb5\1\x9d\1\xae\2\xb5\1\xae\4\x84\2\x87\1\xae\24\xb5\1\xae\2\x87\1\x84\1\x80\t\xb2\1\xa7\6\x9d\1\xb8\t\xa6\1\xa8\1\x80\2\x84\2\xb2\1\xa6\1\xb8\3\xa6\1\xb8\1\xa6\1\x80\16\x84\1\x87\1\xb8\2\x8a\1\x98\24\x84\2\x98\2\x80\17\xce\1\xc3\1\xa4\a\xc0\1\x87\1\x84\1\x80\2\xab\1\xb6\1\x9d\1\xa9\1\x98\b\x84\3\x80\b\x87\1\x84\1\x80\6\xa7\a\xa8\1\x80\2\x8a\a\x84\3\x8a\5\x9c\1\x8a\2\x80\2\x9c\1\xb1\1\x80\a\x84\3\xa7\1\xa4\1\xa7\1\x80\2\x9c\1\x8a\6\x9b\1\x84\3\xc5\1\x80\6\x8a\3\x80\1\x8a\b\xa7\1\x8a\2\x84\1\x87\1\x84\1\x8a\a\xaa\1\x80\1\xb8\1\xa9\1\x84\2\x8a\1\xb8\4\x80\6\xcf\1\xa4\1\xc3\1\xa4\1\x9d\1\xa4\1\xcc\1\x80\2\xb8\2\xa6\2\x80\2\x9d\2\xa7\1\x9d\1\x84\3\x80\t\x84\1\x87\1\x84\1\xa4\1\x9d\1\xa4\1\x9d\1\x84\2\x9b\1\x9d\b\x84\1\x87\1\xa3\1\xbb\1\x80\b\x9d\1\xa7\2\x80\5",
b"\x80\b\xc3\1\xa4\1\xc3\1\xa4\1\xc3\2\xba\1\x87\1\x84\1\x80\1\x9d\1\xb5\2\x80\5\xb5\1\xbb\2\x80\1\xc3\1\xb5\6\x84\3\xb5\1\xae\1\xb5\26\x9d\1\x80\t\xc3\1\xa4\6\xc3\1\xb8\v\x80\2\xa8\1\xb8\b\x80\17\x84\2\xb8\2\xa9\1\x98\1\x8a\1\x98\22\x84\2\xab\1\x80\21\xc3\b\xa3\1\x84\2\xa4\1\xa6\1\x80\1\x98\1\x9d\1\x98\t\xb4\1\x84\2\x80\b\x87\2\x80\6\xb6\1\xc3\1\xa4\5\xc3\1\x80\3\x8a\2\xab\1\xb1\2\x80\1\x84\2\x83\1\xb1\2\x8a\1\xb1\1\x80\16\xa8\1\x84\2\x9b\1\xc3\1\x9d\1\x80\3\x96\1\x8a\1\x80\3\xab\1\xb0\1\x84\3\x87\1\xc1\1\x80\t\x9c\1\x8a\3\xb0\1\x80\2\xb1\1\x8a\1\x80\1\xbe\1\xa7\1\x84\2\x88\1\x8a\4\x9d\1\x8a\2\xb1\1\x80\1\xb8\1\x87\1\x84\1\x87\1\xb8\5\x80\a\xa4\2\xc3\1\xa4\1\xc3\2\x80\1\xab\1\xa6\1\xb8\2\x80\3\xa7\1\x9d\1\xa4\1\xc3\1\x84\2\xba\1\x80\b\xc4\1\x84\1\x87\2\xa4\3\xc3\1\x84\2\xa3\1\xa4\a\xc3\1\x87\1\x84\1\xc3\1\xb2\1\x80\b\xa4\3\x80\5",
b"\x80\b\xb2\1\xc3\5\x84\2\xb9\1\x80\t\xc3\1\x80\1\xb5\t\x87\1\x84\2\xb5\31\x80\b\xcf\1\xc3\b\xb8\1\xbb\1\xb8\n\xa6\2\xb8\b\x80\17\x84\1\x87\1\xb8\1\xa9\1\x98\17\x9c\1\x98\2\x80\1\x98\2\x87\1\x84\1\x80\23\xc3\1\xa4\2\xc3\4\xc5\1\x84\1\x87\1\xc3\4\x9d\1\x98\n\x84\2\x80\b\x87\1\x84\1\x80\a\xa4\1\xc3\6\x80\b\x9b\1\x84\1\x87\1\x80\3\x8a\1\x80\17\xba\1\x87\1\x84\1\xc3\2\xa7\1\x80\2\x9c\1\x80\a\x84\2\x87\1\x84\1\xc9\1\x80\v\x92\1\x80\2\x90\1\x80\6\x84\2\x8a\1\xcf\1\xc3\1\xa9\1\x8a\1\x9d\1\xc3\4\x9f\1\x87\1\x84\1\x87\1\xb8\1\xbb\1\xb8\3\x80\a\xa4\1\xc3\5\xab\1\xb8\2\xa6\1\xbb\1\x80\3\xa6\1\xc3\2\x9b\1\x84\2\xc3\1\x80\b\x84\3\xc3\5\x84\2\x9b\1\xc3\a\x84\1\x87\1\x84\1\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\b\xa8\1\xc3\5\x84\1\x87\1\xc9\1\x80\n\xd1\1\xb6\1\xb5\1\xa7\1\xb5\6\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\1\xa4\1\xc3\a\xb8\f\xbb\2\xb8\b\x80\16\xd1\1\xba\1\x84\1\x87\1\x98\20\x9f\1\xb1\1\xab\1\x80\1\xd2\1\x98\1\x84\3\x80\22\xc3\b\x84\2\x9b\1\xc3\4\x98\5\xa9\2\x98\2\xc0\1\x87\1\x84\1\x80\b\xc9\1\x87\1\x84\1\xcc\1\x80\5\xc3\a\xa4\1\x80\a\x87\1\x84\1\x9b\1\x80\22\xb6\1\x9b\1\x84\2\xc3\2\x80\v\x84\4\xc0\1\x80\34\xbb\1\xa4\1\xc3\4\x84\2\xc0\1\xb8\5\x80\a\xc3\6\xbb\1\xb8\4\x80\3\xa8\1\xc3\2\x84\3\xc3\1\x80\a\xbe\1\x87\1\x84\1\xc1\1\xa4\2\xc3\3\x84\2\x87\1\xc3\a\x84\3\xc3\1\xa7\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\5\x9b\1\x84\2\x80\n\xce\1\x80\1\xb5\1\x80\1\xb5\1\xc3\1\xb5\4\x87\1\x84\2\xb5\27\xc3\1\x80\t\xc3\b\xb2\1\xb8\2\xbb\n\xb8\1\xbb\a\xb8\1\xab\1\x80\16\xa8\1\xb8\1\x84\2\x9b\1\xa9\1\x98\r\x9d\2\x80\3\xd3\1\x80\1\xc4\1\x84\2\x80\22\xa4\1\xc3\b\x87\1\x84\1\xc5\1\xc3\3\x98\5\xa9\1\x80\1\xa9\1\xb8\1\x84\2\xc0\1\x80\t\x84\1\x87\1\x84\1\x80\5\xb2\1\xc3\a\xb6\1\x80\6\x84\2\xc9\1\x80\21\xb2\1\xc3\1\x84\2\x87\1\xc3\2\x80\v\x84\5\x80\36\xa4\1\xc3\2\xba\1\x87\1\x84\1\xa4\1\xb8\4\xbb\1\x80\a\xab\1\xc3\6\xb8\3\xab\1\x80\4\xc3\2\x84\3\xc3\1\xb2\1\x80\6\x84\2\xc5\1\x9f\1\xc3\5\x87\1\x84\2\xc3\a\x84\3\xc3\1\xa4\1\x80\b\xc3\3\x80\5",
b"\x80\t\xc3\3\xa4\1\xc3\2\x84\2\x80\16\xb6\1\xc3\4\xb5\2\x84\2\xb5\20\xc3\1\xb5\2\xc3\1\xb5\3\x80\t\xbe\1\xc3\b\xbb\1\xb8\2\xbb\6\xb8\r\x80\17\xab\1\xbb\1\x84\2\x87\1\x98\1\x80\2\x92\1\x98\t\x9d\1\xc3\2\x80\6\x84\2\xa8\1\x80\22\xc3\b\x84\2\xba\1\xc3\3\x9d\1\x98\4\xb4\1\x80\3\x84\2\x80\n\x84\3\x80\6\xc3\a\xa4\1\xc3\1\x80\5\x84\2\xc9\1\x80\21\xc3\2\x84\3\xc3\1\x80\f\xc6\1\x84\4\x80\37\xc3\2\xba\1\x84\2\xa4\1\xb8\3\xbb\1\xb8\1\x80\b\xc3\6\xb2\1\xbb\1\xb8\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xc3\2\x80\5\xc4\1\x84\2\x80\1\xc3\6\xc0\1\x84\2\xc3\a\x84\1\x87\1\x84\1\xc3\2\x80\a\xb6\1\xc3\2\xa7\1\x80\5",
b"\x80\t\xb2\1\xc3\5\x84\2\xc8\1\x80\r\xb2\1\xc3\5\xb5\1\x84\2\xb5\2\xc3\1\xb5\6\xa7\1\xc3\2\xb5\1\xc3\1\xb5\2\xc3\1\xa7\1\xc3\2\x80\f\xc3\1\xa4\1\xc3\a\xb8\2\xbb\24\x80\17\xa6\1\xbb\1\x87\1\x84\1\x87\1\xb8\1\xc8\2\x98\n\xc3\3\x80\6\x84\2\xbe\1\x80\22\xc3\b\x84\2\xc0\1\xc3\3\x98\1\xc3\1\x98\3\x80\4\x84\2\x80\n\x87\1\x84\2\x80\6\xc3\b\xa4\1\xab\1\x80\4\x87\1\x84\1\xb9\1\x80\20\xa4\2\xc3\1\x84\3\xa4\1\x80\r\x84\4\x80\37\xc3\2\xc5\1\x84\2\xc0\1\xbb\2\xb8\1\xbb\1\xb8\1\x80\b\xc3\6\xa4\1\xb8\1\x92\1\x80\5\xc3\2\x84\1\x87\1\x84\1\xa4\1\xc3\1\xb2\1\x80\4\xbf\1\x84\1\x87\1\xb7\1\xa4\1\xc3\6\x84\2\xba\1\xc3\6\x84\1\x87\2\xc3\2\x80\a\xb2\1\xc3\2\xb2\1\x80\5",
b"\x80\n\xc3\1\xa4\1\xc3\2\x84\2\xc0\1\xa4\1\x80\r\xc3\6\x9b\1\x87\1\x84\1\xc3\5\xb5\1\xba\1\xc3\2\x80\1\xd3\1\x80\25\xc3\6\xa4\1\xc3\2\xbb\25\xb6\1\x80\17\xbb\3\xc5\1\xa7\1\xa8\1\x80\1\x98\v\xc3\1\x98\1\x9d\1\xcf\1\x80\5\xa8\1\xb2\1\x80\23\xc3\b\xc5\1\xc0\1\xc3\a\x98\1\x9d\1\x80\4\x84\1\x87\1\x80\v\xc1\1\xb6\1\x80\6\xa7\1\xc3\1\xa4\1\xc3\4\xa4\1\xc3\2\xa4\1\x80\3\x84\1\x87\1\x84\1\x80\17\xc3\4\xa3\1\x84\2\xc3\1\x80\r\xcf\1\x84\3\xa8\1\x80\37\xc3\2\x84\2\x9b\1\xc3\1\xbb\3\xa6\1\x80\b\xa6\1\xc3\6\xbb\1\x80\6\xc3\2\x87\1\x84\2\xc3\2\xa4\1\x80\5\x84\1\x87\1\xba\1\xc3\a\x84\3\xc3\6\x84\3\xc3\1\xa4\1\x80\a\xa4\2\xc3\1\xcf\1\x80\5",
b"\x80\n\xc3\3\xc5\1\x84\2\xc3\2\xb2\1\x80\f\xc3\6\x84\2\x87\1\xc3\t\xb2\1\x80\24\xbb\1\xc3\a\xa4\1\xc3\1\xb6\1\xab\1\xb8\1\xbb\23\x80\20\xbb\2\xb8\1\x9f\1\xa9\2\x80\1\x98\b\xae\1\x98\3\x9d\1\xc3\2\x80\32\xa6\1\xc3\17\xae\1\xc3\1\xb6\1\x80\4\x84\2\xad\1\x80\23\xc3\v\xb2\1\x80\1\xb9\1\x84\2\x80\16\xa4\1\xc3\5\x87\1\x84\1\xbb\1\x80\16\x87\1\x84\2\xc5\1\x80\37\xc3\2\x84\1\x87\1\x84\1\xc3\2\xb8\1\xbb\1\xb6\1\x80\t\xc3\6\xbb\1\x80\6\xc3\2\x9b\1\x84\1\x87\1\xc3\3\xa4\1\x80\4\x84\1\x87\1\xc5\1\xc3\a\x87\1\x84\2\xc3\6\x84\3\xc3\2\x80\a\xc3\3\xb6\1\x80\5",
b"\x80\n\xb6\1\xc3\2\xa3\1\x84\1\x87\1\xc3\3\x80\v\xcc\1\xc3\6\x84\2\xc0\1\xc3\n\xd4\1\x80\21\xd5\1\xc3\v\x80\2\xbb\22\xb8\1\xbb\1\x80\20\xbb\2\x9f\1\xa9\1\x9f\1\x98\1\xae\1\x98\4\xae\3\x98\1\x9d\1\xae\1\x98\2\xc3\3\xcc\1\x80\32\xc3\21\x80\5\x9b\1\x84\2\x80\23\xc3\r\xab\1\x84\2\xc8\1\x80\r\xc3\6\x84\2\xb9\1\x80\17\x84\3\x80\37\xc3\2\x84\2\x87\1\xc3\3\xbb\1\xab\1\x80\t\xc3\6\xa6\1\x80\6\x9f\1\xc3\1\xc5\1\x84\2\xc5\1\xc3\3\x80\5\xc5\1\xc3\b\x87\1\x84\1\x87\1\xc3\6\xc0\1\x84\2\xc3\2\x80\a\xc3\3\xa8\1\x80\5",
b"\x80\v\xc3\2\x9b\1\x87\1\x84\1\xc3\4\x80\n\xc3\a\x87\2\xc3\f\xbb\1\x80\16\xb2\1\xc3\f\xab\1\x80\2\xbb\23\x80\20\xbb\5\xb4\1\x98\2\xae\4\x98\1\xae\1\x98\1\xae\1\xa6\1\x98\1\x9d\2\xae\1\xc3\1\xa4\1\xc3\1\x80\32\xc3\21\x80\6\x84\2\xa8\1\x80\23\xc3\f\xa4\1\x87\1\x84\1\xb2\1\x80\r\xc3\6\x84\2\xc5\1\x80\20\x87\1\x84\1\x80\36\xc3\3\xc0\1\x84\2\xc3\4\xa4\1\x80\a\xa6\1\xc3\a\xa6\1\x80\a\xc3\2\x84\2\xba\1\xc3\4\x80\4\xc3\t\xba\1\x87\1\x84\1\xc3\a\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\v\x92\1\xc3\1\x9b\1\x84\2\xc3\5\x80\t\xc3\a\x84\2\xc3\17\x80\t\xb2\1\xc3\r\xa4\1\xc3\1\x80\3\xbb\22\x92\1\x80\20\xbb\3\xb4\1\xae\1\xbb\1\xae\b\x92\1\x80\2\x9d\1\xc3\6\x80\32\xb2\1\xc3\20\x80\6\x87\1\x84\1\xcf\1\x80\23\xab\1\xc3\f\x84\2\xc3\24\x84\1\x87\1\xb6\1\x80/\xa4\1\xc3\3\x9b\1\x84\1\x87\1\xc3\24\x80\b\xc3\2\x84\2\xc3\6\xa4\1\x80\1\xc3\v\x84\2\xc0\1\xc3\5\xc5\1\x84\1\x87\1\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xa3\1\x84\1\x87\1\xc3\6\xd5\1\x80\5\xcc\1\xc3\b\x84\1\x87\1\xc3\21\xa4\1\xb2\2\xa4\1\xc3\22\x80\4\xbb\22\x80\20\xd0\1\xbb\5\xa6\1\xae\1\xa6\1\xb8\1\xae\2\x9d\1\xae\2\xb4\1\x80\2\xc3\a\xb6\1\x80\31\xcf\1\xc3\17\xbb\1\x80\6\x84\2\xcf\1\x80\24\xc3\v\xba\1\x84\2\xc3\24\x87\1\x84\1\xbe\1\x80-\xd6\1\xc3\5\x84\3\xc3\22\xa4\1\xc3\1\x80\b\xa6\1\xc0\1\x87\1\x84\1\xc3\23\x84\2\xc0\1\xc3\5\x9b\1\x84\2\xc3\2\x80\a\xc3\3\x80\6",
b"\x80\f\xc3\1\xc5\1\x87\1\x84\1\xc0\1\xc3\1\xc5\2\xc3\4\xbb\1\x80\3\xc3\t\x84\3\xc3\1\xc5\1\xc3\v\xc5\4\xc3\b\xc5\1\xc3\v\xd3\1\x80\4\xbb\22\x80\20\xbb\5\xae\2\xa6\1\x80\1\x9d\1\xa1\1\xae\2\x9d\1\xae\1\x80\3\xab\1\xc3\2\xc5\1\xc3\4\x80\31\xb2\1\xc3\17\x80\a\xb9\1\x87\1\xcf\1\x80\25\xc3\n\x84\2\xc0\1\xc3\23\xc0\1\x84\2\xc3\1\x80+\xb6\1\xc3\2\xc5\2\xc3\3\x84\1\x87\1\xba\1\xc3\1\xc5\1\xc3\17\xc5\1\xc3\1\xd3\1\x80\t\x84\3\xc3\6\xc5\2\xc3\v\x87\2\xc0\1\xc5\1\xc3\4\x84\2\x87\1\xc3\2\x80\6\xab\1\xc3\3\x80\6",
b"\x80\f\xab\1\xc5\1\xc0\1\x87\1\x84\1\xc3\b\xc5\2\xc3\1\xc5\1\xc3\b\xc0\1\x84\2\xc5\1\xc3\37\xc5\1\xc3\1\xa4\1\xc3\1\x80\6\xbb\22\x80\17\xbb\6\xb4\1\xa6\1\x80\2\xd7\1\x80\1\x96\1\xae\1\xb8\2\x80\4\xc5\1\xc3\1\xc5\6\x80\27\xcf\1\xc5\r\xc3\1\xc5\2\x80 \xc5\2\xc3\1\xc5\1\xc3\5\x84\1\x87\1\xc5\1\xc3\23\x87\2\x84\1\xc5\1\xc3\1\x80%\xa6\1\xc3\2\xc5\3\xc3\6\xc5\1\x84\2\xc3\2\xc5\1\xc3\16\xc5\2\x80\v\x84\1\x87\2\xc3\1\xc5\1\xc3\1\xc5\17\xc3\1\x9b\2\xc3\3\xc5\1\xc3\2\x84\2\xba\1\xc3\2\x80\6\xbb\1\xc3\3\x80\6",
b"\x80\r\xc5\2\x84\2\xc5\25\x87\1\x84\1\xba\1\xc5\37\xc3\2\xc5\1\xab\1\x80\6\xbb\21\x9f\1\xaa\1\x80\r\xd1\1\xbb\5\x9f\1\xd3\1\x80\5\xaa\1\xae\1\x80\6\xc5\a\xc3\2\x80\23\xd2\1\xd5\1\xc3\3\xc5\16\xcf\1\x80!\xa4\1\xc5\1\xa4\1\xc5\5\x84\1\x87\1\xc5\24\x84\2\x87\1\xc3\1\xc5\2\xd3\1\x80\37\xd4\1\xb2\1\xc5\1\xc3\1\xc5\f\xba\1\x84\2\xc3\1\xc5\21\x80\f\x84\2\xb2\1\xc5\25\xc3\1\xc5\5\x84\2\xc5\2\xc3\1\x80\6\xa4\1\xc5\3\x80\6",
b"\x80\r\xbb\1\xc5\1\x84\1\x87\1\xc5\25\x84\1\x87\1\xc0\1\xc5!\xd3\1\x80\a\xbb\1\x9f\1\xbb\21\x80\r\xbb\a\x80\6\x9d\1\x92\1\x80\6\xc5\n\xb2\1\xab\1\x80\16\x92\1\xc5\24\x80$\xab\1\xc3\1\xc5\4\x84\2\xc5\24\x84\2\x9b\1\xc5\6\x80\33\xb2\1\xc5\21\xba\1\x84\2\xc5\20\xbb\2\x80\f\x84\2\x92\1\x80\1\xa6\1\xc3\1\xc5\23\xc3\2\xc5\3\x87\1\x84\1\xc5\3\x80\6\xc5\4\x80\6",
b"\x80\16\xa4\1\x84\2\xba\1\xc5\24\x84\1\x87\1\xa3\1\xc5\37\xb6\1\x80\b\xbb\1\x9f\1\xbb\1\x9f\17\xbb\3\x80\v\xbb\1\x9f\6\xbb\1\x80\16\xaa\1\xc5-\x80'\xa4\1\xc5\3\x84\2\xc5\24\x84\2\x87\1\xc5\b\xb9\1\x80\26\xc5\25\x84\2\xc5\f\xa4\1\x9f\3\xbb\2\x80\f\x84\1\x87\1\xbb\1\x80\3\xb2\1\xc5\27\x84\2\xc5\3\xa6\1\x80\5\xc5\4\x80\6",
b"\x80\17\x84\2\xba\1\xc5\24\xba\1\x84\1\xa3\1\xc3\1\xc5\34\xbb\1\x80\n\x9f\25\xd2\1\x80\t\x9f\6\xbb\1\x9f\1\xd7\1\x80\17\xc5-\x80(\xa4\1\xc5\2\x87\1\x84\1\xc5\24\x9b\1\x84\2\xc5\a\xc3\1\xc5\2\xb7\1\x80\23\xc5\1\xb9\1\xc5\24\x84\2\xc5\t\xbb\1\x80\1\xaa\1\x9f\5\xbb\1\x80\f\x84\2\x87\1\x80\4\xa4\1\xc5\26\x84\1\x87\1\xc0\1\xc5\2\xa4\1\x80\4\xaa\1\xc5\4\x80\6",
b"\x80\17\xa6\1\xc50\xb9\1\xb2\1\xab\1\x80\16\xbb\1\x9f\1\xbb\1\x9f\23\x80\b\xbb\1\x9f\a\xbb\1\x80\20\xa4\1\xc5+\x80*\xc5\2\x9b\1\x84\2\xc5\24\x84\2\xc0\1\xc5\r\xb2\1\xaa\1\x80\r\xaa\1\xc5\26\x84\1\x87\1\x84\1\x9f\5\x80\5\xbb\1\x9f\3\xbb\2\x92\1\x80\f\xa4\1\x87\1\x84\1\x80\6\xc5\25\x84\3\xc5\3\x80\4\xa4\1\xc5\3\xa4\1\x80\6",
b"\x80\20\xc5-\xd7\1\x80\22\xaa\1\x9f\26\xbb\1\x80\5\xd7\1\xbb\1\x9f\a\xbb\1\x80\22\xbb\1\xc5(\xa4\1\x80,\xc5\2\x84\2\x9b\1\xc5\23\x84\3\xc5\22\xa4\1\xb2\2\xc5\36\x9b\1\x84\2\xbb\1\x9f\4\x80\5\x9f\4\xbb\1\x9f\1\xaa\1\x80\r\x87\1\x84\1\xc5\1\x80\6\xab\1\xc5\24\x84\1\x87\1\xc0\1\xc5\2\xd7\1\x80\3\xc5\4\xa6\1\x80\6",
b"\x80\21\xc5+\x80\24\xbb\1\x9f\27\xbb\1\xd8\1\x80\1\xd8\1\xaa\1\x9f\t\x80\24\xc5(\x80-\xc5\2\x84\3\xc5\23\x84\3\xc53\x9b\1\x87\2\x9f\5\x80\4\xaa\1\x9f\4\xbb\1\x9f\1\xd7\1\x80\r\x84\2\x9b\1\x80\b\xc5\23\x84\1\x87\1\xc0\1\xc5\2\x9f\1\x80\3\xc5\4\xaa\1\x80\6",
b"\x80\22\xc5(\xa6\1\x80\25\x9f%\x80\26\xc5%\xd9\1\x80/\xc5\1\x84\2\x87\1\xc5\23\x84\3\xc52\xb2\1\xc3\1\x84\2\x9f\1\xbb\1\x9f\3\x80\4\xbb\1\x9f\4\xbb\1\x9f\1\x80\16\x84\3\x80\a\x92\1\xc5\23\x87\2\x9b\1\xc5\3\x80\2\xd7\1\xc5\4\x80\a",
b"\x80\23\xc5'\x80\25\x92\1\x9f$\xd7\1\x80\27\xc5\"\x802\xa4\1\x84\3\xc5\23\x84\3\xc50\xa7\1\x9f\3\x87\1\x84\1\x9f\5\xd7\1\x80\3\x9f\a\x80\16\x84\3\x80\a\xc5\24\x87\2\x9b\1\xc5\3\x9f\1\x80\1\xc5\5\x80\a",
b"\x80\23\xc5&\x80\26\x96\1\x9f#\xd7\1\x80\30\xd7\1\xc5\37\xb8\1\x803\xa6\1\x9b\1\x84\2\xc5\23\xc0\1\x84\2\xc5/\xd7\1\x9f\4\x9b\1\x84\1\x9f\5\xda\1\x80\3\x9f\a\x80\16\xc5\1\x84\1\x87\1\x80\6\xd2\1\xc5\24\x87\1\x84\1\x9b\1\xc5\4\xd7\1\xc5\5\x80\a",
b'\x80\24\xc5$\x95\1\x80\26\xb8\1\x9f"\x92\1\x80\32\xa4\1\xc5\34\x9f\1\x806\xc5F\x80\3\x9f\v\x95\1\x80\2\xd7\1\x9f\a\x80\27\xa7\1\xc5 \x9f\1\x80\a',
b'\x80\25\xc5"\x80\30\xbb\1\x9f!\xbb\1\x80\34\xc5\32\xbb\1\x808\xc5D\xb2\1\x80\4\x9f\v\x96\1\x80\2\xa6\1\x9f\a\x80\27\xc5!\x95\1\x80\a',
b"\x80\25\xb2\1\xc5 \x80\31\xbb\1\x9f!\x80\35\xa4\1\xc5\30\xa4\1\x809\xc5C\x92\1\x80\5\x9f\v\x96\1\x80\2\x9f\b\x80\27\xc5!\x80\b",
b"\x80\26\xc5\37\x80\32\xa6\1\x9f \x80\36\xd7\1\xc5\27\x80;\xc5B\x80\a\x9f\v\xb8\1\x80\2\x9f\a\xb8\1\x80\27\xc5!\x80\b",
b"\x80\27\xc5\35\x80\33\x95\1\x9f\37\xb8\1\x80\37\xbb\1\xc5\25\xb8\1\x80;\xa4\1\xc5\22\xc6\1\xc5\1\xc6\1\xc5*\xb9\1\x80\b\x9f\v\xb8\1\x80\2\x9f\a\x96\1\x80\26\x95\1\xc5\35\xc6\1\xc5\2\xc6\1\x80\b",
b"\x80\27\xda\1\xc6\1\xc5\32\xa6\1\x80\33\xda\1\x9f\37\x80 \xda\1\xc5\25\x80<\xbb\1\xc5\16\xc6\2\xc5\1\xc6\1\xc5\2\xa4\1\x80\1\xc6\1\xc5(\x80\t\x9f\v\xbb\1\x80\1\xdb\1\x9f\a\x95\1\x80\26\x95\1\xc5\36\xc6\1\xc5\1\xa6\1\x80\b",
b"\x80\30\xc5\1\xc6\2\xc5\27\xc6\1\x80\35\x9f\37\x80!\xc5\25\x80=\xc5\16\xc6\1\xc5\2\x80\6\xc5&\xc6\1\x80\n\x9f\1\xb2\1\x9f\n\x80\1\x95\1\x9f\a\xda\1\x80\27\xc6\1\xc5\37\x80\t",
b"\x80\31\xc6\1\xc5\1\xc6\27\x80\1\xa4\1\xc5\2\xc6\a\x80\23\x96\1\x9f\36\x80!\xc6\25\x80=\xc6\16\xc5\2\x9f\1\x80\6\xa4\1\xc6%\x80\v\xb8\1\x9f\v\x80\1\xbb\1\x9f\a\x80\30\xc6\37\x80\n",
b'\x80\31\x9f\1\xc6\26\xc5\2\xc6\1\xc5\1\xc6\6\xc5\1\xc6\2\xa4\1\x80\23\x9f\2\xb2\1\x9f\33\x80!\xc6\23\xc5\1\xc6\1\x80=\xc6\20\xdc\1\x80\6\xda\1\xc6\1\xc5\1\xc6"\x80\f\x96\1\x9f\n\xbb\1\x80\1\x9f\b\x80\30\xc6\37\x80\n',
b"\x80\31\x95\1\xc6\26\xc5\1\xc6\1\xc5\1\xc6\f\x80\22\x9f\36\x80!\xc6\24\xc5\1\x80=\xc6\20\x80\b\xc6#\x9f\1\x80\f\x94\1\x9f\n\xb8\1\x80\1\x9f\b\x80\30\xc6\36\xc5\1\x80\n",
b"\x80\31\xdc\1\xc6%\x96\1\x80\21\x95\1\xb2\35\x80 \xdc\1\xc6\24\x80>\xb9\1\xc6\17\x80\b\xc6#\x80\r\x94\1\x9f\n\x96\1\x80\1\x9f\b\x80\30\xc6\37\x80\n",
b"\x80\31\xdc\1\xc6&\x80\22\xb2\1\x9f\1\xb2\33\x80 \x9f\1\xc6\24\x80>\xb8\1\xc6\17\x80\b\xb9\1\xc6\3\xc5\1\x80\2\xc0\1\xc6\32\xb2\1\x80\r\x96\1\x9f\n\x96\1\xdc\1\xb2\1\x9f\6\xb2\1\x80\30\xc6\1\xc5\1\xc6\34\xa4\1\x80\n",
b"\x80\32\xc6&\x80\22\xb8\1\xb2\34\x80 \xc6\24\xa1\1\x80?\xc6\17\x80\20\xc0\1\xc6\30\xc5\1\x80\16\xb8\1\x9f\1\xb2\t\x96\1\x94\1\xb2\a\xa7\1\x80\30\xc6\36\xdc\1\x80\n",
b"\x80\32\xc6\32\xc5\1\xb0\1\xda\1\xa7\1\xc6\t\x80\22\xdc\1\xb2\1\xa7\1\xb2\31\x80\37\xdd\1\xc6\24\x80@\xc6\17\xb0\1\x80\17\xb8\1\xc6\30\x80\17\x9f\1\xb2\n\xb0\2\xb2\b\x80\30\xc6\36\x80\v",
b"\x80\32\xc6\30\xc0\1\x80\6\xc6\b\x96\1\x80\22\xb2\1\x9f\1\xb2\31\x80\37\xb8\1\xc6\24\x80@\x9f\1\xc6\r\xc0\1\xa4\1\x80\20\xc6\30\x80\17\xa7\1\x9f\1\xb2\t\xb0\2\xb2\a\x9f\1\x80\27\xd2\1\xc6\36\x80\v",
b"\x80\32\xc6\30\x80\a\xa1\1\xc6\b\x80\23\xa7\1\xb2\31\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\xb0\1\x80\17\xb2\1\x9f\1\xb2\t\x9f\1\xb8\1\xa7\1\xb2\6\x9f\1\x80\27\xc6\36\x9f\1\x80\v",
b"\x80\32\xc6\30\x80\b\xc6\b\x80\23\xb8\1\xa7\1\xb2\6\xa7\22\x80\37\xc6\25\x80A\xc6\17\x80\20\xc6\27\x80\20\xb2\1\xa7\v\x9f\1\xa7\a\xb2\1\x80\27\xc6\36\x80\f",
b"\x80\32\xc6\30\xde\1\x80\a\xc6\b\xa1\1\x80\23\xa7\31\x80\37\xc6\25\x80A\xc6\20\x80\17\xc6\27\x80\20\xa7\f\xb2\1\xa7\b\x80\26\xd1\1\xc6\36\x80\f",
b"\x80\32\xc6\30\x94\1\x80\a\xb0\1\xc6\b\x80\23\xb4\1\xa7\30\x80\36\xdd\1\xc6\25\x80B\xc0\1\xc6\16\xb8\1\x80\16\xc6\26\xa4\1\x80\20\xa7\f\xb4\1\xa7\b\x80\26\xc6\36\x94\1\x80\f",
b"\x80\32\xc6\30\x9f\1\x80\b\xc6\b\x80\23\xdf\1\xa7\30\x80\36\xa7\1\xc6\24\xa4\1\x80B\xc6\16\xc0\1\xc6\1\xc0\1\x80\r\xc6\26\xa2\1\x80\20\xa7\25\x80\25\xb4\1\xc6\35\xa1\1\x80\r",
b"\x80\32\xc6\30\xa4\1\x80\b\xc6\b\xb0\1\x80\23\xa7\30\x80\36\xc6\25\xa7\1\x80B\xc0\1\xc6\20\xb0\1\x80\v\xb0\1\xc6\26\x80\21\xa7\25\x80\25\xc6\36\x80\16",
b"\x80\32\xa4\1\xc6\30\x80\b\xdf\1\xc6\b\x80\23\xa7\30\x80\36\xc6\25\x9f\1\x80C\xc0\1\xc6\20\xa4\1\x80\n\xc5\1\xc6\1\xc0\1\xc6\24\x80\21\xa7\25\x80\25\xc0\1\xc6\34\xb0\1\x80\16",
b"\x80\32\xa1\1\xc6\30\x80\t\xc6\b\xdf\1\x80\22\xa7\30\x80\36\xc6\25\xe0\1\x80D\xc6\21\xc0\1\x80\t\xc0\1\xc6\26\x80\21\xa7\24\xb4\1\x80\24\xc0\1\xc6\32\xc0\1\xc6\2\x80\17",
b"\x80\32\xa2\1\xc6\30\x80\t\xc6\b\xa1\1\x80\22\xa7\30\x80\36\xc6\25\x80E\xa4\1\xc6\22\xcd\1\x80\a\xc6\27\x80\21\xa7\24\xb4\1\x80\24\xc6\2\xc0\1\xc6\32\x80\20",
b"\x80\33\xc6\30\x80\t\xc6\b\xa7\1\x80\22\xa7\30\x80\36\xc6\25\x80F\xc6\23\xc0\1\x94\1\x80\4\xdf\1\xc6\27\x80\20\xe1\1\xa7\24\x9f\1\x80\23\xc6\34\xa2\1\x80\21",
b"\x80\33\xc6\30\x80\t\xc6\b\xc5\1\x80\22\xa7\30\x80\35\xe1\1\xc6\25\x80G\xa1\1\xc6\25\xa1\1\xc6\30\xb0\1\x80\20\xe1\1\xa7\24\xa1\1\x80\22\xc6\32\xad\1\xc6\2\x80\22",
b"\x80\33\xc6\30\x80\t\xc6\t\x80\22\xb4\1\xa7\27\x80\35\xa1\1\xc6\25\x80H\xc6\25\xe2\1\xc6\30\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xd0\1\xc0\1\xc6\31\xc0\1\xc6\1\x80\23",
b"\x80\32\xe1\1\xc6\27\xe2\1\x80\t\xad\1\xc6\b\x80\22\x90\1\xa7\27\x80\35\xc5\1\xc6\22\xe2\2\xc6\1\x80I\xc6\21\xad\1\xc6\33\x80\21\xe1\1\xa7\24\xa1\1\x80\21\xc6\1\xe2\1\xc6\32\x80\24",
b"\x80\32\xa7\1\xc6\30\x80\t\xc6\6\xe2\1\xc6\2\x80\22\xa2\1\xa7\27\x80\35\xc6\23\xe2\1\xc6\1\xa7\1\x80K\xc6*\xb4\1\x80\22\xa7\24\x90\1\x80\20\xe2\1\xc6\30\xad\1\xc6\2\xa4\1\x80\24",
b"\x80\32\xc5\1\xc6\30\x80\b\xa1\1\xc6\t\x80\22\xe1\1\xa7\27\x80\35\xc6\25\xa1\1\x80K\xa2\1\xc6)\xe1\1\x80\b\xe3\1\x80\t\xa7\24\x90\1\x80\17\xc5\1\xc6\31\xe2\1\xc6\1\xc0\1\x80\25",
b"\x80\32\xc5\1\xad\30\xe1\1\x80\a\xe2\1\xad\a\xc6\1\xa4\1\x80\23\xa7\27\x80\35\xe2\1\xad\24\x80N\xad(\xc3\1\x80\b\xc3\1\x80\t\xa7\24\x90\1\x80\16\x90\1\xc6\34\xa1\1\x80\25",
b"\x80\32\xa4\1\xad\30\xc5\1\x80\6\xa7\1\xad\a\xe2\1\xad\1\x90\1\x80\23\xa7\27\x80\35\xad\24\xe2\1\x80O\xe2\1\xad#\xe2\2\xad\1\xc3\1\x80\a\xc3\2\x80\1\xc3\1\x80\2\xc3\1\x80\4\xa7\24\xb0\1\x80\16\xad\33\xc6\1\xa7\1\x80\26",
b"\x80\32\xa1\1\xe2\30\xc6\1\x80\1\xa2\1\x80\1\xe4\1\x80\2\xe2\1\xc0\1\xe2\b\x80\24\xa7\27\xe3\1\x80\33\xe1\1\xad\1\xe2\22\xc6\2\x80O\x90\1\xc6\1\xe2#\xc6\1\xad\1\xc3\1\xdb\1\xe5\1\xe6\1\xd0\1\xdb\1\x99\1\xa1\1\xa4\1\xc3\1\x80\1\xc3\1\xb4\1\xe7\1\xc3\1\x80\4\xa7\24\x90\1\x80\f\xe3\1\xad\1\xe2\1\xc6\1\xe2\32\x80\27",
b"\x80\32\xe1\1\xe2\30\xc6\1\x80\1\xc3\1\x80\1\xa4\1\x80\2\xad\1\xc6\1\xe2\a\xa1\1\x80\24\xa7\27\xb0\1\x80\33\xa7\1\xe2\24\x97\1\x80P\x97\1\xc6\1\xe2!\xc6\1\xe2\1\xc5\1\xc3\6\xa4\1\xc3\3\xa2\1\xc3\1\xa4\1\xc3\2\x80\4\xa7\24\xa1\1\x80\f\xe2\35\xa7\1\x80\27",
b"\x80\33\xe2\31\xa1\1\xc3\1\x80\1\xc3\1\x80\1\xa7\1\xe2\1\xad\1\xe2\3\xad\1\xe2\2\xad\1\x80\25\xa7\30\x80\33\xe2\1\xad\1\xe2\23\x80S\xe2\2\xad\1\xe2 \xc3\v\x9d\1\xc3\5\x90\1\x80\1\xe1\1\xb4\1\xa7\23\xa1\1\x80\v\xc6\1\xe2\32\xc6\1\xe2\1\xad\1\x80\30",
b'\x80\17\x9c\1\x80\2\xd2\1\x80\6\x90\1\xa4\1\xe2\31\xa7\1\xc3\3\xd0\1\xad\1\xe2\1\xad\1\xe2\6\xa4\1\x80\25\xa7\30\x80\33\xe2\25\x80T\xe2"\xc3\22\x80\1\xa4\1\xa2\1\xa7\23\xa1\1\x80\n\xe8\1\xad\3\xe2\33\x80\30',
b"\x80\17\xc3\1\x80\2\xc3\1\x80\6\xc3\2\xad\1\xe2\30\xc3\4\xc5\1\xe2\b\xad\1\x80\26\xa7\30\x80\33\xe2\24\xc6\1\x80T\xa4\1\xad\1\xe2\37\xc6\1\xc3\21\x80\1\x90\1\xc3\1\x80\1\xa4\1\xa7\22\xa1\1\x80\t\xa2\1\xe2\1\xad\1\xe2\33\xad\1\x80\31",
b"\x80\17\xc3\1\xa4\1\x9d\1\xc3\1\x80\1\xc3\2\x80\3\xc3\2\xad\1\xe2\30\xc3\3\xc6\1\xc0\1\xe2\b\xa7\1\x80\26\xa7\30\x80\33\xe2\21\xad\1\xe2\2\x80U\xe7\1\xa4\1\xe2\2\xad\1\xe2\34\xc5\1\xc3\23\x80\2\xa7\2\xc3\1\xa4\1\xa7\17\x9f\1\x80\t\xad\1\xe2\35\x80\32",
b"\x80\17\xc3\4\xb4\1\xc3\2\x80\1\xc3\1\xa1\1\xa7\1\xc3\1\xc6\1\xad\1\xe2\27\xc3\3\xad\1\xe2\t\x80\27\xa7\t\xa4\2\xa7\r\xe1\1\x80\31\xd2\1\xe2\23\xc6\1\x80O\xc3\1\x9c\1\x80\6\xad\1\xe2\36\xc3\25\x80\1\xb0\1\xc3\2\xa4\1\xa7\20\x80\b\xe2\2\xad\1\xe2\33\xad\1\x80\2\xc3\1\xe6\1\xd2\1\x80\25",
b"\x80\n\xc3\1\x80\5\xc3\6\x80\1\xb4\1\xc3\3\xc6\1\xe2\1\xad\1\xe2\26\xc3\1\xc6\1\xad\1\xe2\t\x80\30\xa4\1\xa7\26\xa4\2\x80\31\xa7\1\xe2\24\x80O\xc3\2\x9c\1\x80\5\xc6\1\xe2\36\xc3\24\xa4\1\xb0\1\xc3\3\xa7\21\x80\a\xe2\2\xad\1\xe2\34\xb0\1\x80\2\xc3\1\xa4\1\xc3\2\x80\24",
b"\x80\n\xc3\2\x80\5\xc3\5\x9d\1\xa2\1\xc3\3\xc5\1\xe2 \xad\1\xe2\2\xa4\1\x80\30\xa7\4\xa4\1\xa7\4\xc3\2\xa7\2\xa4\1\xa7\2\xa4\1\xc3\1\xa7\1\xa4\2\xa7\2\xc3\1\xa4\1\xc3\1\x80\30\xad\1\xe2\23\xb4\1\x80O\xc3\3\x80\5\xc5\1\xad\1\xe2\35\xc3\30\xa7\2\xa4\1\xa7\3\xa4\1\xa7\1\xa4\1\xa7\2\xa4\2\xa7\5\x80\6\xad\2\xe2\36\x80\4\xc3\3\x80\24",
b"\x80\n\xc3\2\x80\4\xc3\f\xad\1\xe2 \xad\1\xe2\1\xe9\1\x80\b\xe3\1\x80\t\xb7\1\xa2\1\x80\4\xa4\1\xa7\1\xa4\a\xc3\2\xa4\5\xc3\4\xa4\3\xc3\3\xa2\1\x80\27\xe2\24\x80M\xd0\1\x85\1\x80\1\xc3\3\x80\2\xe6\1\x80\1\xb4\1\xc5\1\xad\1\xe2\34\xad\1\xc5\1\xc3\27\xa4\v\xc3\2\xa4\5\x80\6\xe2\37\xc0\1\xb0\1\x80\1\xea\1\xc3\4\x80\24",
b'\x80\a\xa7\1\x90\1\x80\1\xc3\2\x80\1\xa7\1\x80\2\xc3\v\xc5\1\xe2"\xa7\1\xc3\1\x80\1\xdf\1\x90\1\x80\4\xa4\1\xb4\1\x80\1\xdf\1\x80\6\x9d\1\xa7\1\xdf\1\x80\4\xa4\1\xa7\1\xa4\2\xc3\2\xa4\3\xc3\2\xa4\5\xc3\5\xa4\2\xc3\3\x80\30\xe2\1\xad\1\xe2\21\xc5\1\x80M\xc3\3\x9d\1\xc3\3\x99\1\xc3\1\x80\1\xc3\2\xe2\1\xad\1\xe2\35\xc6\1\xc3\25\xa4\2\xc3\2\xa4\1\xc3\2\xa4\4\xc3\3\xa4\1\xc3\2\xa4\2\x80\5\xad\1\xe2\36\xad\1\xc3\3\xa4\1\xc3\3\x9d\1\x80\24',
b"\x80\5\xb4\1\xc3\3\xb4\1\xc3\3\xa4\1\xc3\1\xa1\1\xc3\v\xc5\1\xe2\1\xad\35\xe2\1\xad\2\xa7\1\x90\1\xc3\1\xe1\1\xc3\2\x80\3\xa4\1\xc3\1\xb4\1\xe1\1\xc3\1\xa2\1\x80\5\xc3\2\x80\5\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\1\xa4\1\xc3\t\xa4\2\x80\27\xad\23\x80M\xc3\r\xad\35\xe2\3\xc3\34\xa4\1\xc3\6\xa4\1\xc3\3\xa4\1\x80\1\xb0\1\xa1\1\x80\2\xe2\37\xc5\1\xc3\n\xa1\1\xc3\2\xdf\1\x80\16",
b'\x80\1\x90\1\xc3\a\xa4\2\xc3\20\xe2\1\xad\1\xe2\1\xad\34\xe2\1\xad\2\xc3\3\xa7\1\xc3\a\xa7\1\xa2\1\xc3\2\x80\2\xe1\1\x80\2\xc3\2\xa2\1\x80\4\xa4\4\xc3\3\xa4\1\xc3\4\xa4\2\xc3\r\xd2\1\xc3\1\xa7\1\xe5\1\x80\22\xdb\1\xad\22\xe2\1\x80L\xc3\16\xad\35\xe2\3\xc6\1\xc3"\xa4\1\xc3\4\x9f\1\xa4\2\x80\1\xa2\1\xad\37\xa4\1\xc3\n\x9c\1\xc3\2\x80\17',
b"\xa1\1\xc3\32\xad\1\xe2\1\xad\36\xc6\1\xc3\r\xb4\1\xc3\2\xb0\1\xa4\1\xc3\1\x80\1\xa2\1\xc3\1\xa1\1\xc3\1\xdf\1\x80\3\xa4\2\xc3\31\xa4\2\xc3\1\x80\23\xa2\1\xad\23\x80K\xc3\17\xad\35\xe2\4\xc3(\xa4\2\xc3\1\xad\37\xe2\1\xc3\f\xa7\1\x80\20",
b"\xc3\33\xc6\1\xad\1\xe2\1\xad\33\xe2\1\xc3\30\x80\1\xb4\1\xc3\1\xa2\1\x80\1\xc3\2\xa4\1\xc3\33\x80\24\xa7\1\xad\23\x80J\xc3\2\xa4\1\xc3\r\xad!\xc6\1\xc3)\xc5\1\xe2\1\xad\37\xc3\f\x80\1\xdf\1\xe1\1\x80\16",
b'\xc3\33\xc5\1\xad\36\xc3\26\xc5\2\x80\1\xb4\1\xc3\2\xb4\1\x9d\1\xc3\35\xe4\1\xa2\1\x80\22\xc6\1\xad\23\x80I\xa1\1\xa4\1\xc3\17\xad"\xc3)\xc6\1\xe2\1\xad\37\xc3\16\x80\2\xe1\1\x80\f',
b'\xc3\34\xad\36\xc3\26\xc5\2\x80\1\x9d\1\xc3"\x80\2\xa1\1\x80\20\xe2\1\xad\22\xb9\1\x80H\xc3\22\xad"\xc5\1\xc3(\xe2\1\xad\37\xe2\1\xc3\16\x80\1\xc3\2\x80\f',
b"\xc3\34\xad\36\xc3\25\xc5\3\xc3$\x80\1\xb4\1\xc3\1\x80\2\xdf\1\xc3\2\x80\v\xad\23\xb2\1\x80G\xa7\1\xc3\22\xad#\xc3(\xad!\xc3\16\x80\1\xc3\2\xa7\1\x80\1\xdf\1\xa7\1\xc3\2\x90\1\x80\5",
b"\xc3\34\xad\35\xe2\1\xc3\25\xc5\2\xc3%\x80\1\xc3\2\xe7\1\x80\1\xc3\3\x80\n\xb0\1\xe2\1\xad\22\xa1\1\x80F\xe4\1\xc3\23\xad#\xc3(\xad!\xc3\16\xdf\1\xc3\3\xe3\1\xc3\4\xdd\1\x80\5",
b"\xc3\34\xad\35\xc0\1\xa4\1\xc3\23\xc5\3\xc3%\xb4\1\xc3\3\xdd\1\xc3\3\x80\n\xc6\1\xad\23\xb8\1\x80E\xa7\1\xc3\24\xad#\xc3(\xad!\xc5\1\xc3\24\xa4\1\xc3\1\x80\6",
b"\xc3\34\xad\35\xa4\1\xc3\24\xc6\3\xc3,\x94\1\xa7\1\x80\1\xc3\1\x80\a\xad\24\xb0\1\x80D\xb4\1\xc3\24\xad#\xc3)\xad!\xe2\1\xc3\24\xa4\1\xc3\3\x80\4",
b'\xc3\34\xad\35\xc3\25\xc6\3\xc30\x80\2\xdd\1\xa1\1\x80\3\xad\24\xb8\1\x80C\xe9\1\xc3\23\xc5\1\xad#\xc5\1\xc3)\xad"\xc3\31\xa1\1\xe3\1\x80\1',
b"\xc3\34\xad\34\xc5\1\xc3\25\xc6\2\xc5\1\xc34\x80\2\xdf\1\xad\1\xe2\1\xad\22\x80C\x9d\1\xc3\23\xe2\2\xad\1\xe2\3\xad\37\xc3*\xe2\1\xad!\xc3\31\xa7\1\x80\2",
b"\xc3\33\xc5\1\xad\2\xe2\30\xad\2\xc3\25\xc6\3\xc3\4\xc5\1\xc0\1\xc6\2\xc5\1\xc3*\xa4\1\xa1\1\x80\2\xc6\1\xe2\1\xad\1\xe2\17\xad\1\xe2\1\xad\1\x80B\xc3\24\xe2%\xa4\1\xc3*\xad\2\xe2 \xc5\1\xc3\30\xb0\1\x80\2",
b"\xc3\33\xad\2\xe2\31\xad\1\xc5\1\xc3\24\xc5\1\xc6\1\xc0\2\xc3\2\xc0\1\xc6\b\xc3\23\xc6\1\xc3\23\xa4\1\xb0\1\x80\3\xe2\23\xad\2\x80A\xb4\1\xa4\1\xc3\22\xad\2\xe2!\xad\2\xc5\1\xc3+\xad\2\xe2\36\xad\1\xe2\1\xc5\1\xc3\33",
b'\xc3\33\xe2\1\xad\1\xe2\31\xad\1\xc3\25\xc6\23\xc5\1\xc3\r\xc6\1\xc0\1\xc3\24\xa1\1\x80\3\xad\1\xe2\21\xad\1\xe2\1\x9f\1\x80@\xc3\23\xa4\1\xad\1\xe2\1\xad\1\xe2"\xc5\1\xc3,\xad\1\xe2\37\xad\2\xc6\1\xc3\30\xa4\1\xc3\2',
b'\xc3\33\xad\1\xe2\1\xad\31\xe2\1\xc3\24\xad\1\xc6\27\xe2\1\xc6\b\xe2\1\xc5\1\xc3\27\xa1\1\xa7\1\xe2\24\x80?\xa7\1\xc3\23\xc5\1\xad#\xe2\1\xad\2\xc3-\xad"\xc6\1\xc3\33',
b'\xc3\33\xad\3\xe2\31\xc3\23\xc5\1\xe2\30\xad\6\xe2\1\xc6\2\xc5\1\xc3\30\x80\1\xe2\1\xad\24\x80>\xc3\25\xad\2\xe2"\xad\2\xa4\1\xc3-\xad\2\xe2\36\xad\2\xc5\1\xc3\33',
b"\xc3\33\xad\34\xc3\22\xc6\1\xe2\32\xad\2\xe2\3\xad\1\xc5\1\xc3\31\xb4\1\xc5\1\xad\24\xa1\1\x80=\xc3\25\xad\1\xe2\1\xad#\xe2\1\xc3/\xe2\1\xad!\xc3\34",
b"\xc3\33\xad\34\xc3\22\xe2\1\xad\a\xe2\2\xad\1\xe2\1\xad\3\xe2\4\xad\1\xe2\t\xc5\1\xc3\34\xb0\1\x80\1\xad\25\x80=\xa1\1\xc3\24\xad%\xeb\1\xa4\1\xc30\xe2\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\21\xad\2\xe2\a\xad\1\xe2\2\xad\1\xe2\1\xad\1\xe2\1\xad\1\xe2\4\xad\1\xe2\b\xc6\1\xa4\2\xc3\34\xad\25\x80<\xd0\1\xc3\24\xad\1\xe2\1\xad%\xc31\xc6\1\xad \xc3\34",
b"\xc3\33\xad\33\xc6\1\xc3\17\xa4\1\xc0\1\xad\2\xe2\1\xad\b\xc6\1\xc3\n\xc6\1\xe2\3\xad\4\xe2\1\xc5\1\xc3\34\xad\26\x80<\xc3\24\xad\1\xe2\2\xad$\xc33\xad\37\xe2\1\xc3\34",
b"\xc3\32\xad\34\xc6\1\xc3\v\xa4\1\xc3\3\xad\v\xc6\1\xc3\17\xad\a\xc0\1\xc3\33\xad\25\xa4\1\x80;\xc3\24\xad'\xa4\1\xc33\xad\37\xc6\1\xc3\34",
b"\xc3\32\xe2\1\xad\33\xc6\1\xc3\16\xad\1\xe2\1\xad\n\xc3\21\xc6\1\xad\6\xc3\33\xad\25\x80;\xea\1\xc3\23\xc6\1\xad&\xc35\xc5\1\xad\36\xe2\1\xc3\34",
b"\xc3\31\xc5\1\xad\34\xc6\1\xc3\f\xc0\1\xe2\2\xad\t\xc3\22\xa4\1\xc3\1\xad\2\xe2\1\xad\2\xe2\1\xad\1\xc3\31\xad\26\x80;\xc3\24\xad&\xc37\xad\36\xe2\1\xc3\34",
b"\xc3\31\xad\1\xec\1\xad\33\xe2\1\xc3\v\xc6\1\xad\b\xe2\1\xad\2\xc3\26\xad\1\xe2\1\xad\4\xc0\1\xc3\27\xad\1\xe2\1\xad\23\xe2\1\xad\1\x80:\xc3\24\xad%\xeb\1\xc38\xc6\1\xe2\1\xad\35\xc3\34",
b"\xc3\31\xec\1\xeb\1\xad\34\xc3\n\xa4\1\xad\v\xc6\1\xc3\26\xad\6\xeb\1\xc3\27\xeb\2\xad\25\x809\x9f\1\xc3\23\xc5\1\xeb\1\xad#\xec\1\xc5\1\xc38\xc5\1\xad\36\xc3\34",
b"\xc3\30\xe2\1\xad\36\xc3\t\xc6\1\xeb\1\xad\n\xc3\30\xad\b\xa4\1\xc3\24\xad\1\xec\1\xad\23\xe2\1\xad\2\x809\xc3\23\xc5\1\xeb\1\xad$\xc6\1\xc3:\xad\34\xe2\1\xeb\1\xe2\1\xc3\33",
b'\xc3\30\xec\1\xad\35\xe2\1\xc3\b\xc5\1\xad\1\xeb\1\xad\a\xec\1\xe2\1\xc5\1\xc3\30\xad\2\xeb\1\xec\2\xad\3\xe2\1\xc3\21\xa4\2\xc3\1\xad\26\xe2\2\x808\xc3\20\xa4\1\xc3\3\xe2\1\xad"\xeb\1\xad\1\xc0\1\xc3;\xc6\1\xad\34\xeb\1\xad\1\xc3\33',
b"\xc3\27\xc5\1\xad\36\xe2\1\xc3\b\xad\1\xe2\1\xad\b\xe2\1\xad\1\xc3\31\xad\1\xeb\1\xad\1\xc6\2\xe2\1\xad\1\xec\2\xc3\23\xad\26\xe2\2\xa4\1\x807\xc3\22\xa4\1\xc3\1\xc5\1\xec\1\xad#\xe2\1\xc3=\xad\34\xeb\1\xe2\1\xc3\33",
b"\x80\27\x87 \x80\a\x84\2\x87\t\x84\1\x80\32\x87\3\x80\3\x87\2\x84\1\x80\22\x87\30\x84\1\x80K\x87&\x80>\x84\1\x87\33\x84\1\x87\2\x80\32",
b"\x80\26\x84\1\x87 \x80\6\x84\b\x87\1\x84\3\x80\33\x84\2\x80\5\x87\1\x84\2\x80\20\x87\32\x80J\x84\1\x87%\x80?\x87\1\x84\1\x87\34\x84\1\x80\32",
b"\x80\26\x87!\x80\5\x84\1\x87\1\x84\b\x87\1\x84\1\x80\33\x84\1\x87\2\x80\a\x84\1\x87\1\x80\16\x84\1\x87\2\x84\1\x87\26\xc7\1\x80H\x8e\1\x87%\x80A\x87\2\x84\1\x87\35\x80\31",
b'\x80\25\x84\1\x87 \x80\5\x87\1\x84\f\x80\33\x84\2\x80\b\x84\2\x87\1\x80\f\x84\1\x87\31\x84\2\x80G\x88\1\x84\1\x87\2\x84\1\x87"\x80B\x84\1\x87\34\x84\1\x87\2\x80\30',
b"\x80\25\x87\36\x84\1\x87\1\x80\5\x84\v\x87\1\x84\1\x80\33\x84\2\x80\n\x87\2\x80\v\x87\35\x80F\x84\1\x87\6\x84\2\x87\33\x84\2\x87\1\x80C\x87\1\x84\1\x87\37\x80\27",
b'\x80\25\x87\37\x80\5\x87\1\x84\f\x80\33\x84\2\x87\1\x80\f\x84\1\x87\1\x80\a\x87 \x80D\x84\1\x87\2\x84\1\x87"\x80\v\xed\n\xb7\1\x80/\x84\1\x87 \x80\27',
b"\x80\24\x84 \x80\4\x88\1\x84\r\x80\33\x84\2\x80\r\x84\2\x80\6\x87\1\x84 \x80C\x84\b\x87\1\xcd\1\x87\1\x84\33\x80\t\xed\1\xd5\1\xd4\1\xd5\b\xd4\1\xd5\4\x80-\x87\1\x84\37\x87\1\x84\1\x80\26",
b"\x80\24\x84\37\x80\4\x84\r\x87\1\x80\34\x84\2\x80\16\x84\2\x80\3\xcd\1\x87\1\x84\22\x87\1\x84\2\x87\1\x84\v\x80B\x88\1\x84\b\xd5\3\x84\32\x80\6\xe8\1\xd5\26\x80*\x84\6\x87\2\x84\33\x80\25",
b'\x80\23\x87\2\x84\36\x80\3\x84\17\x80\33\x84\3\x80\17\x84\2\x80\1\x84\2\x87\1\x84"\x80A\x84\2\x87\1\x84\6\x87\1\xd5\2\xcd\1\x84\30\x80\3\xd5\35\x80(\x84$\x80\24',
b"\x80\23\x84 \x80\1\x84\16\x87\1\x84\1\x80\34\x84\3\x80\20\x84\1\x87\1\x84%\x80@\x84\v\xd5\3\xcd\1\x84\22\x87\1\x84\1\xcd\2\xd6\1\xd5!\x80'\x87\1\x84#\x87\1\x80\23",
b"\x80\23\x84\35\x87\1\x84\2\x87\1\x84\20\x80\34\x88\1\x80\22\x84'\x80?\x87\1\x84\f\xee\1\xd5\4\xcd\2\xc7\1\xcd\5\xee\2\xd6\1\xd5*\xd6\2\xd5\1\x80$\x8e\1\x84'\x80\21",
b'\x80\22\x8e\1\x84\1\x87\1\x84\35\x87\1\x80?\x84(\x87\1\x80>\x84\1\x87\1\x84\t\x87\3\xc7\1\xd6\1\xd5\3\xd6\1\xd5\t\xd6\1\xd5)\xd6\2\xef\1\xd6\1\xd4\1\x80"\x87\1\x84\1\x87\1\x84$\x87\1\x84\1\x80\20',
b"\x80\22\x87\1\x84 \x80?\x84)\x87\1\x80<\x87\1\x84\17\x87\1\xd6\2\xd5\1\xd64\xee\4\xd6\2\x80!\x84'\x87\3\x80\17",
b"\x80\22\x84\36\x87\1\x84\1\x88\1\x80>\x84*\x87\1\x80<\x84\22\x87\1\xee<\x80\37\x87\1\x84+\x80\16",
b"\x80\21\x87\1\x84 \x80>\x84\1\x87\1\x84*\x80;\x87\1\x84\22\x87\3\xee<\x80\33\x84\1\x87\2\x84,\xcd\1\x80\f",
b"\x80\21\x84\37\x87\1\x84\1\x80>\x84\1\x87\1\x84*\x80;\x84\27\x87\1\xee;\x80\32\x840\x80\f",
b"\x80\20\x84 \x87\1\x84\1\x87\1\x80<\x87\1\x84,\x80;\x84\32\x87\2\xcd\3\xee6\x80\27\x842\x80\v",
b"\x80\20\x84\1\x87\1\x84\37\x87\1\x84\1\x80<\x87\1\x84-\x809\x84\35\x87\1\xcd\1\xee\23\xcd\1\xee\2\xcd\1\xee\1\xcd\1\xee\1\xcd\2\xee\1\xcd\1\xee\2\xcd\2\xee\22\xcd\2\xee\1\xcd\1\x80\25\x844\x88\1\x80\t",
b"\x80\17\x84$\x87\1\x80;\x84.\x809\x84\36\xee\1\xcd\1\xee\31\x80\4\xe9\1\xee\1\xcd\1\xee\30\x80\24\x87\1\x843\xf0\1\x80\t",
b"\x80\17\x84$\x87\1\x80:\x84.\x80:\x84\32\x87\1\x84\2\xee\1\xcd\f\xee\1\xcd\5\x80\22\xcd\27\x80\22\x87\1\x84\1\x87\1\x843\x87\1\x80\b",
b"\x80\16\x87\1\x84%\x87\1\x808\x84/\x8e\1\x808\x84\35\xcd\20\x80\30\xcd\27\x80\20\x847\x80\b",
b"\x80\16\x87\1\x84$\x87\3\x807\x84/\xcd\1\x808\x84\33\x87\1\xcd\17\x80\33\xcd\27\x80\17\x84\1\x87\2\x843\x87\1\x84\1\x80\a",
b"\x80\r\x84)\xc7\1\x806\x84/\x88\1\x808\x84\f\xec\a\x84\b\xc7\1\xcd\r\x80\37\xcd\26\x80\r\x849\xcd\1\x80\6",
b"\x80\r\x84,\x803\x84\f\x87\3\x84\20\xec\2\x84\a\xec\a\x84\2\x807\x87\1\x84\t\xec\17\x84\2\x87\1\xcd\r\x80!\xee\1\xcd\26\x80\n\x84\4\xec\v\x84\24\xec\2\x84\r\xec\1\x84\1\xec\2\x84\5\x80\6",
b"\x80\f\x84\f\xec\20\x84\t\xec\4\x84\5\x802\x84\v\x87\5\x84\b\xec\31\x807\x84\a\xec\23\x84\1\xcd\16\x80#\xcd\25\x80\n\x84\1\xec\34\x84\4\xec\4\x84\f\xec\n\x80\6",
b"\x80\v\x88\1\x84\b\xec\27\x80\3\xf0\1\x84\2\xec\n\xdb\1\x80/\xf1\1\xec\a\x84\3\xc7\1\x87\2\x80\3\xc7\1\x84\2\xec\36\x807\xec\32\xcd\22\x80!\xcd\25\x80\t\xec%\x84\n\xec\f\x80\6",
b"\x80\v\xec \x80\6\xed\1\xec\v\x80-\xec\t\x84\1\x87\1\xc7\1\x87\1\x80\a\xec \x804\xec\34\xcd\r\xec\1\xcd\a\x80\37\xcd\25\xcc\1\x80\6\xec%\x80\n\xec\r\x80\6",
b"\x80\n\xec!\x80\a\xcd\1\xec\n\x80-\xec\t\xcd\3\x80\b\xec \x803\xec\33\xcd\17\xec\3\xcd\a\x80\36\xcd\25\x80\6\xec%\x80\v\xcd\1\xec\v\x80\6",
b'\x80\t\xec"\x80\b\xcd\1\xf1\1\xec\n\x80+\xec\t\xcd\2\x80\n\xec \x801\x9e\1\xf2\1\xec\31\xcd\17\xec\a\xcd\6\x80\35\xcd\25\x80\4\xec&\x80\f\xec\f\x80\5',
b"\x80\t\xec\17\xcd\a\xec\f\x80\b\xcd\3\xec\t\x80+\xec\b\xcd\2\x80\v\xec\25\x80\2\xec\t\x800\xec\f\xad\1\xec\2\xd5\1\xf3\1\x80\a\xec\4\xcd\17\xec\t\xcd\6\xd2\1\x80\33\xcd\25\xf4\1\x80\2\xec&\x80\r\xec\v\x80\5",
b"\x80\b\xec\r\xcd\v\xf5\1\xec\n\x80\t\xcd\3\xec\t\x80)\xb7\1\xec\a\xcd\3\x80\v\xec\24\x80\3\xec\n\x80.\xec\r\xb7\1\xcd\3\x80\t\xec\2\xcd\20\xec\v\xcd\6\x80\33\xcd\25\x80\1\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\b\xec\n\xcd\3\x80\2\xcc\1\xd1\1\xcd\b\xec\n\x80\t\xcd\4\xd6\1\xec\a\x80)\xec\a\xcd\3\x80\f\xec\22\x80\6\xec\t\x80-\xec\f\xcd\4\x80\v\xec\1\xcd\20\xec\16\xcd\a\x80\30\xcd\26\xec'\x80\16\xcd\1\xec\t\x80\5",
b"\x80\a\xec\t\xcd\3\x80\n\xcd\5\xec\n\x80\t\xcd\4\xec\b\x80(\xec\6\xcd\3\x80\r\xec\16\xcd\4\x80\a\xec\t\x80,\xec\v\xcd\4\x80\f\xcd\21\xec\21\xcd\t\xd2\1\x80\23\xcd\26\xec&\x80\17\xee\1\xec\b\x80\5",
b"\x80\a\xec\b\xcd\3\x80\3\xb7\1\x80\b\xcd\4\xec\n\x80\n\xcd\4\xec\b\x80&\xec\a\xcd\3\x80\r\xec\v\xee\1\xcd\6\x80\a\xec\t\x80+\xec\v\xcd\4\x80\r\xcd\21\xec\23\xcd\v\x80\21\xcd\25\xec\22\x80\2\xec\22\x80\17\xcd\1\xee\1\xec\a\x80\5",
b"\x80\a\xec\a\xcd\3\x80\1\xd0\1\x80\2\xea\1\x80\3\xe7\1\x80\4\xcd\5\xec\n\x80\t\xcd\5\xec\a\x80&\xec\a\xcd\3\x80\f\xcd\1\xec\b\xcd\3\x80\1\xcd\6\x80\b\xec\t\x80)\xec\n\xcd\5\x80\r\xcd\22\xec\26\xcd\f\x80\16\xcd\25\xec\5\x80\4\xec\a\xcd\1\xee\1\x80\4\xec\16\xef\1\xcd\2\x80\r\xcd\2\x8e\1\xec\6\x80\5",
b"\x80\6\xec\a\xcd\3\x80\5\xd4\1\x80\4\xd4\1\x80\3\xcd\6\xec\t\x80\t\xcd\6\xec\a\x80$\xec\a\xcd\4\x80\v\xcd\2\xec\6\x80\2\xcd\3\x80\2\xcd\5\x80\b\xec\t\x80(\xec\n\xcd\1\xd4\3\x80\16\xcd\23\xec\31\xcd\f\xe7\1\x80\v\xcd\25\xec\3\x80\6\xec\5\x80\1\xcd\2\x80\4\xe7\1\xee\1\xec\f\xcd\3\x80\r\xcd\2\x80\2\xec\5\x80\5",
b"\x80\6\xec\6\x80\1\xcd\3\x80\1\xe8\1\x80\3\xea\1\x80\4\xd5\1\x80\3\xcd\a\xec\t\x80\t\xcd\3\xd5\1\xcd\1\xec\a\x80 \xea\1\xe8\1\x80\2\xec\a\xcd\3\x80\v\xcd\3\xec\5\x80\3\x8e\1\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80&\xec\n\xcd\3\xe8\1\xe7\1\x80\r\xea\1\xcd\23\xec\34\xcd\6\xec\1\xcd\4\x80\n\xcd\26\xec\1\x80\a\xec\5\x80\1\xcd\1\x8e\1\x80\4\xcd\2\xec\v\x80\1\xcd\4\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\6\xea\1\xcd\2\x80\2\xef\1\x80\4\xe5\1\x80\3\xef\1\x80\2\xd4\2\xcd\5\xe7\1\xe5\1\xec\b\x80\t\xcd\3\xef\1\xcd\1\xea\1\xec\a\x80#\xec\6\xcd\4\x80\2\xef\2\xd5\1\x80\6\xcd\2\xec\6\x80\4\xcd\2\x80\2\xcd\5\x80\t\xec\t\x80\v\xe9\1\x80\31\xec\n\xcd\4\x80\2\xe9\1\x80\f\xcd\f\x80\2\xcd\6\x80\1\xec\37\xcd\2\xec\2\xcd\5\xe4\1\x80\b\xcd\26\x80\6\xec\5\x80\1\xcd\2\x80\5\xcd\2\x80\1\xec\t\x80\3\xcd\3\x80\f\xcd\3\x80\2\xec\4\x80\5",
b"\x80\6\xec\5\x80\1\xcd\3\x80\1\xe4\1\x80\5\xee\1\x80\3\xee\1\x80\1\xcd\1\xd5\1\xd4\1\xcd\5\x80\2\xec\n\x80\b\xcd\2\xd4\1\xcd\2\x80\1\xec\a\x80!\xec\a\xcd\3\x80\6\xef\1\x80\5\xcd\2\xec\5\x80\5\xcd\2\x80\3\xcd\5\x80\b\xec\t\x80\v\xee\1\x80\30\xec\t\xcd\3\xd4\1\xcd\2\x80\2\xee\1\x80\2\xee\1\x80\t\xcd\r\x80\1\xcd\6\x80\2\xec\n\x80\1\x8e\1\xec\25\xee\1\xec\1\xcd\6\x80\b\xcd\26\x80\1\xe4\1\x80\3\xec\4\x80\2\xcd\1\x80\6\xcd\2\x80\2\xec\a\x80\4\xcd\3\x80\f\xee\1\xcd\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\6\x80\1\xcd\3\x80\a\xee\1\xe4\1\x80\2\xe4\1\x80\1\xcd\1\xef\2\xcd\4\x80\3\xec\1\x80\1\xec\b\x80\b\xcd\5\x80\2\xec\6\x80!\xee\1\xec\6\xcd\3\x80\v\xcd\2\xd4\1\xec\1\xee\1\xec\2\x80\6\xcd\2\x80\3\xcd\5\x80\a\xe4\1\x80\1\xec\b\x80\v\xee\1\x80\27\xec\n\xcd\3\xee\1\xcd\2\x80\17\xcd\24\x80\2\xec\b\x80\3\xcd\3\x80\2\xec\20\xad\1\xee\1\xec\4\xcd\4\x80\a\xcd\26\xef\1\x80\3\xec\5\x80\1\xcd\1\x80\a\xcd\2\x80\2\xec\4\xf6\1\xec\2\x80\4\xcd\3\x80\f\xcd\1\xee\1\x80\4\xec\3\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\a\xee\2\x80\3\xd4\1\xcd\1\xd5\1\xee\1\xcd\3\x80\4\xec\1\x80\2\xec\b\x80\a\xcd\2\xd4\1\xcd\2\x80\2\xec\6\x80\30\xe9\1\x80\3\xee\1\x80\4\xee\1\xec\5\xcd\4\x80\6\xee\1\x80\4\xcd\2\xec\2\xcd\1\xee\1\xec\1\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\t\x80\1\xee\1\x80\b\xee\1\x80\n\xee\1\x80\5\x8e\1\x80\4\xec\1\x80\1\xec\6\x80\3\xec\1\xcd\3\xee\1\xcd\2\x80\1\xee\1\x80\4\xee\1\x80\a\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\2\xec\6\x80\4\xcd\4\x80\5\xec\r\xee\2\xec\t\xcd\1\x80\6\xcd\26\x80\2\xec\5\x80\2\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\xec\1\x80\5\xcd\2\xee\1\x80\v\xee\1\xcd\2\x80\5\xec\2\x80\5",
b"\x80\5\xec\5\x80\2\xcd\3\x80\2\xef\1\x80\4\xee\2\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\2\x80\a\xec\2\x80\1\xec\a\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xef\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\4\xee\1\xec\1\xcd\4\x80\v\xcd\2\xec\5\x80\6\xcd\2\x80\3\xcd\5\x80\a\xee\1\x80\1\xec\4\x80\2\xec\3\x80\n\xee\1\x80\v\xee\1\x80\4\xee\1\x80\4\xec\a\x80\4\xec\1\xcd\3\xd5\1\xcd\1\xe5\1\xef\2\x80\f\xcd\b\x80\1\xcd\4\x80\1\xcd\a\x80\1\xec\6\x80\5\xcd\4\x80\a\xec\b\x80\2\xe4\1\xee\1\xcd\1\xec\f\x80\5\xcd\26\xec\5\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\xf6\1\x80\6\xcd\2\xef\1\x80\2\xe5\1\x80\b\xee\1\xcd\2\x80\5\xec\2\x80\1\xe4\1\x80\3",
b"\x80\4\xec\6\x80\2\xcd\3\x80\2\xe4\1\x80\4\xee\1\xef\1\x80\2\xcd\1\xee\1\xcd\1\xd4\1\xee\1\xcd\1\xee\1\x80\a\xec\2\x80\1\xe4\1\xec\6\x80\a\xcd\1\xee\1\xcd\2\x80\2\xec\a\x80\f\xee\1\x80\n\xe9\1\x80\3\xee\1\x80\3\xee\1\xec\5\xe8\1\xcd\4\x80\5\xee\1\x80\5\xcd\2\xef\1\xec\4\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\xee\1\xef\1\xe4\1\xee\1\x80\20\xe5\1\x80\4\xec\6\x80\5\xec\1\xcd\5\x80\1\xee\1\xef\1\x80\v\xcd\b\x80\2\xcd\4\x80\1\xcd\b\xec\5\x80\6\xcd\4\x80\b\xec\6\x80\3\xee\1\xef\1\xcd\2\x80\4\xec\n\x80\3\xcd\26\xec\3\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\4\x80\1\xef\1\xee\2\x80\3\xcd\2\x80\b\xe9\1\x80\2\xee\1\xe4\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\6\x80\1\xcd\4\x80\6\xee\2\x80\2\xcd\2\xef\1\xcd\2\xee\1\x80\4\xee\1\x80\2\xe9\1\x80\1\xec\2\x80\3\xec\5\x80\6\xe4\1\xcd\5\x80\1\xec\1\x80\1\xec\5\x85\1\x80\v\xef\1\x80\2\xef\1\x80\a\xef\1\xe4\1\x80\5\xad\1\xee\1\xec\5\x80\1\xcd\3\xea\1\x80\5\xef\1\x80\5\xcd\2\xe8\1\xec\2\xef\1\xec\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xee\1\x80\1\xec\4\x80\2\xec\4\x80\5\xee\1\x80\3\xef\1\x80\f\xe4\1\x80\b\xec\6\x80\5\xec\1\xcd\2\xee\1\xcd\2\x80\1\xee\2\x80\t\xcd\n\x80\2\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\b\xec\6\x80\3\xee\2\xcd\2\x80\a\xec\b\x80\2\xcd\22\xef\1\xcd\4\xef\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\4\xe4\1\xef\1\x80\2\xcd\2\x80\3\xee\1\x80\4\xef\1\x80\2\xee\1\xea\1\xcd\1\x80\5\xec\2\x80\5",
b"\x80\4\xec\5\x80\2\xcd\3\xea\1\x80\3\xef\1\x80\2\xd5\1\xef\1\x80\2\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe4\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xe4\1\xe9\1\xcd\2\xef\1\xcd\2\x80\1\xe4\1\x80\2\xec\5\x80\v\xef\1\x80\n\xef\1\x80\2\xef\1\x80\3\xec\1\xad\1\xec\4\x80\2\xcd\3\xd0\1\x80\5\xef\1\x80\5\xcd\3\xec\3\xe5\1\x80\6\xcd\2\x80\4\xcd\4\x80\a\xef\1\x80\1\xec\4\x80\3\xec\4\x80\3\xd5\1\x80\21\xe9\1\xef\1\x80\2\xe9\1\x80\4\xec\5\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\b\xcd\v\x80\1\xcd\5\x80\2\xcd\6\xec\4\x80\a\xcd\4\x80\t\xec\5\x80\4\xef\1\xcd\2\x80\b\xcd\1\xec\b\x80\1\xcd\24\x80\1\xef\1\xcd\1\x80\5\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xef\1\x80\2\xcd\2\x80\b\xef\1\x80\2\xef\1\x80\1\xcd\1\x80\5\xec\2\xad\1\xec\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\xe7\1\x80\3\xef\1\x80\2\xef\1\x80\3\xcd\2\xef\1\xcd\2\xef\1\x80\4\xe5\1\x80\2\xef\1\x80\1\xec\2\x80\3\xec\6\x80\4\xef\1\x80\1\xe7\1\xcd\1\xd4\1\xcd\2\x80\4\xec\5\xe4\1\x80\n\xef\2\x80\t\xef\1\x80\2\xef\1\x80\3\xec\6\xe4\1\x80\1\xcd\3\xef\1\x80\5\xef\1\x80\5\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe5\1\xec\4\x80\3\xec\4\x80\3\xef\1\x80\3\xd5\1\x80\16\xef\1\x80\1\xef\1\x80\3\xec\a\x80\1\xec\1\x80\4\xec\1\xcd\2\xef\1\xcd\2\x80\2\xef\2\x80\2\xcd\1\x80\3\xe5\1\xcd\f\xe4\1\xcd\5\x80\2\xcd\6\xec\3\x80\b\xcd\4\x80\t\xec\5\x80\4\xd5\1\xcd\2\x80\b\xcd\3\xec\6\x80\2\xcd\24\xef\1\xcd\2\x80\4\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\x80\3\xe4\1\x80\2\xcd\1\xc8\1\x80\b\xe4\1\x80\2\xef\1\xd0\1\xcd\1\x80\5\xec\3\xad\1\x80\3",
b"\x80\4\xec\5\x80\2\xcd\3\x80\4\xd5\1\x80\2\xee\1\x80\3\xcd\2\xef\1\xcd\2\xd5\1\x80\6\xd5\1\xef\1\x80\1\xec\2\x80\3\xec\6\x80\a\xcd\2\xd4\1\xcd\1\xe7\1\x80\3\xec\6\x80\n\xef\2\x80\4\xef\1\x80\4\xef\1\x80\2\xef\1\x80\2\xec\2\xad\1\xec\4\x80\2\xcd\3\xe9\1\x80\5\xd5\1\xef\1\x80\4\xcd\3\xec\1\xad\1\xec\1\x80\a\xcd\2\x80\4\xcd\5\x80\6\xef\1\xe4\1\xec\4\x80\2\xe5\1\x80\1\xec\3\x80\3\xe9\1\x80\3\xef\1\x80\r\xd5\1\x80\2\xd5\1\x80\3\xec\a\x80\6\xec\1\xcd\1\xe8\1\xef\1\xcd\1\xe9\1\x80\2\xe5\1\xef\1\x80\2\xcd\1\x80\2\xcd\v\x80\2\xcd\b\x80\1\xcd\a\xec\2\x80\b\xcd\4\x80\n\xec\4\x80\4\xd5\1\xcd\2\x80\t\xcd\3\xec\6\x80\1\xcd\21\xef\2\xcd\1\xef\1\xcd\3\x80\3\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\1\xe9\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\x80\3\xee\1\x80\5\xef\1\x80\1\xef\1\xe5\1\xcd\1\x80\5\xad\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\2\xe9\1\xd6\1\xee\4\x80\2\xe7\1\xcd\2\xef\1\xcd\2\xe9\1\x80\6\xef\1\xe4\1\x80\2\xec\1\x80\3\xe5\1\xec\6\x80\6\xcd\2\xef\1\xcd\2\x80\4\xec\5\x80\n\xef\2\x80\1\xd5\1\x80\a\xef\1\x80\2\xef\1\x80\2\xec\a\x80\2\xcd\3\x80\6\xef\2\xe5\1\x80\3\xcd\3\xec\1\xad\1\xef\1\xe5\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xef\1\xec\5\x80\1\xe9\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xe5\1\x80\b\xef\1\x80\3\xe9\1\xef\1\x80\2\xec\a\x80\6\xec\1\xcd\1\xc8\1\xef\1\xcd\1\x80\4\xd5\1\x80\2\xcd\1\x80\1\xcd\f\x80\2\xcd\6\x80\2\xcd\b\xec\2\x80\b\xcd\4\x80\n\xec\5\x80\2\xef\2\xcd\2\x80\t\xcd\3\x80\2\xec\5\x80\1\xcd\17\xef\2\xcd\3\xef\1\xcd\4\x80\1\xcd\1\x80\a\xcd\2\x80\3\xec\3\x80\1\xef\2\x80\5\xcd\1\xef\1\x80\4\xee\1\x80\4\xef\1\x80\1\xe9\1\xe5\1\xcd\1\x80\3\xee\2\x80\1\xec\2\xad\1\x80\3",
b"\x80\3\xec\a\x80\1\xcd\3\x80\1\xd6\1\xee\1\xd6\1\xee\1\xd6\3\xee\1\xd6\1\xee\1\xd4\1\xcd\1\xef\1\xcd\2\xe4\1\x80\4\xef\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\6\xcd\2\xd4\1\xcd\2\x80\4\xec\6\x80\t\xee\2\x80\1\xee\1\x80\a\xd6\1\x80\2\xee\1\x80\1\xe4\1\xec\3\xee\1\xec\2\xd6\1\x80\2\xcd\3\xef\1\x80\6\xd6\1\xef\1\x80\3\xcd\3\xec\3\xef\1\x80\6\xcd\2\x80\4\xcd\5\x80\6\xe9\1\xec\5\x80\1\xef\1\x80\3\xec\3\x80\5\xe9\1\xef\1\x80\3\xef\1\x80\b\xef\1\x80\4\xef\1\xe4\1\x80\1\xec\a\x80\6\xcd\3\xef\1\xcd\1\x80\4\xef\1\x80\2\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\5\xee\1\x80\5\xec\4\x80\2\xd5\1\xef\1\xcd\2\x80\t\xcd\3\x80\2\xe4\1\xec\4\x80\1\xcd\17\xef\1\xcd\5\xef\1\xcd\5\x80\a\xcd\2\x80\3\xec\3\x80\1\xd5\1\xef\1\x80\2\xe4\1\x80\2\xcd\1\xef\1\xe5\1\x80\3\xef\1\x80\3\xe4\1\xee\1\x80\3\xcd\1\x80\2\xd6\1\xee\2\xd6\1\xec\2\xee\1\x80\3",
b"\x80\3\xec\a\xea\1\xcd\2\xee\17\xcd\2\x80\5\xee\1\x80\1\xef\1\x80\3\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xd4\1\xcd\3\xee\1\x80\3\xe4\1\xec\5\x80\t\xee\1\x80\2\xee\2\x80\6\xe4\1\x80\2\xee\1\x80\1\xec\4\xee\1\xec\2\xee\1\xe4\1\x80\1\xcd\3\xee\1\x80\6\xee\2\x80\3\xcd\3\xec\3\xee\1\x80\6\xcd\2\x80\4\xcd\5\xe5\1\x80\6\xec\6\xee\2\x80\3\xec\3\x80\2\xe9\1\x80\1\xe4\1\xee\1\x80\f\xe9\1\x80\5\xee\1\x80\1\xec\a\x80\1\xec\1\x80\3\xd1\1\xcd\3\xee\1\xcd\1\x80\3\xef\1\xee\1\x80\1\xe9\1\xee\2\xcd\v\x80\3\xcd\6\x80\2\xcd\t\xec\1\x80\b\xcd\4\x80\3\xef\1\xcd\2\x80\5\xec\2\xee\1\x8e\1\xe9\1\x80\1\xee\2\xcd\2\x80\3\xe5\1\x80\6\xcd\1\xd4\1\xcd\1\x80\3\xec\4\x80\1\xcd\16\xee\1\xcd\5\xee\1\xcd\6\x80\6\xcd\2\x80\3\xec\3\x80\1\xee\1\xef\1\x80\2\xe9\1\x80\2\xcd\1\xee\1\x80\3\xee\2\x80\3\xef\1\xee\1\x80\2\xe4\1\xcd\1\x80\1\xee\6\xec\2\x80\3",
b"\x80\3\xec\6\x80\1\xd1\1\xed\1\xcd\22\x80\1\xee\1\x80\2\xef\1\xe9\1\xe4\1\x80\4\xec\1\x80\4\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xcd\3\xee\1\x80\4\xec\5\x80\t\xee\1\x80\3\xee\1\x80\1\xee\1\x80\a\xee\1\xec\4\xee\2\xec\1\x80\1\xe4\1\xef\1\x80\1\xcd\3\x80\1\xee\1\x80\5\xee\2\x80\3\xcd\3\xec\4\x80\6\xcd\2\x80\4\xcd\5\x80\1\xe9\1\x80\1\xee\1\xe5\1\xe4\1\x80\1\xec\6\xe4\1\xee\2\x80\2\xec\3\x80\1\xe9\1\xe5\1\x80\2\xee\1\xe4\1\x80\3\xe9\1\x80\a\xee\1\x80\4\xee\2\x80\1\xec\5\x80\1\xcd\4\xee\1\x80\1\xec\1\xcd\3\xee\1\x80\3\xee\3\xef\1\xee\1\xcd\r\x80\3\xcd\6\x80\2\xcd\t\xec\1\xe5\1\x80\a\xcd\4\x80\2\xcd\4\x80\5\xec\3\xee\2\x80\1\xee\2\xcd\2\x80\n\xef\1\xee\1\xcd\1\x80\4\xec\4\xcd\36\x80\3\xcd\2\x80\2\xe9\1\xec\3\x80\1\xee\1\xe9\1\x80\2\xee\1\x80\2\xcd\1\xee\1\x80\2\xe5\1\xee\2\x80\3\xee\2\xef\2\xcd\1\xd6\1\xcd\b\x8e\1\xe9\1\x80\2",
b"\x80\2\xec\a\x80\1\xee\1\xcd\25\xef\1\x80\1\xef\1\xe5\1\x80\5\xec\2\x80\3\xec\6\x80\3\xee\1\x80\2\xcd\1\xee\1\xef\1\xcd\2\xee\1\xef\1\x80\3\xef\1\xec\5\x80\b\xcd\1\x80\3\xcd\1\x80\1\xee\1\x80\3\xe9\1\x80\3\xcd\1\xad\1\xec\1\xad\1\xec\1\xcd\2\xec\1\x80\2\xee\1\x80\1\xcd\3\x80\1\xcd\1\x80\4\xcd\2\xef\1\x80\3\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\4\xcd\5\x80\1\xcd\5\x80\1\xec\6\x80\1\x8e\1\xee\1\x80\2\xec\3\x80\1\xee\1\x80\3\xee\1\xef\1\x80\3\xe6\1\x80\a\xee\1\x80\3\xcd\1\xee\1\x80\1\xec\6\x80\1\xcd\a\xec\1\xcd\3\x80\3\xee\1\xcd\1\xee\1\xef\2\xcd\f\x80\3\xee\2\xcd\5\x80\1\xe9\1\xee\1\xcd\4\xee\1\xcd\b\xee\1\x80\3\xcd\4\x80\1\xcd\a\x80\3\xcd\1\xec\1\xad\1\xcd\2\xee\1\xcd\1\xee\1\xcd\2\xef\1\xcd\1\xef\1\x80\a\xcd\3\x80\4\xec\4\x80\1\xcd\35\x80\3\xcd\2\x80\2\xef\1\xec\3\x80\1\xee\1\x80\3\xee\1\x80\2\xcd\1\xee\1\x80\2\xee\1\xcd\1\x80\4\xcd\17\xee\1\x80\2",
b"\x80\2\xec\a\xcb!\xcd\1\x80\3\xec\6\x80\3\xcd\1\x80\2\xcd\5\x80\1\xcd\1\x80\4\xec\5\x80\a\x8e\1\xcd\1\x80\3\xe9\1\x80\1\xee\1\xe9\1\x80\2\xcd\1\x80\3\xcd\1\xec\3\xcd\3\xe6\1\x80\2\xcd\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xe6\1\xcd\2\x80\3\xe9\1\xcd\3\xec\3\xcd\1\x80\6\xcd\2\x80\3\xcd\6\x80\1\xcb\5\xe9\1\xec\6\x80\2\xcd\1\x80\3\xad\1\xec\2\xcd\1\x80\3\xcd\2\x80\f\xcd\1\x80\1\xee\1\xcd\1\x80\2\xe6\1\xec\1\xcd\1\xec\3\xcb\n\xcd\2\x80\3\xcd\2\xee\1\x8e\2\xcb\5\xcd\a\x80\3\xcd\a\x80\1\xcd\1\xe4\1\xee\1\xcb\17\x80\1\xcb\f\xcd\1\x80\2\xcd\2\xee\1\xcd\5\xd5\1\xee\1\xcd\2\x80\2\xe9\1\xee\1\xcd\1\x80\2\xcd\2\xd5\1\xcd\1\x80\5\xec\4\x80\1\xcd\6\xcb\t\xcd\a\xcb\5\xcd\1\x80\3\xcd\2\x80\2\xec\4\x80\1\xcd\1\x80\3\xef\1\x8e\1\x80\1\xcd\1\xee\1\x80\2\xcd\1\xee\1\x80\4\xcb\17\xcd\1\x80\2",
b"\x80\2\xec\4\xad\1\xcb\1\xf7\2\xf0\2\xf7\34\xf0\1\xc7\1\xf7\1\x8e\1\x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xcb\1\xcd\2\x80\1\xc7\1\x80\2\xe9\1\xc7\1\xec\6\x80\6\xc7\1\x80\4\x8e\1\x80\2\xe9\1\x80\1\xc7\2\x80\3\xc7\1\xcd\3\xc7\1\xcb\1\xcd\1\x80\3\xc7\1\xe4\1\xcd\3\x80\1\xc7\1\x80\3\xc7\2\xcd\1\x80\4\xcd\5\xcb\1\x80\a\xcd\2\x80\3\xc7\1\x80\1\xcd\3\xc7\1\xf0\1\xcb\1\xf7\4\xc7\1\xf0\1\xf7\1\xf0\1\xec\3\x8e\1\xcb\2\x80\3\xec\1\xcd\1\xc7\1\x80\4\xc7\1\xcb\1\x80\2\xcb\1\x80\b\xc7\1\xe6\1\x80\1\xc7\1\x80\3\xe6\1\xcd\1\xc7\1\xcd\2\xec\1\xc7\1\xf0\1\xf7\6\xcb\1\xf0\1\xf7\1\xc7\1\xf7\2\xcd\1\xc7\1\xcb\1\xcd\3\xf7\3\xf0\1\xcb\1\xf7\1\xf0\1\xcd\5\x80\3\xcb\1\xc7\1\xcd\4\x8e\1\xe6\1\xc7\1\xf7\17\xf0\1\xc7\1\xf7\2\xf0\1\xf7\v\x8e\1\x80\1\x8e\1\xcb\1\xc7\1\x8e\1\xcb\3\xc7\2\xcb\2\x80\1\xc7\2\xcb\1\xc7\1\x80\1\x8e\1\xcb\1\xc7\1\xee\1\xcd\3\x80\1\xcb\1\x80\2\xec\4\x80\1\xcd\5\xf0\1\xf7\6\xf0\1\xf7\3\xf0\2\xcb\2\xf0\1\xcb\1\xf7\4\xcb\1\xcd\1\x80\3\xcd\2\x80\2\xec\1\xc7\1\xec\2\xe6\1\xc7\1\x80\4\xcb\1\x80\1\xc8\1\xd5\1\x80\2\xcd\1\xc7\1\xcb\1\x80\3\xcb\1\xf0\1\xf7\16\xe6\1\x80\1",
b"\x80\1\xec\3\xc7\1\xf0\5\xf7\2\xf0 \x80\2\xec\6\x80\3\xc7\1\x80\2\xcd\2\xc7\1\xcd\2\x80\1\xc7\1\x80\2\xcd\1\x80\2\xec\5\x80\6\xc7\1\x80\4\xc7\1\x80\1\xe6\1\x80\2\xc7\1\x8e\1\x80\3\xc7\1\xcd\3\xc7\3\x80\3\xc7\1\xcd\4\x80\1\xc7\1\x80\3\xc7\2\x8e\1\x80\4\xcd\5\xc7\1\xf7\1\xf0\1\xf7\2\xf0\1\xc7\1\xe9\1\xcd\2\x80\3\xc7\1\x80\1\xcd\2\xf0\f\xf7\2\xec\1\xf0\1\xc7\1\xcd\1\x80\4\xcd\1\xc7\1\x80\4\xc7\2\x80\2\xc7\1\x80\b\xc7\1\x80\2\xc7\1\x80\3\x8e\1\xcd\1\xc7\1\xcd\2\xc7\1\xf7\2\xf0\6\xf7\1\xf0\a\xc7\2\xcd\1\xc7\1\xf0\a\xc7\1\xcd\4\x80\3\xc7\3\xcd\3\x80\1\xf0\1\xf7\2\xf0\1\xf7\1\xf0\r\xf7\1\xf0\16\xc7\1\xcd\1\x80\1\xc7\4\xf0\1\xc7\n\xe9\1\xc7\2\x8e\1\x80\1\xcd\3\x80\1\xcd\1\x80\3\xec\4\x80\1\xcd\2\xc7\1\xf0\27\xcd\2\x80\2\xcd\2\x80\2\xad\1\xc7\1\xad\2\x8e\1\xc7\1\xe6\1\x80\3\xc7\1\x80\1\xc8\1\xcb\1\xf0\1\xf7\1\xe6\1\xc7\2\xcd\1\xc7\1\xf0\21\xcd\1\x80\1",
b"\x80\1\xc7\1\xf0\1\xf8*\x80\1\xec\6\x80\3\xf0\1\x80\2\xcd\2\xf0\1\xcd\2\x80\1\x84\1\x80\2\xc7\1\x80\2\xf8\1\xc7\1\xec\2\xc7\2\x80\5\xf0\1\x80\4\xf0\1\x80\4\xf0\1\x80\4\xf0\1\xc7\1\x87\1\xc7\1\xf0\3\x80\3\xf0\1\xcd\4\x80\1\xf0\1\x80\3\xf0\2\xcd\1\x80\4\xcd\2\x8e\1\xcd\1\xc7\1\xf8\t\xf0\1\x80\2\xcd\1\xf0\1\x80\1\xf8\25\xc7\1\xcd\1\x80\2\xf0\1\x87\1\x80\3\xf0\2\xf8\a\xf0\1\x80\3\xf0\1\x80\2\xf0\1\xf8\3\xf0\1\xc7\1\xf0\1\xc7\2\xf8\24\xf0\1\xf8\a\xc7\1\xf0\1\xcd\2\xe9\1\x80\3\xf0\3\xc7\1\xf8#\xcd\1\x80\1\xf0\2\x87\1\xf0\v\xc7\1\x80\2\xf0\3\x80\2\xed\2\xd5\1\xf0\1\x80\4\x87\4\x80\1\xc7\1\xf0\1\xf8\30\x87\1\xc7\1\x80\2\xcd\2\x80\2\xc7\2\x87\2\x8e\1\xf0\1\xc7\1\x80\3\xf8\35\x80\1",
b"\xf9\1\xfa\2\xf9\t\xfa\1\xf9 \xfa\1\xec\6\x80\3\xf9\1\xfa\4\xf8\1\xd6\1\xee\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\x80\1\xf0\1\xfa\4\xf9\1\xfa\3\xf9\4\xfa\2\xf9\2\xfa\3\xf9\2\xfa\4\xf9\1\xfa\2\xf9\5\x80\2\xfb\1\x84\1\xcd\3\xef\1\xfb\1\x80\4\xfb\2\x80\5\xcd\2\x8e\1\x80\1\xf9\1\xfa\1\xf9\6\xfa\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\1\xfa\2\xf9\25\xfa\2\x80\1\x84\1\xfb\1\x84\1\x80\2\x84\1\xfa\2\xf9\t\xfa\4\xf9\1\xfa\3\xf9\1\xfa\1\xf9\1\xfb\1\xf9\1\xfa\1\xf9\1\xfa\1\xf9\20\xfa\1\xf9\t\xfa\2\xf9\2\xcd\1\x80\3\xf9\1\xf8\2\xf9!\xfa\1\xf9\1\x80\2\xf8\1\x80\1\xf8\f\xfb\1\xf8\3\xfb\1\xf8\1\xfb\1\xf0\1\x80\1\xf8\2\xf0\1\x80\5\x84\5\xf9\33\x84\1\x80\2\xd6\2\x80\2\x84\2\xfb\2\xf8\1\xf9\1\xfa\1\xf9\1\xfa\4\xf9\3\xfa\1\xf9\27\xfa\1",
b"\xfc\1\xfd\1\xfc\33\xfd\1\xfc\20\xec\4\xfa\1\xec\2\x80\1\xfc\a\xf0\1\xfe\1\xfd\1\xfc\5\xfa\1\xfd\1\xfc\r\xfd\1\xfc\t\xfd\1\xfc\5\xfd\1\xfc\4\xfa\1\xfb\1\xcd\4\xfa\1\x80\4\xfc\3\xfa\1\x80\3\xcd\2\x8e\1\xfc\v\xfd\1\xfc\33\xfd\1\x80\1\xfb\1\xfa\1\xfb\1\xfa\2\xfc\n\xfd\1\xfc\6\xfd\1\xfc\3\xfd\2\xfc \xfd\1\xfc\2\xfd\1\x80\2\xfc%\xfd\1\x80\3\xfa\30\xff\1\xfe\1\xcd\1\xfb\1\xfa\3\xfb\1\xfa\1\xfb\2\xfc\2\xfd\1\xfc\31\xfb\1\x80\2\xd6\2\x84\1\xfa\1\xfd\1\xfc\v\xfd\1\xfc\33",),
((0, 0, 0), (0, 107, 12), (0, 106, 21), (0, 67, 8), (0, 28, 0), (0, 59, 10), (6, 113, 19), (0, 33, 0), (4, 42, 0), (0, 99, 14), (0, 84, 17), (1, 91, 15), (6, 81, 6), (2, 28, 9), (2, 50, 0), (0, 91, 30), (4, 91, 43), (3, 42, 33), (0, 92, 67), (0, 76, 9), (1, 98, 60), (0, 98, 66), (1, 89, 59), (0, 100, 33), (0, 77, 18), (0, 98, 43), (0, 51, 8), (0, 34, 9), (0, 83, 31), (3, 66, 22), (63, 100, 1), (4, 73, 40), (0, 101, 24), (5, 83, 42), (0, 99, 49), (1, 42, 5), (0, 60, 33), (9, 65, 80), (5, 83, 59), (0, 67, 34), (0, 92, 82), (2, 74, 23), (9, 98, 72), (0, 91, 76), (0, 91, 23), (3, 34, 17), (0, 68, 17), (59, 91, 3), (0, 91, 49), (3, 84, 25), (0, 70, 42), (2, 89, 3), (0, 74, 34), (0, 59, 16), (0, 84, 65), (36, 84, 2), (0, 82, 47), (0, 52, 32), (0, 51, 15), (3, 77, 48), (1, 53, 44), (2, 64, 64), (0, 84, 76), (0, 65, 57), (0, 42, 13), (0, 65, 48), (6, 71, 75), (0, 57, 26), (6, 74, 67), (2, 51, 26), (2, 43, 25), (8, 34, 3), (36, 76, 0), (0, 58, 43), (0, 77, 75), (13, 36, 0), (46, 89, 0), (13, 43, 0), (0, 85, 82), (6, 75, 58), (28, 85, 2), (36, 91, 0), (40, 100, 0), (0, 98, 83), (23, 66, 2), (24, 59, 0), (25, 52, 0), (0, 110, 81), (50, 109, 0), (40, 97, 24), (0, 109, 75), (40, 115, 0), (0, 107, 67), (0, 114, 67), (40, 109, 0), (9, 107, 56), (26, 97, 30), (0, 111, 53), (1, 35, 23), (23, 108, 2), (13, 75, 1), (9, 81, 0), (2, 60, 3), (23, 99, 4), (26, 76, 3), (14, 67, 2), (25, 91, 0), (3, 28, 26), (0, 28, 16), (32, 66, 0), (13, 51, 1), (12, 58, 1), (3, 27, 0), (86, 152, 0), (41, 89, 17), (56, 130, 0), (73, 170, 0), (30, 73, 18), (8, 36, 14), (17, 28, 0), (6, 20, 0), (9, 9, 0), (2, 12, 0), (0, 17, 1), (1, 4, 0), (10, 3, 1), (24, 40, 0), (25, 36, 2))],
)

def draw_sprite_line(rle, nbits, x, y, dw, palette, **kwargs):
  '''affiche tout ou partie d'une ligne d'une image, avec :
  * arguments obligatoires :
  - rle : les donnees compressees RLE de l'image
  - nbits : le nombre de bits utilises pour la compression RLE
  - y : numero de la ligne a afficher
  - x et dw : position et longueur a afficher dans la ligne
  - palette : palette de couleurs indexee a utiliser
  * arguments nommes optionnels :
  - xmin et xmax : bornes horizontales pour tronquer l'affichage
  - itransp : index de la couleur transparente dans la palette
  - zoom : zoom a appliquer a l'affichage (entier)
  - cfond : couleur a utiliser a la place de la couleur transparente
  '''
  itransp, zoom, cfond, xmin, xmax = 0, 1, None, 0, L_ECRAN - 1
  if "xmin" in kwargs: xmin = kwargs["xmin"]
  if "xmax" in kwargs: xmax = kwargs["xmax"]
  if "itransp" in kwargs: itransp = kwargs["itransp"]
  if "zoom" in kwargs: zoom = kwargs["zoom"]
  if "cfond" in kwargs: cfond = kwargs["cfond"]
  x, y = round(x), round(y)
  dw *= zoom
  maskval, maskcnt = (1 << nbits) - 1, (255 >> nbits >> 1) << nbits
  i = 0
  while x <= xmax and dw > 0:
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if v & 128:
      i += 1
      c |= rle[i] << (7 - nbits)
    if c:
      w = c * zoom
      if (mv != itransp or cfond) and x + w >= xmin and x <= xmax:
        xf = max(xmin, x)
        draw_horiz(floor(xf), y, ceil(min(dw, min(w - xf + x, xmax - xf + 1))), mv != itransp and palette[mv] or cfond)
      x += w
      dw -= w
    i = (i + 1) % len(rle)

#---------
# COULEURS
#---------

C_LUKE, C_YODA = (96, 184, 243), (139, 235, 162)

def rgb2hsv(r, g, b):
  '''convertit une couleur donnee en coordonnees Rouge-Vert-Bleu (RGB) vers des coordonnees Teinte-Saturation-Valeur (HSV), avec :
  - r, g, b : les coordonnees rouge/vert/bleu (entier de 0 a 255)
  '''
  cmax = max(r, g, b)
  d = cmax - min(r, g, b)
  h = d and (cmax == b and (r-g)/d+4 or cmax==g and (b-r)/d+2 or cmax==r and ((g -b)/d)%6)
  s = cmax and d/cmax
  return h/60, s, cmax/255

def hsv2rgb(h, s=1, v=1):
  '''convertit une couleur donnee en coordonnees Teinte-Saturation-Valeur (HSV) vers des coordonnees Rouge-Vert-Bleu (RGB), avec :
  - h : la teinte (sur l'intervalle [0;60[)
  - s et v : les saturation et valeur (sur l'intervalle [0;1])
  '''
  h *= 6
  c = v * s
  x = c * (1 - abs((h % 2) - 1))
  r, g, b = h < 1 and (c, x, 0) or h < 2 and (x, c, 0) or h < 3 and (0, c, x) or h < 4 and (0, x, c) or h < 5 and (x, 0, c) or (c, 0, x)
  return [round((k + v - c) * 255) for k in (r, g, b)]

def gradient(start, end, progress):
  '''calcule un degrade de couleur en coordonnees HSV, avec :
  - start : couleur HSV de depart
  - end : couleur HSV de fin
  - progress : position de la couleur intermediaire (sur l'intervalle [0;1])
  '''
  return [start[i] + (end[i] - start[i]) * progress for i in range(3)]

#--------------------
# AFFICHAGE - GENERAL
#--------------------
# extension de la bibliotheque casioplot

L_ECRAN, H_ECRAN = 384, 192 # largeur et hauteur de la zone graphique
H_POLICE = {"small":10, "medium":14, "large":20} # hauteur des caracteres des polices
L_POLICE = {"small":8, "medium":12, "large":18} # largeur des caracteres numeriques des polices

def lnum(i):
  '''calcul la largeur d'affichage du nombre i en pixels'''
  return 1 + int(log10(max(1, i)))*L_POLICE[POLICE]

def draw_horiz(x, y, w, c):
  '''trace une ligne horizontale, avec :
  - x et y : les coordonnees de la borne de gauche
  - w : la longueur
  - c : la couleur
  '''
  for dx in range(w): set_pixel(x + dx, y, c)

def fill_rect(x, y, w, h, c):
  '''trace un rectangle plein, avec :
  - x et y : les coordonnees du coin superieur gauche
  - w et h : les largeur et hauteur
  - c : la couleur
  '''
  for dy in range(h): draw_horiz(x, y + dy, w, c)

#-----------------------
# AFFICHAGE - SPECIFIQUE
#-----------------------

def draw_surface_marais(y, xmin=0, xmax = L_ECRAN - 1):
  '''trace une ligne de la surface du marais, avec :
  * parametre obligatoire :
  - y : l'ordonnee
  * parametres optionnels :
  - xmin et xmax : les bornes horizontales
  '''
  x = 0
  seed(42 * y)
  while x <= xmax:
    c = hsv2rgb(120.6/360, 1, random())
    w = randint(1, L_ECRAN // 4)
    if x + w >= xmin and x < xmax:
      xf = max(xmin, x)
      draw_horiz(floor(xf), y, ceil(min(w - xf + x, xmax - xf + 1)), c)
    x += w

#-----
# MATH
#-----
# extension de la bibliotheque math

def sign(x):
  '''retourne le signe du nombre x, sous la forme -1, 0 ou 1'''
  return (x > 0) - (x < 0)

#-----------------
# RAFRAICHISSEMENT
#-----------------
# fonction essentielle, appelee en boucle dans ce qui va suivre

def refresh(ymin=0, ymax=H_ECRAN - 1, xmin=0, xmax = L_ECRAN - 1):
  '''rafraichit l'affichage en ne redessinant que les elements necessaires, avec :
  - ymin et ymax : les bornes verticales de la zone a rafraichir
  - xmin et max : les bornes horizontales de la zone a rafraichir
  '''
  global forceon, score
  ymin, ymax = max(0, floor(ymin)), min(H_ECRAN - 1, floor(ymax))
  xmin, xmax = max(0, xmin), min(L_ECRAN - 1, xmax)
  txmin, txmax = xmin, xmax
  ly = (134,152,160,164)
  for y in range(ymin, ymax + 1):

    if y >= ly[0] and y < ly[1]: # surface du marais entre arbres et fond d'ecran
      draw_surface_marais(y, xmin, xmax)

    if y == H_ECRAN - H_BOUTON:
      if status[2] or not isinstance(status[0], str) and forceon:
        txmax = min(xmax, L_ECRAN - L_BOUTON)
      if not isinstance(status[0], str):
        txmin = max(xmin, lnum(score))

    # decor du marais
    if y < ly[1] and (isinstance(status[0], str) or y <= 1 or y >= H_BARRE + 2*M_BARRE - 2) or y >= ly[-1]:
      if y < ly[0]:
        c = gradient((205/360, 1, .565), (157.5/360, 1, .439), y / (ly[0] - 1))
        c = hsv2rgb(c[0], c[1], c[2])
      else:
        c = y >= ly[-1] and (255, 255, 255)
      draw_sprite_line(SPRITES[I_AP][S_RLE][y], SPRITES[I_AP][S_BITS], 0, y, SPRITES[I_AP][S_L], SPRITES[I_AP][S_PALETTE], itransp=SPRITES[I_AP][S_ITRANSP], cfond=c, xmin=txmin, xmax=txmax)
      for x in range(txmax + 1, xmax + 1):
        set_pixel(x, y, (0, 0, 255))
    if not isinstance(status[0], str) and y >= ly[-1]:
      for x in range(xmin, txmin):
        set_pixel(x, y, (0, 0, 255))

    # message or force bar
    if isinstance(status[0], str):
      if y == 1 + H_POLICE[POLICE] and ymin < y:
        draw_string(0, 1, status[0], status[1], POLICE)
    elif y < H_BARRE + 2*M_BARRE:
      xf = round((L_ECRAN - 1) * status[0])
      for x in range(txmin, txmax + 1):
        if abs(x - xf) <= M_CURSEUR and y >= 1 and y < 2*M_BARRE + H_BARRE - 1 or abs(x - xf) < M_CURSEUR:
          set_pixel(x, y, forceon and (255, 0, 255) or (127, 127, 127))
        elif y >= M_BARRE and y < M_BARRE + H_BARRE:
          c = gradient((0, 1, 1), (120/360, 1, 1), (x - 2) / (L_ECRAN - 2))
          set_pixel(x, y, hsv2rgb(c[0], c[1], c[2]))

    if y >= ly[1] and y < ly[2]: # surface du marais entre plateformes et arbres
      draw_surface_marais(y, txmin, txmax)

    if y >= SPRITES[I_PF_G][S_Y] and y < SPRITES[I_PF_G][S_Y] + SPRITES[I_PF_G][S_H]: # grande plateforme
      draw_sprite_line(SPRITES[I_PF_G][S_RLE][y - ceil(SPRITES[I_PF_G][S_Y])], SPRITES[I_PF_G][S_BITS], SPRITES[I_PF_G][S_X], y, SPRITES[I_PF_G][S_L], SPRITES[I_PF_G][S_PALETTE], itransp=SPRITES[I_PF_G][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_PF_P][S_Y] and y < SPRITES[I_PF_P][S_Y] + SPRITES[I_PF_P][S_H]: # petite plateforme
      draw_sprite_line(SPRITES[I_PF_P][S_RLE][y - ceil(SPRITES[I_PF_P][S_Y])], SPRITES[I_PF_P][S_BITS], SPRITES[I_PF_P][S_X], y, SPRITES[I_PF_P][S_L], SPRITES[I_PF_P][S_PALETTE], itransp=SPRITES[I_PF_P][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_LUKE][S_Y] and y < SPRITES[I_LUKE][S_Y] + SPRITES[I_LUKE][S_H]: # Luke
      draw_sprite_line(SPRITES[I_LUKE][S_RLE][y - ceil(SPRITES[I_LUKE][S_Y])], SPRITES[I_LUKE][S_BITS], SPRITES[I_LUKE][S_X], y, SPRITES[I_LUKE][S_L], SPRITES[I_LUKE][S_PALETTE], itransp=SPRITES[I_LUKE][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_YODA][S_Y] and y < SPRITES[I_YODA][S_Y] + SPRITES[I_YODA][S_H]: # Yoda
      draw_sprite_line(SPRITES[I_YODA][S_RLE][y - ceil(SPRITES[I_YODA][S_Y])], SPRITES[I_YODA][S_BITS], SPRITES[I_YODA][S_X], y, SPRITES[I_YODA][S_L], SPRITES[I_YODA][S_PALETTE], itransp=SPRITES[I_YODA][S_ITRANSP], xmin=xmin, xmax=xmax)

    if y >= SPRITES[I_XWING][S_Y] and y < SPRITES[I_XWING][S_Y] + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM]: # X-Wing
      draw_sprite_line(SPRITES[I_XWING][S_RLE][(y - ceil(SPRITES[I_XWING][S_Y])) // SPRITES[I_XWING][S_ZOOM]], SPRITES[I_XWING][S_BITS], SPRITES[I_XWING][S_X], y, SPRITES[I_XWING][S_L], SPRITES[I_XWING][S_PALETTE], itransp=SPRITES[I_XWING][S_ITRANSP], zoom=2, xmin=xmin, xmax=xmax)

    if y >= ly[2] and y < ly[3]: # surface du marais jusqu'aux plateformes
      draw_surface_marais(y, txmin, txmax)

    if y >= ly[-1]: # sous la surface du marais
      c1a_hsv = (196.5/360, 1, .655)
      c1b_hsv = (171.1/360, 1, .396)
      c1_hsv = gradient(c1a_hsv, c1b_hsv, sqrt((y - ly[-1]) / (H_ECRAN - ly[-1])))
      c1_rgb = rgb2hsv(c1_hsv[0], c1_hsv[1], c1_hsv[2])
      for x in range(txmin, txmax + 1):
        c2_rgb = get_pixel(x, y)
        c2_hsv = rgb2hsv(c2_rgb[0], c2_rgb[1], c2_rgb[2])
        k = 2 + sqrt((y - ly[-1]) / (H_ECRAN - ly[-1]))
        c3_rgb = hsv2rgb(c1_hsv[0], (c1_hsv[1] + c2_hsv[1])/k , (c1_hsv[1] + c2_hsv[2])/k)
        set_pixel(x, y, c3_rgb)

    if status[2] and y == H_ECRAN - 1 and xmax >= L_ECRAN - 1 or not isinstance(status[0], str) and forceon:
      draw_string(L_ECRAN - L_BOUTON, H_ECRAN - H_BOUTON, "AC/ON", (255, 255, 0), "small")
    if not isinstance(status[0], str) and y == H_ECRAN - 1 and xmin <= 0:
      draw_string(0, H_ECRAN - H_BOUTON, str(round(score)), (255, 255, 0), "small")

#----------
# ANIMATION
#----------

M_HORIZ, M_VERT = tuple(range(1, 3))

def fanim(lst, mode_osc = 0, loop=True):
  '''joue une animation, avec :
  - lst : liste d'images a animer, avec pour chaque element :
  -- index de l'image principale a animer
  -- index d'une image liee a la position de l'image precedente (ou sinon None)
  -- abscisse ou deplacer l'image principale (ou None)
  -- ordonnee ou deplacer l'image principale (ou None)
  - mode_osc : masque indiquant si l'image doit subit des oscillations, pouvant alors etre horizontales (M_HORIZ), verticales (M_VERT) ou bien les deux a la fois
  - loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
  '''
  global x_c, y_c
  x_c, y_c = SPRITES[lst[-1][0]][S_X : S_Y + 1]
  ix, iy = 0, 0
  while 1:
    stop = True
    for i in range(len(lst)):
      i1_sprite, i2_sprite, destx, desty = lst[i]
      tx1, ty1 = SPRITES[i1_sprite][S_X : S_Y + 1]
      if not i2_sprite is None: tx2, ty2 = SPRITES[i2_sprite][S_X : S_Y + 1]
      if not destx is None and SPRITES[i1_sprite][S_X] != destx:
        SPRITES[i1_sprite][S_X] += sign(destx - SPRITES[i1_sprite][S_X])
        if not i2_sprite is None:
          tx2 = SPRITES[i2_sprite][S_X]
          SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
        stop = False
        if SPRITES[i1_sprite][S_X] == destx:
          lst[i][2] = None
          x_c = SPRITES[lst[-1][0]][S_X]
      elif i + 1 == len(lst) and mode_osc & M_HORIZ:
        SPRITES[i1_sprite][S_X] = x_c - round(sin(ix*pi/180) * SPRITES[i2_sprite][S_L] / 16)
        SPRITES[i2_sprite][S_X] += SPRITES[i1_sprite][S_X] - tx1
        ix += 18
      if not desty is None and SPRITES[i1_sprite][S_Y] != desty:
        SPRITES[i1_sprite][S_Y] += sign(desty - SPRITES[i1_sprite][S_Y])
        if not i2_sprite is None:
          ty2 = SPRITES[i2_sprite][S_Y]
          SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
        stop = False
        if SPRITES[i1_sprite][S_Y] == desty:
          lst[i][3] = None
          y_c = SPRITES[lst[-1][0]][S_Y]
      elif i + 1 == len(lst) and mode_osc & M_VERT:
        SPRITES[i1_sprite][S_Y] = y_c - round(sin(iy*pi/180) * SPRITES[i2_sprite][S_H] / 8)
        SPRITES[i2_sprite][S_Y] += SPRITES[i1_sprite][S_Y] - ty1
        iy += 1
      if not i2_sprite is None: refresh(min(ty2, SPRITES[i2_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) - 1, min(tx2, SPRITES[i2_sprite][S_X]), max(tx2, SPRITES[i2_sprite][S_X]) + SPRITES[i2_sprite][S_L])
      refresh(min(ty1, SPRITES[i1_sprite][S_Y]), max(ty1, SPRITES[i1_sprite][S_Y]) + SPRITES[i1_sprite][S_H]*SPRITES[i1_sprite][S_ZOOM] - 1, min(tx1, SPRITES[i1_sprite][S_X]), max(tx1, SPRITES[i1_sprite][S_X]) + SPRITES[i1_sprite][S_L]*SPRITES[i1_sprite][S_ZOOM])
    if stop:
      if not mode_osc or not loop: break
      if not status[2]:
        status[2] = True
        refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
    show_screen()

def ac(fanim, loop=True, lmsg=None, lparams_anim=()):
  ''' lance une animation, tout en permettant a tout moment son interruption avec la touche [AC] et dans ce cas le nettoyage correct de l'affichage, avec :
  - fanim : la fonction d'animation
  - loop : indique si l'animation doit etre jouee en boucle ou bien une seule fois
  - lmsg : liste avec le message a afficher et sa couleur
  - lparams_anim : liste des parametres a passer a la fonction d'animation fanim()
  '''
  try:
    global status
    if not lmsg is None:
      status[:2] = lmsg
      refresh(1, 1 + H_POLICE[POLICE])
    fanim(*(lparams_anim + (loop,)))
  except KeyboardInterrupt:
    try:
      if loop:
        status[2] = False
        refresh(H_ECRAN - H_POLICE[POLICE], H_ECRAN - 1, 346, L_ECRAN - 1)
        fanim(False, *(lparams_anim + (loop,)))
    except: pass

#-----------------------------
# AUTRES FONCTIONS SPECIFIQUES
#-----------------------------

def force(f):
  '''fait appel a la Force, avec :
  - f l'intensite de la Force sur l'intervalle [0;1]
  '''
  global vy, forceon, score
  if forceon:
    vy += 2*f - 1
    forceon = False
    score += f*kscore/(1 - min(0, vy))*1000
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, 0, lnum(score))
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)

def gameover():
  '''teste si on a gagne le jeu'''
  return SPRITES[I_XWING][S_Y] < -SPRITES[I_XWING][S_H] * SPRITES[I_XWING][S_ZOOM]

score, kscore, fscore = 0, 1, .999

def main():
  '''lance la partie jeu'''
  global vy, forceon, kscore, score
  try:
    refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
    w = 220
    t = 0
    of = -1
    while not gameover():
      try:
        try:
          f = 1 - abs(cos(t*pi/w))
          if t % w == 1 and not forceon:
            forceon = True
            refresh(H_ECRAN - H_BOUTON, H_ECRAN - 1, L_ECRAN - L_BOUTON, L_ECRAN - 1)
          status[:2] = f, None
          xf = round((L_ECRAN - 1) * f)
          refresh(0, H_BARRE + 2*M_BARRE, of >= 0 and min(xf - M_CURSEUR, oxf - M_CURSEUR), of < 0 and L_ECRAN - 1 or max(xf + M_CURSEUR, oxf + M_CURSEUR) or L_ECRAN - 1)
          show_screen()
          t, of, oxf = (t + 1) % w, f, xf
          vy = SPRITES[I_XWING][S_Y] < H_ECRAN and vy - .005*180/w
          kscore *= fscore
        except KeyboardInterrupt: force(f)
        ty, SPRITES[I_XWING][S_Y] = SPRITES[I_XWING][S_Y], min(H_ECRAN, SPRITES[I_XWING][S_Y] - vy)
        if round(ty) != round(SPRITES[I_XWING][S_Y]):
          refresh(min(ty, SPRITES[I_XWING][S_Y]), max(ty, SPRITES[I_XWING][S_Y]) + SPRITES[I_XWING][S_H]*SPRITES[I_XWING][S_ZOOM] + 1, SPRITES[I_XWING][S_X], SPRITES[I_XWING][S_X] + SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])
      except KeyboardInterrupt: force(f)
    score *= kscore + 1
    force(1)
  except KeyboardInterrupt:
    force(f)
    main()

#---------------
# INITIALISATION
#---------------

POLICE = "small" # police a utiliser

# reglage du zoom des differentes images
for sprite in SPRITES:
  sprite.append(1)
SPRITES[I_XWING][S_ZOOM] = 2

# positionnement des differentes images a l'ecran
SPRITES[I_XWING].extend(((L_ECRAN - SPRITES[I_XWING][S_L]*SPRITES[I_XWING][S_ZOOM])//2, 164 - SPRITES[I_XWING][S_H]))
SPRITES[I_PF_G].extend((-SPRITES[I_PF_G][S_L], 146))
SPRITES[I_PF_P].extend((L_ECRAN, 151))
SPRITES[I_YODA].extend((SPRITES[I_PF_P][S_X] + (SPRITES[I_PF_P][S_L] - SPRITES[I_YODA][S_L]) // 2, SPRITES[I_PF_P][S_Y] - SPRITES[I_YODA][S_H] + SPRITES[I_PF_P][S_H] // 4))
SPRITES[I_LUKE].extend((SPRITES[I_PF_G][S_X] + (SPRITES[I_PF_G][S_L] - SPRITES[I_LUKE][S_L]) // 2, SPRITES[I_PF_G][S_Y] - SPRITES[I_LUKE][S_H] + SPRITES[I_PF_G][S_H] // 2))

# largeurs et hauteurs de differentes elements graphiques
# - barre de Force et son curseur :
M_CURSEUR = H_POLICE[POLICE] // 4
M_BARRE = 2
H_BARRE = H_POLICE[POLICE] - M_CURSEUR - M_BARRE
# - bouton invitant a taper la touche action [AC]
H_BOUTON = H_POLICE[POLICE]
L_BOUTON = 39

status = ["", None, False]

refresh(0, H_ECRAN - 1) # 1er affichage, dessine tout l'ecran
show_screen()

# anime les differentes etapes du dialogue introductif Luke-Yoda
ac(fanim, True, ("Oh non le vaisseau, nous ne pourrons plus le recuperer...", C_LUKE), (([I_XWING, None, None, H_ECRAN], [I_PF_G, I_LUKE, (L_ECRAN - SPRITES[I_PF_G][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Quelle certitude as-tu ? Avec toi, rien n'est jamais possible.", C_YODA), (([I_PF_G, I_LUKE, 33, None], [I_PF_P, I_YODA, (L_ECRAN - SPRITES[I_PF_P][S_L]) // 2, None]), M_VERT))
ac(fanim, True, ("Faire bouger des pierres est une chose mais la c'est different", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("Different dans ton esprit. Desapprends ce que tu as appris.", C_YODA), (([I_PF_P, I_YODA, 280, None],), M_VERT))
ac(fanim, True, ("C'est trop gros, j'y arriverai pas.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT | M_HORIZ))
ac(fanim, True, ("La taille importe peu. Par ma taille peux-tu me juger ?", C_YODA), (([I_PF_P, I_YODA, None, 64],), M_VERT))
ac(fanim, True, ("Tres bien, je vais essayer.", C_LUKE), (([I_PF_G, I_LUKE, None, None],), M_VERT))
ac(fanim, True, ("Non, fais-le. Ou ne le fais pas. Mais il n'y a pas d'essai.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT | M_HORIZ))

vy = 0 # vitesse verticale du X-Wing
forceon = True # indique si la Force est avec toi

main() # lance la partie jeu

# le jeu est gagne, animation de fin
ac(fanim, False, None, (([I_PF_G, I_LUKE, SPRITES[I_XWING][S_X], -SPRITES[I_PF_G][S_H]],), 0))
ac(fanim, True, ("Va Luke, la Force est avec toi, a jamais.", C_YODA), (([I_PF_P, I_YODA, None, None],), M_VERT))
print(score)
Télécharger

Merci Casio ! :favorite:

Source : https://www.casio-education.fr/actualit ... -4th-2023/
Link to topic: Résultats concours Casio "May the 4th" 2023 (Comments: 0)

Découvre l'imprimeur des coques Casio Women Do Science

New postby critor » 22 Jun 2023, 21:53

16815Pour la rentrée 2023, Casio lance une nouvelle formidable calculatrice scientifique, fx-92 Collège Classwiz.

Une édition limitée venant avec une superbe coque Marie Curie a été distribuée exclusivement aux enseignants et enseignantes en ayant fait la demande. De quoi commencer à prendre en main le nouveau modèle et adapter ses activités pour l'année prochaine, le tout avec bonne humeur ! :favorite:

Née en 1867, Marie Curie est ici illustrée par Raquel Riba. Physicienne et chimiste polonaise naturalisée française, double prix Nobel de Physique et de Chimie pour ses travaux sur la radioactivité.
Mais ce n'était rien encore, juste l'arbre qui cachait la forêt. Car en réalité c'est toute une véritable collection que Casio te lance dans le cadre de sa campagne "Women Do Science", visant à rendre les sciences accessibles à tous et surtout à toutes.

5 femmes scientifiques sont en fait à l'honneur pour cette rentrée 2023, et Casio a à chaque fois fait appel à des artistes de talent. En plus de Marie Curie, nous avons donc :

Des coques personnalisées de haute qualité selon les exemplaires que nous avons eus en main, et nous étions très curieux d'en apprendre davantage sur le processus d'impression couleur utilisé.

Dans une actualité précédente, Casio te montrait justement les coques Clara Grima en cours d'impression pour la Graph 90+E :

Aujourd'hui Casio va encore plus loin en nous révélant l'imprimeur auquel ils ont fait appel, B_barcino à Barcelone en Espagne :

Si tu veux te faire personnaliser une coque avec une qualité comparable, tu sais maintenant à qui faire appel ! ;)

Source : https://twitter.com/CasioEduFrance/stat ... 9352428545

Amélioration intégration Classpad.Academy à l'ENT IServ

New postby critor » 22 Jun 2023, 20:58

2714Rentrée 2018 Casio te lançait Classpad.net, une version en ligne du logiciel de Mathématiques intégré équipant ses calculatrices de la série Classpad, c'est-à-dire les modèles haut de gamme avec moteur de calcul formel et écran tactile dont les derniers modèles sont les fx-CP400+E (France), fx-CG500 (Amérique du Nord) et fx-CG400 (reste du monde).

La plateforme te permet de composer des documents en ajoutant différents objets (en Anglais widgets ou post-its) représentant des données mathématiques, et chose remarquable de les interconnecter visuellement. En effet les modifications que tu effectues sur les données dans l'un des post-its interconnectés sont alors automatiquement répercutées dans les autres, un outil remarquable pour avancer simultanément dans un problème Mathématique sous différentes représentations, ou encore plus généralement travailler la compétence Représenter !

Depuis la rentrée 2022 avec la mise à jour en version 4 de Classpad.net, la plateforme a évolué pour agréger maintenant des versions en ligne de différents produits Casio auxquels tu peux t'abonner de façon indépendante :
  • Classpad Math Plus, au tarif de 24,95€ par an seulement, est exactement ce que nous venons de te décrire : la version en ligne des calculatrices graphiques haut de gamme Classpad fx-CP400/CG500
  • Classpad Math, gratuit pour sa part, est une version allégée de Classpad Math Plus. Certaines fonctionnalités en sont absentes comme le calcul formel ou le calcul financier, ce qui en fait plutôt une calculatrice graphique de milieu de gamme.
    16681
  • ClassWiz, au tarif de 14,22€ par an seulement, est un émulateur en ligne des calculatrices scientifiques de Casio de génération EX-Classwiz (modèles sortis de 2014 à 2022, dont les fx-92 Spéciale Collège française) et CW Classwiz (modèles sortis depuis 2022, dont la nouvelle fx-92 Collège Classwiz française de rentrée 2023).
    10525
  • EX-Word, version en ligne des dictionnaires électroniques produits par Casio sous le même nom

Précisons que Classpad Math et Classpad Math Plus sont des technologies utilisées sur Classpad.Academy, plateforme dédiée à l'apprentissage des Mathématiques pour la France et l'Allemagne, rajoutant la gestion de classe ainsi qu'un exerciseur.

Aujourd'hui justement pour la rentrée 2023, grande nouveauté sur Classpad.Academy, même si cela va davantage intéresser nos voisins germanophones.

Casio nous annonce une amélioration de l'intégration de Classpad.Academy avec IServ.

IServ, création de l'entreprise allemande du même nom, est un ENT largement adopté par les écoles en Allemagne.

Casio nous annonce qu'il est maintenant très facile d'importer dans Classpad.Academy tes salles de classe déjà préexistantes sur IServ. Après cela il te sera immédiatement possible de partager tes documents de travail Classpad.Academy (devoirs par exemple) avec l'ensemble de tes élèves !

Précisons que la manipulation nécessite que le module Casio Classpad.Academy ait été correctement installé par l'administrateur IServ de ton établissement.

Source : https://classpad.academy/news

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
936 utilisateurs:
>902 invités
>26 membres
>8 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)