abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 09:00 | Komunita

    Nedávno byl vydán nový Raspberry Pi OS založený na Debianu 11 Bullseye. Řadě uživatelů ale novinky nevyhovují, viz například problém s kamerami. Vývojáři se proto rozhodli vedle Raspberry Pi OS podporovat také Raspberry Pi OS (Legacy) založený na Debianu 10 Buster. Uživatelé požadující knihovnu picamera mohou nově používat také Raspberry Pi OS a knihovnu si povolit v nastavení raspi-config (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | Nová verze

    Byla vydána verze 1.7.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace. Současně bylo oznámeno, že větev 1.6 (aktuálně verze 1.6.4) je nově LTS.

    Ladislav Hagara | Komentářů: 0
    dnes 07:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Byla vydána nová verze 6 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Zdůraznit lze podporu vícekurzorové editace (gif).

    Ladislav Hagara | Komentářů: 2
    včera 20:55 | Nová verze

    Byla vydána verze 1.57.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Byla vydána nová stabilní verze 5.0 (5.0.2497.24) webového prohlížeče Vivaldi (Wikipedie). Přehled novinek v příspěvku na blogu. Zdůraznit lze sdílené motivy vzhledu (YouTube) nebo překlady na postranní liště (YouTube). Nejnovější Vivaldi je postaven na Chromiu 96.0.4664.51.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Zajímavý článek

    Příspěvek na blogu Project Zero podrobně rozebírá bezpečnostní chybu CVE-2021-43527 (heap overflow) v sadě multiplatformních kryptografických knihoven Network Security Services (NSS). Chyba je opravena v upstream verzích NSS 3.68.1 a 3.73. Chyba se netýká Firefoxu.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 1,16 %. Nejčastěji používanou linuxovou distribucí je Ubuntu 20.04.3 LTS 64 bit. Přehled her oficiálně podporujících SteamOS a Linux na stránkách Steamu. Přehled her pro Windows běžících na Linuxu díky Protonu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    1.12. 13:22 | Zajímavý článek

    Knižní edice sdružení CZ.NIC rozšiřuje svou řadu o populárně naučnou novinku s názvem ON-LINE ZOO – básničky (pdf). Sbírka hravých básniček vznikla na základě stejnojmenné knihy, která vyšla v rámci Edice CZ.NIC před třemi lety a seznamuje děti předškolního a mladšího školního věku s nejčastějšími riziky spojenými s používáním Internetu.

    Ladislav Hagara | Komentářů: 27
    1.12. 10:00 | Nová verze

    Byla vydána nová stabilní verze 21.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Porcupine. Přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    Pracujete z domu?
     (38%)
     (33%)
     (13%)
     (0%)
     (16%)
     (0%)
    Celkem 55 hlasů
     Komentářů: 8, poslední dnes 07:16
    Rozcestník

    silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    31.12.2020 23:55 | Přečteno: 1920× | poslední úprava: 4.1. 20:45

    zase trávíš silvestra u počítače?? máš strach že tě policajti zmlátěj pendrekama když si pudeš vo půlnoci ven střelit rachejtlí???? mamka tě nechce pustit ven?? :O :O

    hřib ti zakázal rachejtle abys jako nepodminoval/a vorloj pražskej most nebo nějakou jinou starověkou památku strašně cenou??  bojíš se dělobuchů protože si bojoval/a v afgánistánu a rachejtle ti způsobujou flashbacky na válku?? nikdo tě nepozval protože ti kamarádi nevěřej že zase uplně pitomě někde nevykecáš policajtům kde bude tajná divoká silvestrovská party u patočků ve stodole?? kolegové z práce tě už jako moc dobře znaj a nechtěj aby se zase někdo v příkopě u cesty přivotrávenej chlastem nedusil vlastníma zvratkama a posunuli hodinky dozadu a tys to jakoby právě teďko zistil?? :O :O  

    nezoufej!!!!! Přesně pro tebe tady jako je grétin nouzovej vohňostroj na voslavu konce roku 2020 mastěnej v pythonu!!!!!!!!! stáhni skriptík pusť a mužeš si užívat skoro uplně stejně dobře jako vostatní :D :D ;D ;D

    všecko nej do novýho roku přeju :D ;D

     

    Zdroják

    Update 4.1.2021: přidaný vstupní argumenty de normálně vypnout máčknutím libovolnýho tlačítka na klávesnici + upravená kovidová verze :D

    jestli neni vidět seskrolujte dolu :O :O

    zdroják projistotu taky tady hele

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    import time
    import math
    import random
    import argparse
    
    # vyrobíme si parser vstupních argumentů skriptu
    parser = argparse.ArgumentParser()
    
    # přidáme si do parseru jaký jako chcem vstupní argumenty
    # mužem si je pak vypsat helpem jakože zadáním 'skript.py -h' nebo
    # 'skript.py --help'. help si nemusíme vyrábět sami ten se pak
    # jakoby 'vygeneruje' sám ;D
    
    # počet raket kolik jich jako chem používat/vykreslovat
    parser.add_argument('-r','--raket', type=int, help='kolik chceme raket',default=10)
    
    # doba mezi jednotlivejma krokama vykreslování
    # vlastně jakoby znamená jak moc často/přesně chcem vykreslovat 
    parser.add_argument('-dt','--dt', type=float, help='trvani kroku \'animace\'', default=0.1)
    
    parser.add_argument('-g','--gravitace', type=float, help='gravitacni zrychleni', default=10.0)
    parser.add_argument('-v','--rychlost', type=float, help='rychlost jakou se jiskry zdaloujou vod středu výbuchu', default=15.0)
    
    # bere dva argumenty - min a max počet při výbuchu generovanejch těch jiskřiček
    parser.add_argument('-j','--jisker', type=int, nargs=2, help='kolik má mit výbuch min/max jisker', default=[15,50])
    parser.add_argument('-t','--trvani_vybuchu', type=float, help='jak dlouho jako existujou jiskry po výbuchu', default=2.0)
    parser.add_argument('-o','--okraj', type=int, help='jak daleko startujou rakety od vokraje vobrazovky', default=5)
    
    # argument palety nemá nastavenou defaultní hodnotu takže muže bejt 'None' když uživatel nezadá :O ;D
    parser.add_argument('-p','--paleta', type=int, nargs='+', help='paleta indexů bavičkovejch párů který chcem použít. Hodnoty musej bejt v rosahu 1-255')
    
    # naparsujeme do namespace obětu
    # k proměnejm pak mužem přistupovat jako 'argumenty.promena'
    argumenty = parser.parse_args()
    
    # argparse neřadí podle velikosti a my chcem aby první hodnota byla 
    # ždycky menčí než tamta druhá
    if argumenty.jisker[1] < argumenty.jisker[0]:
        argumenty.jisker = [argumenty.jisker[1], argumenty.jisker[0]]
        
    # jestli barvy případný palety sou v požadovaným rosahu
    if argumenty.paleta is not None:
        for index in argumenty.paleta:
            if index <= 0 or index > 255:
                print('chyba!!!!!! špatnej vstup!!!!!!! :O :O')
                print(f'barvičková paleta vobsahuje index mimo povolenej rosah: {index}')
                quit()
                # poznámka pod čarou 
                # nóó vono to teda je schopný sežrat i index víc než 255 a dělá to pak různý dekorace tech znaků
                # jakože sou třeba napsaný na barevným pozadí nebo podtržený a tak :O ;D
                
    
    
    class Raketa:
    
        def __init__(self, screen, rychlost=10):
            self.screen = screen
            # maximální šířka a vejška tý naší vobrazovky/terminálu v počtu znaků
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # počáteční iksová souřadnice bude náhodnej sloupek pět znaků vod vokraje
            # protože na vokraji ty výbuchy nebyly hezký protože nebyly vidět :D
            self.x = random.randint(argumenty.okraj, max_sirka - argumenty.okraj)
    
            # spodek vobrazovky má max hodnotu, vršek má navopak 0
            self.y = max_vyska - 1
    
            # vejška ve který rachejtle vybuchne
            # nejdřiv muže vybuchnout ve čtvrtině vejšky vobrazovky + nějaká náhoda
            self.vyska_kdy_bouchne = max_vyska // 4 + random.randint(0, max_vyska // 2)
    
            # rychlost jakou jako letí nahoru
            self.rychlost = rychlost
    
        # aktualizace proměnejch podle rozdílu času
        def aktualizace(self, dt):
            self.y -= self.rychlost * dt
    
        # vykreslení na vobrazovku
        def namalovat(self):
            # musíme souřadnice zavokrouhlit nebo převíst na int
            # float to papá nerado :D
            pos_y = int(round(self.y))
            # vykreslíme na vobrazovku tu raketu
            self.screen.addstr(pos_y, self.x, '|')
    
        # true/false jestli už je ve vejšce ve který muže bouchnout
        def bouchla(self):
            return self.y < self.vyska_kdy_bouchne
    
    
    class Jiskra:
    
        def __init__(self, screen, pozice, smer, barva, rychlost=argumenty.rychlost, gravitace=argumenty.gravitace):
    
            self.screen = screen
            self.barva = barva
    
            self.x = pozice[0]
            self.y = pozice[1]
            self.smer_x = smer[0]
            self.smer_y = smer[1]
            self.rychlost = rychlost
            self.gravitace = gravitace
    
        def namalovat(self):
    
            pos_x = int(round(self.x))
            pos_y = int(round(self.y))
    
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # kouknem jestli souřadnicema jakoby leží na vobrazovce jinak ji nemužem vykreslit
            if pos_x <= 0 or pos_y <= 0 or pos_x > max_sirka - 1 or pos_y >= max_vyska - 1:
                return
    
            # jestli mužem v týdle konzoli kreslit barevně vykreslíme s nějakou
            # moc hezkou barvičkou :D :D :D :D
            if curses.can_change_color():
                # všiměte si že voni to maj prohozený to iks s ipsilonem v těch souřadnicích než bejvá vobvyklý :O :O
                self.screen.addstr(pos_y, pos_x, '*', curses.color_pair(self.barva))
            else:
                self.screen.addstr(pos_y, pos_x, '*')
    
        def aktualizace(self, dt):
    
            self.x += self.smer_x * self.rychlost * dt
            self.y += self.smer_y * self.rychlost * dt
    
            # navíc přičtem efekt gravitace aby jakože pomaličku kařdým krokem letěly
            # ty jiskřičky víc dolu abyto bylo jakoby trošku víc realnější :D ;D
            self.y += self.gravitace * dt
    
    
    class Vybuch:
    
        def __init__(self, screen, pozice, kolik_jiskricek, doba_trvani, barva):
    
            # doba trvání výbuchu rachejtle
            self.doba_trvani = doba_trvani
            # jednotlivý rachejtle v poli
            self.jiskry = []
    
            # smer jiskřiček z rachejtlí spočítáme sínusem a kosínusem noa nato
            # jakoby potřebujem znát úhel pod jakým jakoby vodlítaj vod středu výbuchu
            # ten určíme z dvě pí (jakoře jednou dokola nebo 360°) děleno počet jisker
            rust_uhlu = (math.pi * 2) / kolik_jiskricek
            for i in range(kolik_jiskricek):
                # kosínus/xová souřadnice je vynásobená dvouma aby to jakoby
                # kompenzovalo že znaky psaný v termiálu sou trošičku vyší než širší
                # bez tý kompenzace by to nedělalo kolečka ale jakože takový šišatý elipsy :D ;D
                smer = (math.cos(i * rust_uhlu) * 2, math.sin(i * rust_uhlu))
    
                # vyrobíme novej particle takový tý rachejtlový jiskry a skováme do pole
                jiskra = Jiskra(screen, pozice, smer, barva)
                self.jiskry.append(jiskra)
    
        def aktualizace(self, dt):
    
            # vodečtem dobu trvání
            self.doba_trvani -= dt
            # a aktualizujem všecky jiskry
            for jiskra in self.jiskry:
                jiskra.aktualizace(dt)
    
        def namalovat(self):
            # vykreslíme všecky jisrky
            for jiskra in self.jiskry:
                jiskra.namalovat()
    
        # jestli mu jetště jakoby zbejvá nějaká doba trvání :O :O
        def zije_este(self):
            return self.doba_trvani > 0
    
    
    # funkce co strčíme do curses wrapperu
    # ten argument 'stdscr' je instance vobrazovky/terminálu kterou nám řekne curses.wrapper
    # do ni budem vykreslovat ty naše výbuchy a rachejtle ;D
    def main(stdscr):
        rakety = []
        vybuchy = []
    
        # jestli mužem v terminálu měnit barvičky
        # tak si připravýme všecky možný
        if curses.can_change_color:
            curses.start_color()
            curses.use_default_colors()
            for i in range(0, curses.COLORS):
                # curses ukládá barvičky v párech voznačený/pomenovaný nenulovým indexem
                # pred použitím se musej inicializovat a přiřadit jim ten index
                # noa samotnej ten pár se zkládá z barvy textu a barvy pozadí taky voznačený číslem
                # první argument je index druhej barva textu a třetí barva pozadí
                curses.init_pair(i + 1, i, 0)
        # jak jednotlivý barvičky vypadaj mužem vidět třeba tady https://i.stack.imgur.com/7AtMc.png
    
        # zneviditelníme kruzor
        # jinak by nám tam furt někde blikal černobíle
        curses.curs_set(0)
    
        # naplníme pole rachejtlí podle zadanýho počtu
        for i in range(argumenty.raket):
            raketa = Raketa(stdscr)
            rakety.append(raketa)
    
        # dokud nebude máčknutá nějaká klávesa budem střílet donebe rachejtlema
        # v curses funkce/metody pro čtení uživatelskýho vstupu ve výhozím nastavení dycky
        # čekaj než se jako něco zmáčkne a na tom by se nám to jakože zaseklo :O :/
        # takle to čekání mužem vypnout ;D
        stdscr.nodelay(1)
        
        # metoda getch() vrací máčknutej vstup z klávesnice
        # když neni žádnej dostupnej vrací -1
        while stdscr.getch() == -1:
    
            # vyčistíme vobrazovku
            stdscr.clear()
    
            for raketa in rakety:
    
                # jestli raketa bouchla tak ji vodstraníme z pole na její souřadnici vyrobíme novej výbuch a do polí 
                # raket dáme novou raketu. ekologisti si mužou třídu raket upravit tak aby se misto vodstraňování starý 
                # instance a vyrábění nový raketa recyklovala a 'teleportovala' nazačátek :D ;D 
                if raketa.bouchla():
                    pozice = (raketa.x, raketa.y)
                    rakety.remove(raketa)
                    
                    # barva jisker tohodletoho výbuchu
                    barva = 255 # výchozí bílá
                    
                    # jestli jakoby máme zadanou paletu nějakou tak 
                    # vyberem náhodnou barvu z ní
                    # jinak náhodnou hodnotu z celýho možnýho rosahu
                    if argumenty.paleta is not None:
                        barva = random.choice(argumenty.paleta)
                    else:
                        barva = random.randint(0, 255)
    
                    novy_vybuch = Vybuch(stdscr, pozice, random.randint(argumenty.jisker[0], argumenty.jisker[1]), argumenty.trvani_vybuchu, barva)
                    vybuchy.append(novy_vybuch)
    
                    nova_raketa = Raketa(stdscr)
                    rakety.append(nova_raketa)
                else:
                    raketa.aktualizace(argumenty.dt)
                    raketa.namalovat()
    
            # podobně vykreslujem aktualizujem a vodstraňujem výbuchy
            for vybuch in vybuchy:
                if vybuch.zije_este():
                    vybuch.aktualizace(argumenty.dt)
                    vybuch.namalovat()
                else:
                    vybuchy.remove(vybuch)
    
            # aktualizujem vobrazovku
            stdscr.refresh()
    
            # a počkáme nějakou dobu dt než uděláme další průběh while cyklu
            time.sleep(argumenty.dt)
    
    
    # vyrobení wrapperu do kterýho se strká ta naše funkce
    curses.wrapper(main)
    
    

    Verze zavirovaná kovidem :O :O

    Vobsahuje pravou nefalšovanou genetickou informaci covidu hele (komplementární dna) :O :O nukleotidy sou upravený Jendou hele :O :O :D ;D

    zdrojáček tady hele

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    import time
    import math
    import random
    import argparse
    
    # vyrobíme si parser vstupních argumentů skriptu
    parser = argparse.ArgumentParser()
    
    # přidáme si do parseru jaký jako chcem vstupní argumenty
    # mužem si je pak vypsat helpem jakože zadáním 'skript.py -h' nebo
    # 'skript.py --help'. help si nemusíme vyrábět sami ten se pak
    # jakoby 'vygeneruje' sám ;D
    
    # počet raket kolik jich jako chem používat/vykreslovat
    parser.add_argument('-r','--raket', type=int, help='kolik chceme raket',default=10)
    
    # doba mezi jednotlivejma krokama vykreslování
    # vlastně jakoby znamená jak moc často/přesně chcem vykreslovat 
    parser.add_argument('-dt','--dt', type=float, help='trvani kroku \'animace\'', default=0.1)
    
    parser.add_argument('-g','--gravitace', type=float, help='gravitacni zrychleni', default=10.0)
    parser.add_argument('-v','--rychlost', type=float, help='rychlost jakou se jiskry zdaloujou vod středu výbuchu', default=15.0)
    parser.add_argument('-j','--jisker', type=int, nargs=2, help='kolik má mit výbuch min/max jisker', default=[15,50])
    parser.add_argument('-t','--trvani_vybuchu', type=float, help='jak dlouho jako existujou jiskry po výbuchu', default=2.0)
    parser.add_argument('-o','--okraj', type=int, help='jak daleko startujou rakety od vokraje vobrazovky', default=5)
    
    # argument palety nemá nastavenou defaultní hodnotu takže muže bejt 'None' když uživatel nezadá :O ;D
    parser.add_argument('-p','--paleta', type=int, nargs='+', help='paleta indexů bavičkovejch párů který chcem použít. Hodnoty musej bejt v rosahu 1-255')
    
    # naparsujeme do namespace obětu
    # k proměnejm pak mužem přistupovat jako 'argumenty.promena'
    argumenty = parser.parse_args()
    
    # argparse neřadí podle velikosti a my chcem aby první hodnota byla 
    # ždycky menčí než tamta druhá
    if argumenty.jisker[1] < argumenty.jisker[0]:
        argumenty.jisker = [argumenty.jisker[1], argumenty.jisker[0]]
        
    # jestli barvy případný palety sou v požadovaným rosahu
    if argumenty.paleta is not None:
        for index in argumenty.paleta:
            if index <= 0 or index > 255:
                print('chyba!!!!!! špatnej vstup!!!!!!! :O :O')
                print(f'barvičková paleta vobsahuje index mimo povolenej rosah: {index}')
                quit()
                # poznámka pod čarou 
                # nóó vono to teda je schopný sežrat i index víc než 255 a dělá to pak různý dekorace tech znaků
                # jakože sou třeba napsaný na barevným pozadí nebo podtržený a tak :O ;D
    
    # covid :O :O :O :O
    seq = 'ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAGCACATCTAGGTTTCGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCACGTCAACATCTTAAAGATGGCACTTGTGGCTTAGTAGAAGTTGAAAAAGGCGTTTTGCCTCAACTTGAACAGCCCTATGTGTTCATCAAACGTTCGGATGCTCGAACTGCACCTCATGGTCATGTTATGGTTGAGCTGGTAGCAGAACTCGAAGGCATTCAGTACGGTCGTAGTGGTGAGACACTTGGTGTCCTTGTCCCTCATGTGGGCGAAATACCAGTGGCTTACCGCAAGGTTCTTCTTCGTAAGAACGGTAATAAAGGAGCTGGTGGCCATAGTTACGGCGCCGATCTAAAGTCATTTGACTTAGGCGACGAGCTTGGCACTGATCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTGTTACCCGTGAACTCATGCGTGAGCTTAACGGAGGGGCATACACTCGCTATGTCGATAACAACTTCTGTGGCCCTGATGGCTACCCTCTTGAGTGCATTAAAGACCTTCTAGCACGTGCTGGTAAAGCTTCATGCACTTTGTCCGAACAACTGGACTTTATTGACACTAAGAGGGGTGTATACTGCTGCCGTGAACATGAGCATGAAATTGCTTGGTACACGGAACGTTCTGAAAAGAGCTATGAATTGCAGACACCTTTTGAAATTAAATTGGCAAAGAAATTTGACACCTTCAATGGGGAATGTCCAAATTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAACCAAGGGTTGAAAAGAAAAAGCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCACCAAATGAATGCAACCAAATGTGCCTTTCAACTCTCATGAAGTGTGATCATTGTGGTGAAACTTCATGGCAGACGGGCGATTTTGTTAAAGCCACTTGCGAATTTTGTGGCACTGAGAATTTGACTAAAGAAGGTGCCACTACTTGTGGTTACTTACCCCAAAATGCTGTTGTTAAAATTTATTGTCCAGCATGTCACAATTCAGAAGTAGGACCTGAGCATAGTCTTGCCGAATACCATAATGAATCTGGCTTGAAAACCATTCTTCGTAAGGGTGGTCGCACTATTGCCTTTGGAGGCTGTGTGTTCTCTTATGTTGGTTGCCATAACAAGTGTGCCTATTGGGTTCCACGTGCTAGCGCTAACATAGGTTGTAACCATACAGGTGTTGTTGGAGAAGGTTCCGAAGGTCTTAATGACAACCTTCTTGAAATACTCCAAAAAGAGAAAGTCAACATCAATATTGTTGGTGACTTTAAACTTAATGAAGAGATCGCCATTATTTTGGCATCTTTTTCTGCTTCCACAAGTGCTTTTGTGGAAACTGTGAAAGGTTTGGATTATAAAGCATTCAAACAAATTGTTGAATCCTGTGGTAATTTTAAAGTTACAAAAGGAAAAGCTAAAAAAGGTGCCTGGAATATTGGTGAACAGAAATCAATACTGAGTCCTCTTTATGCATTTGCATCAGAGGCTGCTCGTGTTGTACGATCAATTTTCTCCCGCACTCTTGAAACTGCTCAAAATTCTGTGCGTGTTTTACAGAAGGCCGCTATAACAATACTAGATGGAATTTCACAGTATTCACTGAGACTCATTGATGCTATGATGTTCACATCTGATTTGGCTACTAACAATCTAGTTGTAATGGCCTACATTACAGGTGGTGTTGTTCAGTTGACTTCGCAGTGGCTAACTAACATCTTTGGCACTGTTTATGAAAAACTCAAACCCGTCCTTGATTGGCTTGAAGAGAAGTTTAAGGAAGGTGTAGAGTTTCTTAGAGACGGTTGGGAAATTGTTAAATTTATCTCAACCTGTGCTTGTGAAATTGTCGGTGGACAAATTGTCACCTGTGCAAAGGAAATTAAGGAGAGTGTTCAGACATTCTTTAAGCTTGTAAATAAATTTTTGGCTTTGTGTGCTGACTCTATCATTATTGGTGGAGCTAAACTTAAAGCCTTGAATTTAGGTGAAACATTTGTCACGCACTCAAAGGGATTGTACAGAAAGTGTGTTAAATCCAGAGAAGAAACTGGCCTACTCATGCCTCTAAAAGCCCCAAAAGAAATTATCTTCTTAGAGGGAGAAACACTTCCCACAGAAGTGTTAACAGAGGAAGTTGTCTTGAAAACTGGTGATTTACAACCATTAGAACAACCTACTAGTGAAGCTGTTGAAGCTCCATTGGTTGGTACACCAGTTTGTATTAACGGGCTTATGTTGCTCGAAATCAAAGACACAGAAAAGTACTGTGCCCTTGCACCTAATATGATGGTAACAAACAATACCTTCACACTCAAAGGCGGTGCACCAACAAAGGTTACTTTTGGTGATGACACTGTGATAGAAGTGCAAGGTTACAAGAGTGTGAATATCACTTTTGAACTTGATGAAAGGATTGATAAAGTACTTAATGAGAAGTGCTCTGCCTATACAGTTGAACTCGGTACAGAAGTAAATGAGTTCGCCTGTGTTGTGGCAGATGCTGTCATAAAAACTTTGCAACCAGTATCTGAATTACTTACACCACTGGGCATTGATTTAGATGAGTGGAGTATGGCTACATACTACTTATTTGATGAGTCTGGTGAGTTTAAATTGGCTTCACATATGTATTGTTCTTTCTACCCTCCAGATGAGGATGAAGAAGAAGGTGATTGTGAAGAAGAAGAGTTTGAGCCATCAACTCAATATGAGTATGGTACTGAAGATGATTACCAAGGTAAACCTTTGGAATTTGGTGCCACTTCTGCTGCTCTTCAACCTGAAGAAGAGCAAGAAGAAGATTGGTTAGATGATGATAGTCAACAAACTGTTGGTCAACAAGACGGCAGTGAGGACAATCAGACAACTACTATTCAAACAATTGTTGAGGTTCAACCTCAATTAGAGATGGAACTTACACCAGTTGTTCAGACTATTGAAGTGAATAGTTTTAGTGGTTATTTAAAACTTACTGACAATGTATACATTAAAAATGCAGACATTGTGGAAGAAGCTAAAAAGGTAAAACCAACAGTGGTTGTTAATGCAGCCAATGTTTACCTTAAACATGGAGGAGGTGTTGCAGGAGCCTTAAATAAGGCTACTAACAATGCCATGCAAGTTGAATCTGATGATTACATAGCTACTAATGGACCACTTAAAGTGGGTGGTAGTTGTGTTTTAAGCGGACACAATCTTGCTAAACACTGTCTTCATGTTGTCGGCCCAAATGTTAACAAAGGTGAAGACATTCAACTTCTTAAGAGTGCTTATGAAAATTTTAATCAGCACGAAGTTCTACTTGCACCATTATTATCAGCTGGTATTTTTGGTGCTGACCCTATACATTCTTTAAGAGTTTGTGTAGATACTGTTCGCACAAATGTCTACTTAGCTGTCTTTGATAAAAATCTCTATGACAAACTTGTTTCAAGCTTTTTGGAAATGAAGAGTGAAAAGCAAGTTGAACAAAAGATCGCTGAGATTCCTAAAGAGGAAGTTAAGCCATTTATAACTGAAAGTAAACCTTCAGTTGAACAGAGAAAACAAGATGATAAGAAAATCAAAGCTTGTGTTGAAGAAGTTACAACAACTCTGGAAGAAACTAAGTTCCTCACAGAAAACTTGTTACTTTATATTGACATTAATGGCAATCTTCATCCAGATTCTGCCACTCTTGTTAGTGACATTGACATCACTTTCTTAAAGAAAGATGCTCCATATATAGTGGGTGATGTTGTTCAAGAGGGTGTTTTAACTGCTGTGGTTATACCTACTAAAAAGGCTGGTGGCACTACTGAAATGCTAGCGAAAGCTTTGAGAAAAGTGCCAACAGACAATTATATAACCACTTACCCGGGTCAGGGTTTAAATGGTTACACTGTAGAGGAGGCAAAGACAGTGCTTAAAAAGTGTAAAAGTGCCTTTTACATTCTACCATCTATTATCTCTAATGAGAAGCAAGAAATTCTTGGAACTGTTTCTTGGAATTTGCGAGAAATGCTTGCACATGCAGAAGAAACACGCAAATTAATGCCTGTCTGTGTGGAAACTAAAGCCATAGTTTCAACTATACAGCGTAAATATAAGGGTATTAAAATACAAGAGGGTGTGGTTGATTATGGTGCTAGATTTTACTTTTACACCAGTAAAACAACTGTAGCGTCACTTATCAACACACTTAACGATCTAAATGAAACTCTTGTTACAATGCCACTTGGCTATGTAACACATGGCTTAAATTTGGAAGAAGCTGCTCGGTATATGAGATCTCTCAAAGTGCCAGCTACAGTTTCTGTTTCTTCACCTGATGCTGTTACAGCGTATAATGGTTATCTTACTTCTTCTTCTAAAACACCTGAAGAACATTTTATTGAAACCATCTCACTTGCTGGTTCCTATAAAGATTGGTCCTATTCTGGACAATCTACACAACTAGGTATAGAATTTCTTAAGAGAGGTGATAAAAGTGTATATTACACTAGTAATCCTACCACATTCCACCTAGATGGTGAAGTTATCACCTTTGACAATCTTAAGACACTTCTTTCTTTGAGAGAAGTGAGGACTATTAAGGTGTTTACAACAGTAGACAACATTAACCTCCACACGCAAGTTGTGGACATGTCAATGACATATGGACAACAGTTTGGTCCAACTTATTTGGATGGAGCTGATGTTACTAAAATAAAACCTCATAATTCACATGAAGGTAAAACATTTTATGTTTTACCTAATGATGACACTCTACGTGTTGAGGCTTTTGAGTACTACCACACAACTGATCCTAGTTTTCTGGGTAGGTACATGTCAGCATTAAATCACACTAAAAAGTGGAAATACCCACAAGTTAATGGTTTAACTTCTATTAAATGGGCAGATAACAACTGTTATCTTGCCACTGCATTGTTAACACTCCAACAAATAGAGTTGAAGTTTAATCCACCTGCTCTACAAGATGCTTATTACAGAGCAAGGGCTGGTGAAGCTGCTAACTTTTGTGCACTTATCTTAGCCTACTGTAATAAGACAGTAGGTGAGTTAGGTGATGTTAGAGAAACAATGAGTTACTTGTTTCAACATGCCAATTTAGATTCTTGCAAAAGAGTCTTGAACGTGGTGTGTAAAACTTGTGGACAACAGCAGACAACCCTTAAGGGTGTAGAAGCTGTTATGTACATGGGCACACTTTCTTATGAACAATTTAAGAAAGGTGTTCAGATACCTTGTACGTGTGGTAAACAAGCTACAAAATATCTAGTACAACAGGAGTCACCTTTTGTTATGATGTCAGCACCACCTGCTCAGTATGAACTTAAGCATGGTACATTTACTTGTGCTAGTGAGTACACTGGTAATTACCAGTGTGGTCACTATAAACATATAACTTCTAAAGAAACTTTGTATTGCATAGACGGTGCTTTACTTACAAAGTCCTCAGAATACAAAGGTCCTATTACGGATGTTTTCTACAAAGAAAACAGTTACACAACAACCATAAAACCAGTTACTTATAAATTGGATGGTGTTGTTTGTACAGAAATTGACCCTAAGTTGGACAATTATTATAAGAAAGACAATTCTTATTTCACAGAGCAACCAATTGATCTTGTACCAAACCAACCATATCCAAACGCAAGCTTCGATAATTTTAAGTTTGTATGTGATAATATCAAATTTGCTGATGATTTAAACCAGTTAACTGGTTATAAGAAACCTGCTTCAAGAGAGCTTAAAGTTACATTTTTCCCTGACTTAAATGGTGATGTGGTGGCTATTGATTATAAACACTACACACCCTCTTTTAAGAAAGGAGCTAAATTGTTACATAAACCTATTGTTTGGCATGTTAACAATGCAACTAATAAAGCCACGTATAAACCAAATACCTGGTGTATACGTTGTCTTTGGAGCACAAAACCAGTTGAAACATCAAATTCGTTTGATGTACTGAAGTCAGAGGACGCGCAGGGAATGGATAATCTTGCCTGCGAAGATCTAAAACCAGTCTCTGAAGAAGTAGTGGAAAATCCTACCATACAGAAAGACGTTCTTGAGTGTAATGTGAAAACTACCGAAGTTGTAGGAGACATTATACTTAAACCAGCAAATAATAGTTTAAAAATTACAGAAGAGGTTGGCCACACAGATCTAATGGCTGCTTATGTAGACAATTCTAGTCTTACTATTAAGAAACCTAATGAATTATCTAGAGTATTAGGTTTGAAAACCCTTGCTACTCATGGTTTAGCTGCTGTTAATAGTGTCCCTTGGGATACTATAGCTAATTATGCTAAGCCTTTTCTTAACAAAGTTGTTAGTACAACTACTAACATAGTTACACGGTGTTTAAACCGTGTTTGTACTAATTATATGCCTTATTTCTTTACTTTATTGCTACAATTGTGTACTTTTACTAGAAGTACAAATTCTAGAATTAAAGCATCTATGCCGACTACTATAGCAAAGAATACTGTTAAGAGTGTCGGTAAATTTTGTCTAGAGGCTTCATTTAATTATTTGAAGTCACCTAATTTTTCTAAACTGATAAATATTATAATTTGGTTTTTACTATTAAGTGTTTGCCTAGGTTCTTTAATCTACTCAACCGCTGCTTTAGGTGTTTTAATGTCTAATTTAGGCATGCCTTCTTACTGTACTGGTTACAGAGAAGGCTATTTGAACTCTACTAATGTCACTATTGCAACCTACTGTACTGGTTCTATACCTTGTAGTGTTTGTCTTAGTGGTTTAGATTCTTTAGACACCTATCCTTCTTTAGAAACTATACAAATTACCATTTCATCTTTTAAATGGGATTTAACTGCTTTTGGCTTAGTTGCAGAGTGGTTTTTGGCATATATTCTTTTCACTAGGTTTTTCTATGTACTTGGATTGGCTGCAATCATGCAATTGTTTTTCAGCTATTTTGCAGTACATTTTATTAGTAATTCTTGGCTTATGTGGTTAATAATTAATCTTGTACAAATGGCCCCGATTTCAGCTATGGTTAGAATGTACATCTTCTTTGCATCATTTTATTATGTATGGAAAAGTTATGTGCATGTTGTAGACGGTTGTAATTCATCAACTTGTATGATGTGTTACAAACGTAATAGAGCAACAAGAGTCGAATGTACAACTATTGTTAATGGTGTTAGAAGGTCCTTTTATGTCTATGCTAATGGAGGTAAAGGCTTTTGCAAACTACACAATTGGAATTGTGTTAATTGTGATACATTCTGTGCTGGTAGTACATTTATTAGTGATGAAGTTGCGAGAGACTTGTCACTACAGTTTAAAAGACCAATAAATCCTACTGACCAGTCTTCTTACATCGTTGATAGTGTTACAGTGAAGAATGGTTCCATCCATCTTTACTTTGATAAAGCTGGTCAAAAGACTTATGAAAGACATTCTCTCTCTCATTTTGTTAACTTAGACAACCTGAGAGCTAATAACACTAAAGGTTCATTGCCTATTAATGTTATAGTTTTTGATGGTAAATCAAAATGTGAAGAATCATCTGCAAAATCAGCGTCTGTTTACTACAGTCAGCTTATGTGTCAACCTATACTGTTACTAGATCAGGCATTAGTGTCTGATGTTGGTGATAGTGCGGAAGTTGCAGTTAAAATGTTTGATGCTTACGTTAATACGTTTTCATCAACTTTTAACGTACCAATGGAAAAACTCAAAACACTAGTTGCAACTGCAGAAGCTGAACTTGCAAAGAATGTGTCCTTAGACAATGTCTTATCTACTTTTATTTCAGCAGCTCGGCAAGGGTTTGTTGATTCAGATGTAGAAACTAAAGATGTTGTTGAATGTCTTAAATTGTCACATCAATCTGACATAGAAGTTACTGGCGATAGTTGTAATAACTATATGCTCACCTATAACAAAGTTGAAAACATGACACCCCGTGACCTTGGTGCTTGTATTGACTGTAGTGCGCGTCATATTAATGCGCAGGTAGCAAAAAGTCACAACATTGCTTTGATATGGAACGTTAAAGATTTCATGTCATTGTCTGAACAACTACGAAAACAAATACGTAGTGCTGCTAAAAAGAATAACTTACCTTTTAAGTTGACATGTGCAACTACTAGACAAGTTGTTAATGTTGTAACAACAAAGATAGCACTTAAGGGTGGTAAAATTGTTAATAATTGGTTGAAGCAGTTAATTAAAGTTACACTTGTGTTCCTTTTTGTTGCTGCTATTTTCTATTTAATAACACCTGTTCATGTCATGTCTAAACATACTGACTTTTCAAGTGAAATCATAGGATACAAGGCTATTGATGGTGGTGTCACTCGTGACATAGCATCTACAGATACTTGTTTTGCTAACAAACATGCTGATTTTGACACATGGTTTAGCCAGCGTGGTGGTAGTTATACTAATGACAAAGCTTGCCCATTGATTGCTGCAGTCATAACAAGAGAAGTGGGTTTTGTCGTGCCTGGTTTGCCTGGCACGATATTACGCACAACTAATGGTGACTTTTTGCATTTCTTACCTAGAGTTTTTAGTGCAGTTGGTAACATCTGTTACACACCATCAAAACTTATAGAGTACACTGACTTTGCAACATCAGCTTGTGTTTTGGCTGCTGAATGTACAATTTTTAAAGATGCTTCTGGTAAGCCAGTACCATATTGTTATGATACCAATGTACTAGAAGGTTCTGTTGCTTATGAAAGTTTACGCCCTGACACACGTTATGTGCTCATGGATGGCTCTATTATTCAATTTCCTAACACCTACCTTGAAGGTTCTGTTAGAGTGGTAACAACTTTTGATTCTGAGTACTGTAGGCACGGCACTTGTGAAAGATCAGAAGCTGGTGTTTGTGTATCTACTAGTGGTAGATGGGTACTTAACAATGATTATTACAGATCTTTACCAGGAGTTTTCTGTGGTGTAGATGCTGTAAATTTACTTACTAATATGTTTACACCACTAATTCAACCTATTGGTGCTTTGGACATATCAGCATCTATAGTAGCTGGTGGTATTGTAGCTATCGTAGTAACATGCCTTGCCTACTATTTTATGAGGTTTAGAAGAGCTTTTGGTGAATACAGTCATGTAGTTGCCTTTAATACTTTACTATTCCTTATGTCATTCACTGTACTCTGTTTAACACCAGTTTACTCATTCTTACCTGGTGTTTATTCTGTTATTTACTTGTACTTGACATTTTATCTTACTAATGATGTTTCTTTTTTAGCACATATTCAGTGGATGGTTATGTTCACACCTTTAGTACCTTTCTGGATAACAATTGCTTATATCATTTGTATTTCCACAAAGCATTTCTATTGGTTCTTTAGTAATTACCTAAAGAGACGTGTAGTCTTTAATGGTGTTTCCTTTAGTACTTTTGAAGAAGCTGCGCTGTGCACCTTTTTGTTAAATAAAGAAATGTATCTAAAGTTGCGTAGTGATGTGCTATTACCTCTTACGCAATATAATAGATACTTAGCTCTTTATAATAAGTACAAGTATTTTAGTGGAGCAATGGATACAACTAGCTACAGAGAAGCTGCTTGTTGTCATCTCGCAAAGGCTCTCAATGACTTCAGTAACTCAGGTTCTGATGTTCTTTACCAACCACCACAAACCTCTATCACCTCAGCTGTTTTGCAGAGTGGTTTTAGAAAAATGGCATTCCCATCTGGTAAAGTTGAGGGTTGTATGGTACAAGTAACTTGTGGTACAACTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTGGTAATGTTCAACTCAGGGTTATTGGACATTCTATGCAAAATTGTGTACTTAAGCTTAAGGTTGATACAGCCAATCCTAAGACACCTAAGTATAAGTTTGTTCGCATTCAACCAGGACAGACTTTTTCAGTGTTAGCTTGTTACAATGGTTCACCATCTGGTGTTTACCAATGTGCTATGAGGCCCAATTTCACTATTAAGGGTTCATTCCTTAATGGTTCATGTGGTAGTGTTGGTTTTAACATAGATTATGACTGTGTCTCTTTTTGTTACATGCACCATATGGAATTACCAACTGGAGTTCATGCTGGCACAGACTTAGAAGGTAACTTTTATGGACCTTTTGTTGACAGGCAAACAGCACAAGCAGCTGGTACGGACACAACTATTACAGTTAATGTTTTAGCTTGGTTGTACGCTGCTGTTATAAATGGAGACAGGTGGTTTCTCAATCGATTTACCACAACTCTTAATGACTTTAACCTTGTGGCTATGAAGTACAATTATGAACCTCTAACACAAGACCATGTTGACATACTAGGACCTCTTTCTGCTCAAACTGGAATTGCCGTTTTAGATATGTGTGCTTCATTAAAAGAATTACTGCAAAATGGTATGAATGGACGTACCATATTGGGTAGTGCTTTATTAGAAGATGAATTTACACCTTTTGATGTTGTTAGACAATGCTCAGGTGTTACTTTCCAAAGTGCAGTGAAAAGAACAATCAAGGGTACACACCACTGGTTGTTACTCACAATTTTGACTTCACTTTTAGTTTTAGTCCAGAGTACTCAATGGTCTTTGTTCTTTTTTTTGTATGAAAATGCCTTTTTACCTTTTGCTATGGGTATTATTGCTATGTCTGCTTTTGCAATGATGTTTGTCAAACATAAGCATGCATTTCTCTGTTTGTTTTTGTTACCTTCTCTTGCCACTGTAGCTTATTTTAATATGGTCTATATGCCTGCTAGTTGGGTGATGCGTATTATGACATGGTTGGATATGGTTGATACTAGTTTGTCTGGTTTTAAGCTAAAAGACTGTGTTATGTATGCATCAGCTGTAGTGTTACTAATCCTTATGACAGCAAGAACTGTGTATGATGATGGTGCTAGGAGAGTGTGGACACTTATGAATGTCTTGACACTCGTTTATAAAGTTTATTATGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTCTAACTACTCAGGTGTAGTTACAACTGTCATGTTTTTGGCCAGAGGTATTGTTTTTATGTGTGTTGAGTATTGCCCTATTTTCTTCATAACTGGTAATACACTTCAGTGTATAATGCTAGTTTATTGTTTCTTAGGCTATTTTTGTACTTGTTACTTTGGCCTCTTTTGTTTACTCAACCGCTACTTTAGACTGACTCTTGGTGTTTATGATTACTTAGTTTCTACACAGGAGTTTAGATATATGAATTCACAGGGACTACTCCCACCCAAGAATAGCATAGATGCCTTCAAACTCAACATTAAATTGTTGGGTGTTGGTGGCAAACCTTGTATCAAAGTAGCCACTGTACAGTCTAAAATGTCAGATGTAAAGTGCACATCAGTAGTCTTACTCTCAGTTTTGCAACAACTCAGAGTAGAATCATCATCTAAATTGTGGGCTCAATGTGTCCAGTTACACAATGACATTCTCTTAGCTAAAGATACTACTGAAGCCTTTGAAAAAATGGTTTCACTACTTTCTGTTTTGCTTTCCATGCAGGGTGCTGTAGACATAAACAAGCTTTGTGAAGAAATGCTGGACAACAGGGCAACCTTACAAGCTATAGCCTCAGAGTTTAGTTCCCTTCCATCATATGCAGCTTTTGCTACTGCTCAAGAAGCTTATGAGCAGGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTGGCTAAATCTGAATTTGACCGTGATGCAGCCATGCAACGTAAGTTGGAAAAGATGGCTGATCAAGCTATGACCCAAATGTATAAACAGGCTAGATCTGAGGACAAGAGGGCAAAAGTTACTAGTGCTATGCAGACAATGCTTTTCACTATGCTTAGAAAGTTGGATAATGATGCACTCAACAACATTATCAACAATGCAAGAGATGGTTGTGTTCCCTTGAACATAATACCTCTTACAACAGCAGCCAAACTAATGGTTGTCATACCAGACTATAACACATATAAAAATACGTGTGATGGTACAACATTTACTTATGCATCAGCATTGTGGGAAATCCAACAGGTTGTAGATGCAGATAGTAAAATTGTTCAACTTAGTGAAATTAGTATGGACAATTCACCTAATTTAGCATGGCCTCTTATTGTAACAGCTTTAAGGGCCAATTCTGCTGTCAAATTACAGAATAATGAGCTTAGTCCTGTTGCACTACGACAGATGTCTTGTGCTGCCGGTACTACACAAACTGCTTGCACTGATGACAATGCGTTAGCTTACTACAACACAACAAAGGGAGGTAGGTTTGTACTTGCACTGTTATCCGATTTACAGGATTTGAAATGGGCTAGATTCCCTAAGAGTGATGGAACTGGTACTATCTATACAGAACTGGAACCACCTTGTAGGTTTGTTACAGACACACCTAAAGGTCCTAAAGTGAAGTATTTATACTTTATTAAAGGATTAAACAACCTAAATAGAGGTATGGTACTTGGTAGTTTAGCTGCCACAGTACGTCTACAAGCTGGTAATGCAACAGAAGTGCCTGCCAATTCAACTGTATTATCTTTCTGTGCTTTTGCTGTAGATGCTGCTAAAGCTTACAAAGATTATCTAGCTAGTGGGGGACAACCAATCACTAATTGTGTTAAGATGTTGTGTACACACACTGGTACTGGTCAGGCAATAACAGTTACACCGGAAGCCAATATGGATCAAGAATCCTTTGGTGGTGCATCGTGTTGTCTGTACTGCCGTTGCCACATAGATCATCCAAATCCTAAAGGATTTTGTGACTTAAAAGGTAAGTATGTACAAATACCTACAACTTGTGCTAATGACCCTGTGGGTTTTACACTTAAAAACACAGTCTGTACCGTCTGCGGTATGTGGAAAGGTTATGGCTGTAGTTGTGATCAACTCCGCGAACCCATGCTTCAGTCAGCTGATGCACAATCGTTTTTAAACGGGTTTGCGGTGTAAGTGCAGCCCGTCTTACACCGTGCGGCACAGGCACTAGTACTGATGTCGTATACAGGGCTTTTGACATCTACAATGATAAAGTAGCTGGTTTTGCTAAATTCCTAAAAACTAATTGTTGTCGCTTCCAAGAAAAGGACGAAGATGACAATTTAATTGATTCTTACTTTGTAGTTAAGAGACACACTTTCTCTAACTACCAACATGAAGAAACAATTTATAATTTACTTAAGGATTGTCCAGCTGTTGCTAAACATGACTTCTTTAAGTTTAGAATAGACGGTGACATGGTACCACATATATCACGTCAACGTCTTACTAAATACACAATGGCAGACCTCGTCTATGCTTTAAGGCATTTTGATGAAGGTAATTGTGACACATTAAAAGAAATACTTGTCACATACAATTGTTGTGATGATGATTATTTCAATAAAAAGGACTGGTATGATTTTGTAGAAAACCCAGATATATTACGCGTATACGCCAACTTAGGTGAACGTGTACGCCAAGCTTTGTTAAAAACAGTACAATTCTGTGATGCCATGCGAAATGCTGGTATTGTTGGTGTACTGACATTAGATAATCAAGATCTCAATGGTAACTGGTATGATTTCGGTGATTTCATACAAACCACGCCAGGTAGTGGAGTTCCTGTTGTAGATTCTTATTATTCATTGTTAATGCCTATATTAACCTTGACCAGGGCTTTAACTGCAGAGTCACATGTTGACACTGACTTAACAAAGCCTTACATTAAGTGGGATTTGTTAAAATATGACTTCACGGAAGAGAGGTTAAAACTCTTTGACCGTTATTTTAAATATTGGGATCAGACATACCACCCAAATTGTGTTAACTGTTTGGATGACAGATGCATTCTGCATTGTGCAAACTTTAATGTTTTATTCTCTACAGTGTTCCCACCTACAAGTTTTGGACCACTAGTGAGAAAAATATTTGTTGATGGTGTTCCATTTGTAGTTTCAACTGGATACCACTTCAGAGAGCTAGGTGTTGTACATAATCAGGATGTAAACTTACATAGCTCTAGACTTAGTTTTAAGGAATTACTTGTGTATGCTGCTGACCCTGCTATGCACGCTGCTTCTGGTAATCTATTACTAGATAAACGCACTACGTGCTTTTCAGTAGCTGCACTTACTAACAATGTTGCTTTTCAAACTGTCAAACCCGGTAATTTTAACAAAGACTTCTATGACTTTGCTGTGTCTAAGGGTTTCTTTAAGGAAGGAAGTTCTGTTGAATTAAAACACTTCTTCTTTGCTCAGGATGGTAATGCTGCTATCAGCGATTATGACTACTATCGTTATAATCTACCAACAATGTGTGATATCAGACAACTACTATTTGTAGTTGAAGTTGTTGATAAGTACTTTGATTGTTACGATGGTGGCTGTATTAATGCTAACCAAGTCATCGTCAACAACCTAGACAAATCAGCTGGTTTTCCATTTAATAAATGGGGTAAGGCTAGACTTTATTATGATTCAATGAGTTATGAGGATCAAGATGCACTTTTCGCATATACAAAACGTAATGTCATCCCTACTATAACTCAAATGAATCTTAAGTATGCCATTAGTGCAAAGAATAGAGCTCGCACCGTAGCTGGTGTCTCTATCTGTAGTACTATGACCAATAGACAGTTTCATCAAAAATTATTGAAATCAATAGCCGCCACTAGAGGAGCTACTGTAGTAATTGGAACAAGCAAATTCTATGGTGGTTGGCACAACATGTTAAAAACTGTTTATAGTGATGTAGAAAACCCTCACCTTATGGGTTGGGATTATCCTAAATGTGATAGAGCCATGCCTAACATGCTTAGAATTATGGCCTCACTTGTTCTTGCTCGCAAACATACAACGTGTTGTAGCTTGTCACACCGTTTCTATAGATTAGCTAATGAGTGTGCTCAAGTATTGAGTGAAATGGTCATGTGTGGCGGTTCACTATATGTTAAACCAGGTGGAACCTCATCAGGAGATGCCACAACTGCTTATGCTAATAGTGTTTTTAACATTTGTCAAGCTGTCACGGCCAATGTTAATGCACTTTTATCTACTGATGGTAACAAAATTGCCGATAAGTATGTCCGCAATTTACAACACAGACTTTATGAGTGTCTCTATAGAAATAGAGATGTTGACACAGACTTTGTGAATGAGTTTTACGCATATTTGCGTAAACATTTCTCAATGATGATACTCTCTGACGATGCTGTTGTGTGTTTCAATAGCACTTATGCATCTCAAGGTCTAGTGGCTAGCATAAAGAACTTTAAGTCAGTTCTTTATTATCAAAACAATGTTTTTATGTCTGAAGCAAAATGTTGGACTGAGACTGACCTTACTAAAGGACCTCATGAATTTTGCTCTCAACATACAATGCTAGTTAAACAGGGTGATGATTATGTGTACCTTCCTTACCCAGATCCATCAAGAATCCTAGGGGCCGGCTGTTTTGTAGATGATATCGTAAAAACAGATGGTACACTTATGATTGAACGGTTCGTGTCTTTAGCTATAGATGCTTACCCACTTACTAAACATCCTAATCAGGAGTATGCTGATGTCTTTCATTTGTACTTACAATACATAAGAAAGCTACATGATGAGTTAACAGGACACATGTTAGACATGTATTCTGTTATGCTTACTAATGATAACACTTCAAGGTATTGGGAACCTGAGTTTTATGAGGCTATGTACACACCGCATACAGTCTTACAGGCTGTTGGGGCTTGTGTTCTTTGCAATTCACAGACTTCATTAAGATGTGGTGCTTGCATACGTAGACCATTCTTATGTTGTAAATGCTGTTACGACCATGTCATATCAACATCACATAAATTAGTCTTGTCTGTTAATCCGTATGTTTGCAATGCTCCAGGTTGTGATGTCACAGATGTGACTCAACTTTACTTAGGAGGTATGAGCTATTATTGTAAATCACATAAACCACCCATTAGTTTTCCATTGTGTGCTAATGGACAAGTTTTTGGTTTATATAAAAATACATGTGTTGGTAGCGATAATGTTACTGACTTTAATGCAATTGCAACATGTGACTGGACAAATGCTGGTGATTACATTTTAGCTAACACCTGTACTGAAAGACTCAAGCTTTTTGCAGCAGAAACGCTCAAAGCTACTGAGGAGACATTTAAACTGTCTTATGGTATTGCTACTGTACGTGAAGTGCTGTCTGACAGAGAATTACATCTTTCATGGGAAGTTGGTAAACCTAGACCACCACTTAACCGAAATTATGTCTTTACTGGTTATCGTGTAACTAAAAACAGTAAAGTACAAATAGGAGAGTACACCTTTGAAAAAGGTGACTATGGTGATGCTGTTGTTTACCGAGGTACAACAACTTACAAATTAAATGTTGGTGATTATTTTGTGCTGACATCACATACAGTAATGCCATTAAGTGCACCTACACTAGTGCCACAAGAGCACTATGTTAGAATTACTGGCTTATACCCAACACTCAATATCTCAGATGAGTTTTCTAGCAATGTTGCAAATTATCAAAAGGTTGGTATGCAAAAGTATTCTACACTCCAGGGACCACCTGGTACTGGTAAGAGTCATTTTGCTATTGGCCTAGCTCTCTACTACCCTTCTGCTCGCATAGTGTATACAGCTTGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCCTATAGATAAATGTAGTAGAATTATACCTGCACGTGCTCGTGTAGAGTGTTTTGATAAATTCAAAGTGAATTCAACATTAGAACAGTATGTCTTTTGTACTGTAAATGCATTGCCTGAGACGACAGCAGATATAGTTGTCTTTGATGAAATTTCAATGGCCACAAATTATGATTTGAGTGTTGTCAATGCCAGATTACGTGCTAAGCACTATGTGTACATTGGCGACCCTGCTCAATTACCTGCACCACGCACATTGCTAACTAAGGGCACACTAGAACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTGCTGAAATTGTTGACACTGTGAGTGCTTTGGTTTATGATAATAAGCTTAAAGCACATAAAGACAAATCAGCTCAATGCTTTAAAATGTTTTATAAGGGTGTTATCACGCATGATGTTTCATCTGCAATTAACAGGCCACAAATAGGCGTGGTAAGAGAATTCCTTACACGTAACCCTGCTTGGAGAAAAGCTGTCTTTATTTCACCTTATAATTCACAGAATGCTGTAGCCTCAAAGATTTTGGGACTACCAACTCAAACTGTTGATTCATCACAGGGCTCAGAATATGACTATGTCATATTCACTCAAACCACTGAAACAGCTCACTCTTGTAATGTAAACAGATTTAATGTTGCTATTACCAGAGCAAAAGTAGGCATACTTTGCATAATGTCTGATAGAGACCTTTATGACAAGTTGCAATTTACAAGTCTTGAAATTCCACGTAGGAATGTGGCAACTTTACAAGCTGAAAATGTAACAGGACTCTTTAAAGATTGTAGTAAGGTAATCACTGGGTTACATCCTACACAGGCACCTACACACCTCAGTGTTGACACTAAATTCAAAACTGAAGGTTTATGTGTTGACATACCTGGCATACCTAAGGACATGACCTATAGAAGACTCATCTCTATGATGGGTTTTAAAATGAATTATCAAGTTAATGGTTACCCTAACATGTTTATCACCCGCGAAGAAGCTATAAGACATGTACGTGCATGGATTGGCTTCGATGTCGAGGGGTGTCATGCTACTAGAGAAGCTGTTGGTACCAATTTACCTTTACAGCTAGGTTTTTCTACAGGTGTTAACCTAGTTGCTGTACCTACAGGTTATGTTGATACACCTAATAATACAGATTTTTCCAGAGTTAGTGCTAAACCACCGCCTGGAGATCAATTTAAACACCTCATACCACTTATGTACAAAGGACTTCCTTGGAATGTAGTGCGTATAAAGATTGTACAAATGTTAAGTGACACACTTAAAAATCTCTCTGACAGAGTCGTATTTGTCTTATGGGCACATGGCTTTGAGTTGACATCTATGAAGTATTTTGTGAAAATAGGACCTGAGCGCACCTGTTGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATCCGTTTATGATTGATGTTCAACAATGGGGTTTTACAGGTAACCTACAAAGCAACCATGATCTGTATTGTCAAGTCCATGGTAATGCACATGTAGCTAGTTGTGATGCAATCATGACTAGGTGTCTAGCTGTCCACGAGTGCTTTGTTAAGCGTGTTGACTGGACTATTGAATATCCTATAATTGGTGATGAACTGAAGATTAATGCGGCTTGTAGAAAGGTTCAACACATGGTTGTTAAAGCTGCATTATTAGCAGACAAATTCCCAGTTCTTCACGACATTGGTAACCCTAAAGCTATTAAGTGTGTACCTCAAGCTGATGTAGAATGGAAGTTCTATGATGCACAGCCTTGTAGTGACAAAGCTTATAAAATAGAAGAATTATTCTATTCTTATGCCACACATTCTGACAAATTCACAGATGGTGTATGCCTATTTTGGAATTGCAATGTCGATAGATATCCTGCTAATTCCATTGTTTGTAGATTTGACACTAGAGTGCTATCTAACCTTAACTTGCCTGGTTGTGATGGTGGCAGTTTGTATGTAAATAAACATGCATTCCACACACCAGCTTTTGATAAAAGTGCTTTTGTTAATTTAAAACAATTACCATTTTTCTATTACTCTGACAGTCCATGTGAGTCTCATGGAAAACAAGTAGTGTCAGATATAGATTATGTACCACTAAAGTCTGCTACGTGTATAACACGTTGCAATTTAGGTGGTGCTGTCTGTAGACATCATGCTAATGAGTACAGATTGTATCTCGATGCTTATAACATGATGATCTCAGCTGGCTTTAGCTTGTGGGTTTACAAACAATTTGATACTTATAACCTCTGGAACACTTTTACAAGACTTCAGAGTTTAGAAAATGTGGCTTTTAATGTTGTAAATAAGGGACACTTTGATGGACAACAGGGTGAAGTACCAGTTTCTATCATTAATAACACTGTTTACACAAAAGTTGATGGTGTTGATGTAGAATTGTTTGAAAATAAAACAACATTACCTGTTAATGTAGCATTTGAGCTTTGGGCTAAGCGCAACATTAAACCAGTACCAGAGGTGAAAATACTCAATAATTTGGGTGTGGACATTGCTGCTAATACTGTGATCTGGGACTACAAAAGAGATGCTCCAGCACATATATCTACTATTGGTGTTTGTTCTATGACTGACATAGCCAAGAAACCAACTGAAACGATTTGTGCACCACTCACTGTCTTTTTTGATGGTAGAGTTGATGGTCAAGTAGACTTATTTAGAAATGCCCGTAATGGTGTTCTTATTACAGAAGGTAGTGTTAAAGGTTTACAACCATCTGTAGGTCCCAAACAAGCTAGTCTTAATGGAGTCACATTAATTGGAGAAGCCGTAAAAACACAGTTCAATTATTATAAGAAAGTTGATGGTGTTGTCCAACAATTACCTGAAACTTACTTTACTCAGAGTAGAAATTTACAAGAATTTAAACCCAGGAGTCAAATGGAAATTGATTTCTTAGAATTAGCTATGGATGAATTCATTGAACGGTATAAATTAGAAGGCTATGCCTTCGAACATATCGTTTATGGAGATTTTAGTCATAGTCAGTTAGGTGGTTTACATCTACTGATTGGACTAGCTAAACGTTTTAAGGAATCACCTTTTGAATTAGAAGATTTTATTCCTATGGACAGTACAGTTAAAAACTATTTCATAACAGATGCGCAAACAGGTTCATCTAAGTGTGTGTGTTCTGTTATTGATTTATTACTTGATGATTTTGTTGAAATAATAAAATCCCAAGATTTATCTGTAGTTTCTAAGGTTGTCAAAGTGACTATTGACTATACAGAAATTTCATTTATGCTTTGGTGTAAAGATGGCCATGTAGAAACATTTTACCCAAAATTACAATCTAGTCAAGCGTGGCAACCGGGTGTTGCTATGCCTAATCTTTACAAAATGCAAAGAATGCTATTAGAAAAGTGTGACCTTCAAAATTATGGTGATAGTGCAACATTACCTAAAGGCATAATGATGAATGTCGCAAAATATACTCAACTGTGTCAATATTTAAACACATTAACATTAGCTGTACCCTATAATATGAGAGTTATACATTTTGGTGCTGGTTCTGATAAAGGAGTTGCACCAGGTACAGCTGTTTTAAGACAGTGGTTGCCTACGGGTACGCTGCTTGTCGATTCAGATCTTAATGACTTTGTCTCTGATGCAGATTCAACTTTGATTGGTGATTGTGCAACTGTACATACAGCTAATAAATGGGATCTCATTATTAGTGATATGTACGACCCTAAGACTAAAAATGTTACAAAAGAAAATGACTCTAAAGAGGGTTTTTTCACTTACATTTGTGGGTTTATACAACAAAAGCTAGCTCTTGGAGGTTCCGTGGCTATAAAGATAACAGAACATTCTTGGAATGCTGATCTTTATAAGCTCATGGGACACTTCGCATGGTGGACAGCCTTTGTTACTAATGTGAATGCGTCATCATCTGAAGCATTTTTAATTGGATGTAATTATCTTGGCAAACCACGCGAACAAATAGATGGTTATGTCATGCATGCAAATTACATATTTTGGAGGAATACAAATCCAATTCAGTTGTCTTCCTATTCTTTATTTGACATGAGTAAATTTCCCCTTAAATTAAGGGGTACTGCTGTTATGTCTTTAAAAGAAGGTCAAATCAATGATATGATTTTATCTCTTCTTAGTAAAGGTAGACTTATAATTAGAGAAAACAACAGAGTTGTTATTTCTAGTGATGTTCTTGTTAACAACTAAACGAACAATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACATAAACGAACTTATGGATTTGTTTATGAGAATCTTCACAATTGGAACTGTAACTTTGAAGCAAGGTGAAATCAAGGATGCTACTCCTTCAGATTTTGTTCGCGCTACTGCAACGATACCGATACAAGCCTCACTCCCTTTCGGATGGCTTATTGTTGGCGTTGCACTTCTTGCTGTTTTTCAGAGCGCTTCCAAAATCATAACCCTCAAAAAGAGATGGCAACTAGCACTCTCCAAGGGTGTTCACTTTGTTTGCAACTTGCTGTTGTTGTTTGTAACAGTTTACTCACACCTTTTGCTCGTTGCTGCTGGCCTTGAAGCCCCTTTTCTCTATCTTTATGCTTTAGTCTACTTCTTGCAGAGTATAAACTTTGTAAGAATAATAATGAGGCTTTGGCTTTGCTGGAAATGCCGTTCCAAAAACCCATTACTTTATGATGCCAACTATTTTCTTTGCTGGCATACTAATTGTTACGACTATTGTATACCTTACAATAGTGTAACTTCTTCAATTGTCATTACTTCAGGTGATGGCACAACAAGTCCTATTTCTGAACATGACTACCAGATTGGTGGTTATACTGAAAAATGGGAATCTGGAGTAAAAGACTGTGTTGTATTACACAGTTACTTCACTTCAGACTATTACCAGCTGTACTCAACTCAATTGAGTACAGACACTGGTGTTGAACATGTTACCTTCTTCATCTACAATAAAATTGTTGATGAGCCTGAAGAACATGTCCAAATTCACACAATCGACGGTTCATCCGGAGTTGTTAATCCAGTAATGGAACCAATTTATGATGAACCGACGACGACTACTAGCGTGCCTTTGTAAGCACAAGCTGATGAGTACGAACTTATGTACTCATTCGTTTCGGAAGAGACAGGTACGTTAATAGTTAATAGCGTACTTCTTTTTCTTGCTTTCGTGGTATTCTTGCTAGTTACACTAGCCATCCTTACTGCGCTTCGATTGTGTGCGTACTGCTGCAATATTGTTAACGTGAGTCTTGTAAAACCTTCTTTTTACGTTTACTCTCGTGTTAAAAATCTGAATTCTTCTAGAGTTCCTGATCTTCTGGTCTAAACGAACTAAATATTATATTAGTTTTTCTGTTTGGAACTTTAATTTTAGCCATGGCAGATTCCAACGGTACTATTACCGTTGAAGAGCTTAAAAAGCTCCTTGAACAATGGAACCTAGTAATAGGTTTCCTATTCCTTACATGGATTTGTCTTCTACAATTTGCCTATGCCAACAGGAATAGGTTTTTGTATATAATTAAGTTAATTTTCCTCTGGCTGTTATGGCCAGTAACTTTAGCTTGTTTTGTGCTTGCTGCTGTTTACAGAATAAATTGGATCACCGGTGGAATTGCTATCGCAATGGCTTGTCTTGTAGGCTTGATGTGGCTCAGCTACTTCATTGCTTCTTTCAGACTGTTTGCGCGTACGCGTTCCATGTGGTCATTCAATCCAGAAACTAACATTCTTCTCAACGTGCCACTCCATGGCACTATTCTGACCAGACCGCTTCTAGAAAGTGAACTCGTAATCGGAGCTGTGATCCTTCGTGGACATCTTCGTATTGCTGGACACCATCTAGGACGCTGTGACATCAAGGACCTGCCTAAAGAAATCACTGTTGCTACATCACGAACGCTTTCTTATTACAAATTGGGAGCTTCGCAGCGTGTAGCAGGTGACTCAGGTTTTGCTGCATACAGTCGCTACAGGATTGGCAACTATAAATTAAACACAGACCATTCCAGTAGCAGTGACAATATTGCTTTGCTTGTACAGTAAGTGACAACAGATGTTTCATCTCGTTGACTTTCAGGTTACTATAGCAGAGATATTACTAATTATTATGAGGACTTTTAAAGTTTCCATTTGGAATCTTGATTACATCATAAACCTCATAATTAAAAATTTATCTAAGTCACTAACTGAGAATAAATATTCTCAATTAGATGAAGAGCAACCAATGGAGATTGATTAAACGAACATGAAAATTATTCTTTTCTTGGCACTGATAACACTCGCTACTTGTGAGCTTTATCACTACCAAGAGTGTGTTAGAGGTACAACAGTACTTTTAAAAGAACCTTGCTCTTCTGGAACATACGAGGGCAATTCACCATTTCATCCTCTAGCTGATAACAAATTTGCACTGACTTGCTTTAGCACTCAATTTGCTTTTGCTTGTCCTGACGGCGTAAAACACGTCTATCAGTTACGTGCCAGATCAGTTTCACCTAAACTGTTCATCAGACAAGAGGAAGTTCAAGAACTTTACTCTCCAATTTTTCTTATTGTTGCGGCAATAGTGTTTATAACACTTTGCTTCACACTCAAAAGAAAGACAGAATGATTGAACTTTCATTAATTGACTTCTATTTGTGCTTTTTAGCCTTTCTGCTATTCCTTGTTTTAATTATGCTTATTATCTTTTGGTTCTCACTTGAACTGCAAGATCATAATGAAACTTGTCACGCCTAAACGAACATGAAATTTCTTGTTTTCTTAGGAATCATCACAACTGTAGCTGCATTTCACCAAGAATGTAGTTTACAGTCATGTACTCAACATCAACCATATGTAGTTGATGACCCGTGTCCTATTCACTTCTATTCTAAATGGTATATTAGAGTAGGAGCTAGAAAATCAGCACCTTTAATTGAATTGTGCGTGGATGAGGCTGGTTCTAAATCACCCATTCAGTACATCGATATCGGTAATTATACAGTTTCCTGTTTACCTTTTACAATTAATTGCCAGGAACCTAAATTGGGTAGTCTTGTAGTGCGTTGTTCGTTCTATGAAGACTTTTTAGAGTATCATGACGTTCGTGTTGTTTTAGATTTCATCTAAACGAACAAACTAAAATGTCTGATAATGGACCCCAAAATCAGCGAAATGCACCCCGCATTACGTTTGGTGGACCCTCAGATTCAACTGGCAGTAACCAGAATGGAGAACGCAGTGGGGCGCGATCAAAACAACGTCGGCCCCAAGGTTTACCCAATAATACTGCGTCTTGGTTCACCGCTCTCACTCAACATGGCAAGGAAGACCTTAAATTCCCTCGAGGACAAGGCGTTCCAATTAACACCAATAGCAGTCCAGATGACCAAATTGGCTACTACCGAAGAGCTACCAGACGAATTCGTGGTGGTGACGGTAAAATGAAAGATCTCAGTCCAAGATGGTATTTCTACTACCTAGGAACTGGGCCAGAAGCTGGACTTCCCTATGGTGCTAACAAAGACGGCATCATATGGGTTGCAACTGAGGGAGCCTTGAATACACCAAAAGATCACATTGGCACCCGCAATCCTGCTAACAATGCTGCAATCGTGCTACAACTTCCTCAAGGAACAACATTGCCAAAAGGCTTCTACGCAGAAGGGAGCAGAGGCGGCAGTCAAGCCTCTTCTCGTTCCTCATCACGTAGTCGCAACAGTTCAAGAAATTCAACTCCAGGCAGCAGTAGGGGAACTTCTCCTGCTAGAATGGCTGGCAATGGCGGTGATGCTGCTCTTGCTTTGCTGCTGCTTGACAGATTGAACCAGCTTGAGAGCAAAATGTCTGGTAAAGGCCAACAACAACAAGGCCAAACTGTCACTAAGAAATCTGCTGCTGAGGCTTCTAAGAAGCCTCGGCAAAAACGTACTGCCACTAAAGCATACAATGTAACACAAGCTTTCGGCAGACGTGGTCCAGAACAAACCCAAGGAAATTTTGGGGACCAGGAACTAATCAGACAAGGAACTGATTACAAACATTGGCCGCAAATTGCACAATTTGCCCCCAGCGCTTCAGCGTTCTTCGGAATGTCGCGCATTGGCATGGAAGTCACACCTTCGGGAACGTGGTTGACCTACACAGGTGCCATCAAATTGGATGACAAAGATCCAAATTTCAAAGATCAAGTCATTTTGCTGAATAAGCATATTGACGCATACAAAACATTCCCACCAACAGAGCCTAAAAAGGACAAAAAGAAGAAGGCTGATGAAACTCAAGCCTTACCGCAGAGACAGAAGAAACAGCAAACTGTGACTCTTCTTCCTGCTGCAGATTTGGATGATTTCTCCAAACAATTGCAACAATCCATGAGCAGTGCTGACTCAACTCAGGCCTAAACTCATGCAGACCACACAAGGCAGATGGGCTATATAAACGTTTTCGCTTTTCCGTTTACGATATATAGTCTACTCTTGTGCAGAATGAATTCTCGTAACTACATAGCACAAGTAGATGTAGTTAACTTTAATCTCACATAGCAATCTTTAATCAGTGTGTAACATTAGGGAGGACTTGAAAGAGCCACCACATTTTCACCGAGGCCACGCGGAGTACGATCGAGTGTACAGTGAACAATGCTAGGGAGAGCTGCCTATATGGAAGAGCCCTAATGTGTAAAATTAATTTTAGTAGTGCTATCCCCATGTGATTTTAATAGCTTCTTAGGAGAATGACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
    
    cov_index = 0
    cov_len = len(seq)
    
    class Raketa:
    
        def __init__(self, screen, rychlost=10):
            self.screen = screen
            # maximální šířka a vejška tý naší vobrazovky/terminálu v počtu znaků
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # počáteční iksová souřadnice bude náhodnej sloupek pět znaků vod vokraje
            # protože na vokraji ty výbuchy nebyly hezký protože nebyly vidět :D
            self.x = random.randint(argumenty.okraj, max_sirka - argumenty.okraj)
    
            # spodek vobrazovky má max hodnotu, vršek má navopak 0
            self.y = max_vyska - 1
    
            # vejška ve který rachejtle vybuchne
            # nejdřiv muže vybuchnout ve čtvrtině vejšky vobrazovky + nějaká náhoda
            self.vyska_kdy_bouchne = max_vyska // 4 + random.randint(0, max_vyska // 2)
    
            # rychlost jakou jako letí nahoru
            self.rychlost = rychlost
    
        # aktualizace proměnejch podle rozdílu času
        def aktualizace(self, dt):
            self.y -= self.rychlost * dt
    
        # vykreslení na vobrazovku
        def namalovat(self):
            # musíme souřadnice zavokrouhlit nebo převíst na int
            # float to papá nerado :D
            pos_y = int(round(self.y))
            # vykreslíme na vobrazovku tu raketu
            self.screen.addstr(pos_y, self.x, '|')
    
        # true/false jestli už je ve vejšce ve který muže bouchnout
        def bouchla(self):
            return self.y < self.vyska_kdy_bouchne
    
    
    class Jiskra:
    
        def __init__(self, screen, pozice, smer, barva, rychlost=argumenty.rychlost, gravitace=argumenty.gravitace):
    
            self.screen = screen
            self.barva = barva
    
            self.x = pozice[0]
            self.y = pozice[1]
            self.smer_x = smer[0]
            self.smer_y = smer[1]
            self.rychlost = rychlost
            self.gravitace = gravitace
    
            global cov_index
            self.znak = seq[cov_index]
            cov_index += 1
            if cov_index == cov_len:
                cov_index = 0
                
        def namalovat(self):
    
            pos_x = int(round(self.x))
            pos_y = int(round(self.y))
    
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # kouknem jestli souřadnicema jakoby leží na vobrazovce jinak ji nemužem vykreslit
            if pos_x <= 0 or pos_y <= 0 or pos_x > max_sirka - 1 or pos_y >= max_vyska - 1:
                return
    
            
            # jestli mužem v týdle konzoli kreslit barevně vykreslíme s nějakou
            # moc hezkou barvičkou :D :D :D :D
            if curses.can_change_color():
                # všiměte si že voni to maj prohozený to iks s ipsilonem v těch souřadnicích než bejvá vobvyklý :O :O
                self.screen.addstr(pos_y, pos_x, self.znak, curses.color_pair(self.barva))
            else:
                self.screen.addstr(pos_y, pos_x, self.znak)
    
        def aktualizace(self, dt):
    
            self.x += self.smer_x * self.rychlost * dt
            self.y += self.smer_y * self.rychlost * dt
    
            # navíc přičtem efekt gravitace aby jakože pomaličku kařdým krokem letěly
            # ty jiskřičky víc dolu abyto bylo jakoby trošku víc realnější :D ;D
            self.y += self.gravitace * dt
    
    
    class Vybuch:
    
        def __init__(self, screen, pozice, kolik_jiskricek, doba_trvani, barva):
    
            # doba trvání výbuchu rachejtle
            self.doba_trvani = doba_trvani
            # jednotlivý rachejtle v poli
            self.jiskry = []
    
            # smer jiskřiček z rachejtlí spočítáme sínusem a kosínusem noa nato
            # jakoby potřebujem znát úhel pod jakým jakoby vodlítaj vod středu výbuchu
            # ten určíme z dvě pí (jakoře jednou dokola nebo 360°) děleno počet jisker
            rust_uhlu = (math.pi * 2) / kolik_jiskricek
            for i in range(kolik_jiskricek):
                
                # kosínus/xová souřadnice je vynásobená dvouma aby to jakoby
                # kompenzovalo že znaky psaný v termiálu sou trošičku vyší než širší
                # bez tý kompenzace by to nedělalo kolečka ale jakože takový šišatý elipsy :D ;D
                smer = (math.cos(i * rust_uhlu) * 2, math.sin(i * rust_uhlu))
    
                # vyrobíme novej particle takový tý rachejtlový jiskry a skováme do pole
                jiskra = Jiskra(screen, pozice, smer, barva)
                self.jiskry.append(jiskra)
    
        def aktualizace(self, dt):
    
            # vodečtem dobu trvání
            self.doba_trvani -= dt
            # a aktualizujem všecky jiskry
            for jiskra in self.jiskry:
                jiskra.aktualizace(dt)
    
        def namalovat(self):
            # vykreslíme všecky jisrky
            for jiskra in self.jiskry:
                jiskra.namalovat()
    
        # jestli mu jetště jakoby zbejvá nějaká doba trvání :O :O
        def zije_este(self):
            return self.doba_trvani > 0
    
    
    # funkce co strčíme do curses wrapperu
    # ten argument 'stdscr' je instance vobrazovky/terminálu kterou nám řekne curses.wrapper
    # do ni budem vykreslovat ty naše výbuchy a rachejtle ;D
    def main(stdscr):
        rakety = []
        vybuchy = []
    
        # jestli mužem v terminálu měnit barvičky
        # tak si připravýme všecky možný
        if curses.can_change_color:
            curses.start_color()
            curses.use_default_colors()
            for i in range(0, curses.COLORS):
                # curses ukládá barvičky v párech voznačený/pomenovaný nenulovým indexem
                # pred použitím se musej inicializovat a přiřadit jim ten index
                # noa samotnej ten pár se zkládá z barvy textu a barvy pozadí taky voznačený číslem
                # první argument je index druhej barva textu a třetí barva pozadí
                curses.init_pair(i + 1, i, 0)
    
        # zneviditelníme kruzor
        # jinak by nám tam furt někde blikal černobíle
        curses.curs_set(0)
    
        # naplníme pole rachejtlí podle zadanýho počtu
        for i in range(argumenty.raket):
            raketa = Raketa(stdscr)
            rakety.append(raketa)
    
        
        # dokud nebude máčknutá nějaká klávesa budem střílet donebe rachejtlema
        # v curses funkce/metody pro čtení uživatelskýho vstupu ve výhozím nastavení dycky
        # čekaj než se jako něco zmáčkne a na tom by se nám to jakože zaseklo :O :/
        # takle to čekání mužem vypnout ;D
        stdscr.nodelay(1)
        
        # metoda getch() vrací máčknutej vstup z klávesnice
        # když neni žádnej dostupnej vrací -1
        while stdscr.getch() == -1:
    
            # vyčistíme vobrazovku
            stdscr.clear()
    
            for raketa in rakety:
    
                # jestli raketa bouchla tak ji vodstraníme z pole na její souřadnici vyrobíme novej výbuch a do polí 
                # raket dáme novou raketu. ekologisti si mužou třídu raket upravit tak aby se misto vodstraňování starý 
                # instance a vyrábění nový raketa recyklovala a 'teleportovala' nazačátek :D ;D 
                if raketa.bouchla():
                    pozice = (raketa.x, raketa.y)
                    rakety.remove(raketa)
                    
                    # barva jisker tohodletoho výbuchu
                    barva = 255 # výchozí bílá
                    
                    # jestli jakoby máme zadanou paletu nějakou tak 
                    # vyberem náhodnou barvu z ní
                    # jinak náhodnou hodnotu z celýho možnýho rosahu
                    if argumenty.paleta is not None:
                        barva = random.choice(argumenty.paleta)
                    else:
                        barva = random.randint(0, 255)
    
                    novy_vybuch = Vybuch(stdscr, pozice, random.randint(argumenty.jisker[0], argumenty.jisker[1]), argumenty.trvani_vybuchu, barva)
                    vybuchy.append(novy_vybuch)
    
                    nova_raketa = Raketa(stdscr)
                    rakety.append(nova_raketa)
                else:
                    raketa.aktualizace(argumenty.dt)
                    raketa.namalovat()
    
            # podobně vykreslujem aktualizujem a vodstraňujem výbuchy
            for vybuch in vybuchy:
                if vybuch.zije_este():
                    vybuch.aktualizace(argumenty.dt)
                    vybuch.namalovat()
                else:
                    vybuchy.remove(vybuch)
    
            # aktualizujem vobrazovku
            stdscr.refresh()
    
            # a počkáme nějakou dobu dt než uděláme další průběh while cyklu
            time.sleep(argumenty.dt)
    
    
    # vyrobení wrapperu do kterýho se strká ta naše funkce
    curses.wrapper(main)
    
    

    stará originální verze

    +- voriginální verze ze silvestra

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    import time
    import math
    import random
    
    # počet raket kolik jich jako chcem používat/vykreslovat
    pocet_raket = 15
    
    # doba mezi jednotlivejma krokama vykreslování
    # vlastně jakoby znamená jak moc často/přesně chcem vykreslovat 
    dt = 0.1
    
    
    class Raketa:
    
        def __init__(self, screen, rychlost=10):
            self.screen = screen
            # maximální šířka a vejška tý naší vobrazovky/terminálu v počtu znaků
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # počáteční iksová souřadnice bude náhodnej sloupek pět znaků vod vokraje
            # protože na vokraji ty výbuchy nebyly hezký protože nebyly vidět :D
            self.x = random.randint(5, max_sirka - 5)
    
            # spodek vobrazovky má max hodnotu, vršek má navopak 0
            self.y = max_vyska - 1
    
            # vejška ve který rachejtle vybuchne
            # nejdřiv muže vybuchnout ve čtvrtině vejšky vobrazovky + nějaká náhoda
            self.vyska_kdy_bouchne = max_vyska // 4 + random.randint(0, max_vyska // 2)
    
            # rychlost jakou jako letí nahoru
            self.rychlost = rychlost
    
        # aktualizace proměnejch podle rozdílu času
        def aktualizace(self, dt):
            self.y -= self.rychlost * dt
    
        # vykreslení na vobrazovku
        def namalovat(self):
            # musíme souřadnice zavokrouhlit nebo převíst na int
            # float to papá nerado :D
            pos_y = int(round(self.y))
            # vykreslíme na vobrazovku tu raketu
            self.screen.addstr(pos_y, self.x, '|')
    
        # true/false jestli už je ve vejšce ve který muže bouchnout
        def bouchla(self):
            return self.y < self.vyska_kdy_bouchne
    
    
    class Jiskra:
    
        def __init__(self, screen, pozice, smer, barva, rychlost=15, gravitace=10):
    
            self.screen = screen
            self.barva = barva
    
            self.x = pozice[0]
            self.y = pozice[1]
            self.smer_x = smer[0]
            self.smer_y = smer[1]
            self.rychlost = rychlost
            self.gravitace = gravitace
    
        def namalovat(self):
    
            pos_x = int(round(self.x))
            pos_y = int(round(self.y))
    
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # kouknem jestli souřadnicema jakoby leží na vobrazovce jinak ji nemužem vykreslit
            if pos_x <= 1 or pos_y <= 1 or pos_x >= max_sirka - 1 or pos_y >= max_vyska - 1:
                return
    
            # jestli mužem v týdle konzoli kreslit barevně vykreslíme s nějakou
            # moc hezkou barvičkou :D :D :D :D
            if curses.can_change_color():
                # všiměte si že voni to maj prohozený to iks s ipsilonem v těch souřadnicích než bejvá vobvyklý :O :O
                self.screen.addstr(pos_y, pos_x, '*', curses.color_pair(self.barva))
            else:
                self.screen.addstr(pos_y, pos_x, '*')
    
        def aktualizace(self, dt):
    
            self.x += self.smer_x * self.rychlost * dt
            self.y += self.smer_y * self.rychlost * dt
    
            # navíc přičtem efekt gravitace aby jakože pomaličku kařdým krokem letěly
            # ty jiskřičky víc dolu abyto bylo jakoby trošku víc realnější :D ;D
            self.y += self.gravitace * dt
    
    
    class Vybuch:
    
        def __init__(self, screen, pozice, kolik_jiskricek, doba_trvani, barva):
    
            # doba trvání výbuchu rachejtle
            self.doba_trvani = doba_trvani
            # jednotlivý rachejtle v poli
            self.jiskry = []
    
            # smer jiskřiček z rachejtlí spočítáme sínusem a kosínusem noa nato
            # jakoby potřebujem znát úhel pod jakým jakoby vodlítaj vod středu výbuchu
            # ten určíme z dvě pí (jakoře jednou dokola nebo 360°) děleno počet jisker
            rust_uhlu = (math.pi * 2) / kolik_jiskricek
            for i in range(kolik_jiskricek):
                # kosínus/xová souřadnice je vynásobená dvouma aby to jakoby
                # kompenzovalo že znaky psaný v termiálu sou trošičku vyší než širší
                # bez tý kompenzace by to nedělalo kolečka ale jakože takový šišatý elipsy :D ;D
                smer = (math.cos(i * rust_uhlu) * 2, math.sin(i * rust_uhlu))
    
                # vyrobíme novej particle takový tý rachejtlový jiskry a skováme do pole
                jiskra = Jiskra(screen, pozice, smer, barva)
                self.jiskry.append(jiskra)
    
        def aktualizace(self, dt):
    
            # vodečtem dobu trvání
            self.doba_trvani -= dt
            # a aktualizujem všecky jiskry
            for jiskra in self.jiskry:
                jiskra.aktualizace(dt)
    
        def namalovat(self):
            # vykreslíme všecky jisrky
            for jiskra in self.jiskry:
                jiskra.namalovat()
    
        # jestli mu jetště jakoby zbejvá nějaká doba trvání :O :O
        def zije_este(self):
            return self.doba_trvani > 0
    
    
    # funkce co strčíme do curses wrapperu
    # ten argument 'stdscr' je instance vobrazovky/terminálu kterou nám řekne curses.wrapper
    # do ni budem vykreslovat ty naše výbuchy a rachejtle ;D
    def main(stdscr):
        rakety = []
        vybuchy = []
    
        # jestli mužem v terminálu měnit barvičky
        # tak si připravýme všecky možný
        if curses.can_change_color:
            curses.start_color()
            curses.use_default_colors()
            for i in range(0, curses.COLORS):
                # curses ukládá barvičky v párech voznačený/pomenovaný nenulovým indexem
                # pred použitím se musej inicializovat a přiřadit jim ten index
                # noa samotnej ten pár se zkládá z barvy textu a barvy pozadí taky voznačený číslem
                # první argument je index druhej barva textu a třetí barva pozadí
                curses.init_pair(i + 1, i, 0)
    
        # zneviditelníme kruzor
        # jinak by nám tam furt někde blikal černobíle
        curses.curs_set(0)
    
        # naplníme pole rachejtlí podle zadanýho počtu
        for i in range(pocet_raket):
            raketa = Raketa(stdscr)
            rakety.append(raketa)
    
        # dozblnutí budem střílet donebe rachejtlema
        # de zabít máčknutím ctrl+c
        while True:
    
            # vyčistíme vobrazovku
            stdscr.clear()
    
            for raketa in rakety:
    
                # jestli raketa bouchla tak ji vodstraníme z pole na její souřadnici vyrobíme novej výbuch a do polí 
                # raket dáme novou raketu. ekologisti si mužou třídu raket upravit tak aby se misto vodstraňování starý 
                # instance a vyrábění nový raketa recyklovala a 'teleportovala' nazačátek :D ;D 
                if raketa.bouchla():
                    pozice = (raketa.x, raketa.y)
                    rakety.remove(raketa)
    
                    novy_vybuch = Vybuch(stdscr, pozice, random.randint(15, 50), 2, random.randint(0, 255))
                    vybuchy.append(novy_vybuch)
    
                    nova_raketa = Raketa(stdscr)
                    rakety.append(nova_raketa)
                else:
                    raketa.aktualizace(dt)
                    raketa.namalovat()
    
            # podobně vykreslujem aktualizujem a vodstraňujem výbuchy
            for vybuch in vybuchy:
                if vybuch.zije_este():
                    vybuch.aktualizace(dt)
                    vybuch.namalovat()
                else:
                    vybuchy.remove(vybuch)
    
            # aktualizujem vobrazovku
            stdscr.refresh()
    
            # a počkáme nějakou dobu dt než uděláme další průběh while cyklu
            time.sleep(dt)
    
    
    # vyrobení wrapperu do kterýho se strká ta naše funkce
    curses.wrapper(main)
    
    
           

    Hodnocení: 88 %

            špatnédobré        

    Obrázky

    silvestrovskej vohňostroj za 5 minut dvanáct :D ;D, obrázek 1 silvestrovskej vohňostroj za 5 minut dvanáct :D ;D, obrázek 2

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Petr Fiedler avatar 1.1. 01:07 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Tobě taky!

    Gréta avatar 1.1. 12:36 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Petr Fiedler avatar 1.1. 01:18 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Není poznat, v čem to je, protože tam chybí ten úvodní řádek. Je to v Pythonu?

    1.1. 10:18 VoDo | skóre: 2 | blog: Archi3mini
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    No a pak ten bordel ma nekdo uprovavat, takovej developer by potreboval rakoskou pres prsty!
    btw I use Archi3 :)
    Gréta avatar 1.1. 12:34 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    tttssssssss bych uhla :D ;D

    Jendа avatar 1.1. 13:42 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Náhodou má +1 za komentáře a ukázku použití tříd.
    xxxs avatar 1.1. 11:49 xxxs | skóre: 22 | blog: vetvicky
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    sn@sn-pc:~$ /home/sn/gre

    File "/home/sn/gre", line 8 SyntaxError: Non-ASCII character '\xc4' in file /home/sn/gre on line 8, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

    sn@sn-pc:~$ /home/sn/gre

    Traceback (most recent call last): File "/home/sn/gre", line 205, in <module> curses.wrapper(main) File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper return func(stdscr, *args, **kwds) File "/home/sn/gre", line 188, in main raketa.namalovat() File "/home/sn/gre", line 47, in namalovat self.screen.addstr(pos_y,self.x,'|') TypeError: integer argument expected, got float
    Gréta avatar 1.1. 12:33 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    jak mam jako vědět že encoding se stahuje i na komenty aže round() nevrací int :D

    btw v čems to jakoby kontroloval?? :O :O

    xxxs avatar 1.1. 15:20 xxxs | skóre: 22 | blog: vetvicky
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    nekontroloval. iba som to spustil cez terminal. encoding som poriesil, ale pretypovanie uz bude pre mna bolestive.
    xxxs avatar 1.1. 15:32 xxxs | skóre: 22 | blog: vetvicky
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    tak stacilo pred round vrazit int. nebolelo.
    Jendа avatar 1.1. 13:40 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Je 2021, Python 2 už je opravdu pasé.
    Gréta avatar 2.1. 15:24 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    záhada vyřešená :O :D :D ;D

    Bedňa avatar 1.1. 15:58 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Grétka to je úplne najvác COOL :-) Tak všetko najlepšie do roku 2021 aj tebe a místní verbeži.
    KERNEL ULTRAS video channel >>>
    Gréta avatar 2.1. 15:29 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    by mě zajímalo koho si jako takovej člověk neblokuje :D navíc vtom nevidim žádnej system je tam jirsák goldenfish ty miriam amiga a vubec kdekdo :O :O :D :D

    Bedňa avatar 2.1. 19:03 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Proste vyberaná spoločnosť, tam sa len tak nedostaneš :-D
    KERNEL ULTRAS video channel >>>
    1.1. 23:57 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Ahoj Greto,

    chtel bych ti poprat do noveho roku, aby jsi se naucila trochu lepe programovat nez jen par prikladu z adventofcode 2020 nebo ohnostroj.

    Kdyz uz mi pises takovy krasny prani a prispevky do Novyho zde zde, tak se zkus zamyslet, zda ten typek, do kteryho rejes, neumi programovat nejen geometrii lepe nez Ty.

    Myslim to uprimne od srdicka a chci Ti hodne pomoci jako Ty mne kdysi. Mozna to nevis, ale zatim toho moc neumis mimo prezentace na abicku. Na dfens-cz.com jsem videl, ze asi pujdes do zdravotnich dat okolo covid-u. Tam jsi nejak zapomela infaltilni mluvu. To asi budou nejaka big-data. Cago belo silenci....

    Nezapomen to omluvit, ze umet dobre programovat neni dulezity a ze jsou dulezity lidsky vlastnosti. Fakta, co jsme tu vsichni videli na tech prikladech, nejsou dulezity.

    Stastnej a veselej vsem mimo tyhle divny holcicky a mimo par jednotkam divnejch lidi tady na abicku.

    gf
    2.1. 09:33 user486
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Tak jsem se prospal, doplnil spankovy delficit, probudil do krasneho sobotniho jitra, vydatne nasnidal smazenych vajec na slanince, zapil silnou oslazenou cernou kavou se smetanou a vite Vy co? Vcerejsi trudomyslnost je tentam. Chtel bych se Vam omluvit za sve hrube chovani a take Vam vsem, bez rozdilu, poprat hodne stesti a veseli do noveho roku. A predevism pak Tobe, Greto. Vis, ja jenom velice nerad pozoruji, ze AbcL navzdory odhadum a ocekavani stale zije protoze to poukazuje na kruty fakt, ze LS padl jenom a pouze diky mym neodbornym zasahum a me neschopnosti a tedy problem nebyl ve zmene slozeni navstevniku nebo ze by se tento druh platformy prezil. A vsichni zdejsi hodni, mili a ochotni lide, mezi ktere se muzes hrde radit i Ty, me nejvice stvou a tajne je AbcL zavidim. Uvedomuji si, ze chyba je ve mne, ale nekdy se zkratka ve slabych nebo emocne vypjatych chvilkach neovladnu a dopada to takto trapne.

    A take jsi se Svym textem az neuveritelne presne trefila do mych otevrenych ran. Stejne jako kazdy jiny rok, i letos jsem travil Silvestra o samote a moje jedina oslava Noveho roku se sestavala pouze z dojidani kupovanecho cukrovi a ze spusteni Tveho skriptu. Jestli muzes, tak mi prosim odpust a prijmi me dodatecne diky za uverejneni ohnostrojoveho skriptu, bez nej by byl muj Novy rok temer jako kazdy jiny den. Bylo to od Tebe vlastne velice hezke, ze sis na Silvestra vzpomnela na nas, osamocene duse, tak veselym a originalnim zpusobem. I kdyz jsem zatim jeste o maly chlup lepsi programatorem nez Ty brzy budes, tohle bych presto nikdy nedokazal vymyslit, ani kdyby mi za to nabizeli vsechny AMD tredrippry 3990x sveta. Ano, kdyby mi nekdo vypracovani ohnostrojoveho skriptu naridil nebo zadal jako ukol, pochopitelne bych s napsanim nemel zadny problem. Ale vymyslit neco podobneho sam? S moji fanasii nebo povestnym smyslem pro humor? Ani ve snu! Prijit s takovym milym napadem vyzaduje mnohem vice, nez byt jenom dobrym programatorem, za to Ti patri muj neskonaly obdiv.

    Takze, jestli muzes, prijmi prosim ode me opozdene podekovani a hlavne omluvu.

    gf

    2.1. 10:12 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Opravte si prosim generator fake-news, at mate napriste presnejsi informace:

    Vajicka po ranu temer nejim. Jsou na mne vcelku dost tezka.

    Kavu a nekdy i silnou si dam parkrat do roka. Ale caj to neni.

    S tim mnozstvim cukru bych to taky do te kavy nevidel.

    Zbytek informaci uz je treba nekde vystourat na internetu.

    Tak zase neco nekdy napiste... Treba ty zdrojaky budou po roce o neco lepsi. Precijenom od uprav HTML je ten Python dost pokrok.

    gf
    Gréta avatar 2.1. 15:32 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    tobě taky a neztrať tu ledvinku jako :D :D ;D ;D

    Gréta avatar 2.1. 15:30 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    taky ti přeju všecko nej v novým roce :D ;D

    5.1. 05:53 _
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    To je tragéd :D
    Blaazen avatar 2.1. 00:02 Blaazen | skóre: 24 | blog: BL
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Doufám, že v tom skriptu není ukrytej nějakej koronavirus.
    2.1. 13:17 kotrcka | skóre: 23 | blog: Onééé 2 | Praha
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Nie je, kontroloval som to. Ale na stožiare s 5G sa nedostanem, takže počítam že to bude šírené odtiaľ.
    You son of a bit.. coin
    Gréta avatar 2.1. 16:13 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    víc vylepšená verze :D :D ;D ;D

    jeto jakoby vopravdická nefalšovaná rna sekvence kovidu hele :O ;D

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    import time
    import math
    import random
    
    # počet raket kolik jich jako chem používat/vykreslovat
    pocet_raket = 15
    
    # doba mezi jednotlivejma krokama vykreslování
    # vlastně jakoby znamená jak moc často/přesně chcem vykreslovat 
    dt = 0.1
    
    # covid :O :O :O :O
    seq = 'ATTAAAGGTTTATACCTTCCCAGGTAACAAACCAACCAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAGCACATCTAGGTTTCGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCACGTCAACATCTTAAAGATGGCACTTGTGGCTTAGTAGAAGTTGAAAAAGGCGTTTTGCCTCAACTTGAACAGCCCTATGTGTTCATCAAACGTTCGGATGCTCGAACTGCACCTCATGGTCATGTTATGGTTGAGCTGGTAGCAGAACTCGAAGGCATTCAGTACGGTCGTAGTGGTGAGACACTTGGTGTCCTTGTCCCTCATGTGGGCGAAATACCAGTGGCTTACCGCAAGGTTCTTCTTCGTAAGAACGGTAATAAAGGAGCTGGTGGCCATAGTTACGGCGCCGATCTAAAGTCATTTGACTTAGGCGACGAGCTTGGCACTGATCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTGTTACCCGTGAACTCATGCGTGAGCTTAACGGAGGGGCATACACTCGCTATGTCGATAACAACTTCTGTGGCCCTGATGGCTACCCTCTTGAGTGCATTAAAGACCTTCTAGCACGTGCTGGTAAAGCTTCATGCACTTTGTCCGAACAACTGGACTTTATTGACACTAAGAGGGGTGTATACTGCTGCCGTGAACATGAGCATGAAATTGCTTGGTACACGGAACGTTCTGAAAAGAGCTATGAATTGCAGACACCTTTTGAAATTAAATTGGCAAAGAAATTTGACACCTTCAATGGGGAATGTCCAAATTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAACCAAGGGTTGAAAAGAAAAAGCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCACCAAATGAATGCAACCAAATGTGCCTTTCAACTCTCATGAAGTGTGATCATTGTGGTGAAACTTCATGGCAGACGGGCGATTTTGTTAAAGCCACTTGCGAATTTTGTGGCACTGAGAATTTGACTAAAGAAGGTGCCACTACTTGTGGTTACTTACCCCAAAATGCTGTTGTTAAAATTTATTGTCCAGCATGTCACAATTCAGAAGTAGGACCTGAGCATAGTCTTGCCGAATACCATAATGAATCTGGCTTGAAAACCATTCTTCGTAAGGGTGGTCGCACTATTGCCTTTGGAGGCTGTGTGTTCTCTTATGTTGGTTGCCATAACAAGTGTGCCTATTGGGTTCCACGTGCTAGCGCTAACATAGGTTGTAACCATACAGGTGTTGTTGGAGAAGGTTCCGAAGGTCTTAATGACAACCTTCTTGAAATACTCCAAAAAGAGAAAGTCAACATCAATATTGTTGGTGACTTTAAACTTAATGAAGAGATCGCCATTATTTTGGCATCTTTTTCTGCTTCCACAAGTGCTTTTGTGGAAACTGTGAAAGGTTTGGATTATAAAGCATTCAAACAAATTGTTGAATCCTGTGGTAATTTTAAAGTTACAAAAGGAAAAGCTAAAAAAGGTGCCTGGAATATTGGTGAACAGAAATCAATACTGAGTCCTCTTTATGCATTTGCATCAGAGGCTGCTCGTGTTGTACGATCAATTTTCTCCCGCACTCTTGAAACTGCTCAAAATTCTGTGCGTGTTTTACAGAAGGCCGCTATAACAATACTAGATGGAATTTCACAGTATTCACTGAGACTCATTGATGCTATGATGTTCACATCTGATTTGGCTACTAACAATCTAGTTGTAATGGCCTACATTACAGGTGGTGTTGTTCAGTTGACTTCGCAGTGGCTAACTAACATCTTTGGCACTGTTTATGAAAAACTCAAACCCGTCCTTGATTGGCTTGAAGAGAAGTTTAAGGAAGGTGTAGAGTTTCTTAGAGACGGTTGGGAAATTGTTAAATTTATCTCAACCTGTGCTTGTGAAATTGTCGGTGGACAAATTGTCACCTGTGCAAAGGAAATTAAGGAGAGTGTTCAGACATTCTTTAAGCTTGTAAATAAATTTTTGGCTTTGTGTGCTGACTCTATCATTATTGGTGGAGCTAAACTTAAAGCCTTGAATTTAGGTGAAACATTTGTCACGCACTCAAAGGGATTGTACAGAAAGTGTGTTAAATCCAGAGAAGAAACTGGCCTACTCATGCCTCTAAAAGCCCCAAAAGAAATTATCTTCTTAGAGGGAGAAACACTTCCCACAGAAGTGTTAACAGAGGAAGTTGTCTTGAAAACTGGTGATTTACAACCATTAGAACAACCTACTAGTGAAGCTGTTGAAGCTCCATTGGTTGGTACACCAGTTTGTATTAACGGGCTTATGTTGCTCGAAATCAAAGACACAGAAAAGTACTGTGCCCTTGCACCTAATATGATGGTAACAAACAATACCTTCACACTCAAAGGCGGTGCACCAACAAAGGTTACTTTTGGTGATGACACTGTGATAGAAGTGCAAGGTTACAAGAGTGTGAATATCACTTTTGAACTTGATGAAAGGATTGATAAAGTACTTAATGAGAAGTGCTCTGCCTATACAGTTGAACTCGGTACAGAAGTAAATGAGTTCGCCTGTGTTGTGGCAGATGCTGTCATAAAAACTTTGCAACCAGTATCTGAATTACTTACACCACTGGGCATTGATTTAGATGAGTGGAGTATGGCTACATACTACTTATTTGATGAGTCTGGTGAGTTTAAATTGGCTTCACATATGTATTGTTCTTTCTACCCTCCAGATGAGGATGAAGAAGAAGGTGATTGTGAAGAAGAAGAGTTTGAGCCATCAACTCAATATGAGTATGGTACTGAAGATGATTACCAAGGTAAACCTTTGGAATTTGGTGCCACTTCTGCTGCTCTTCAACCTGAAGAAGAGCAAGAAGAAGATTGGTTAGATGATGATAGTCAACAAACTGTTGGTCAACAAGACGGCAGTGAGGACAATCAGACAACTACTATTCAAACAATTGTTGAGGTTCAACCTCAATTAGAGATGGAACTTACACCAGTTGTTCAGACTATTGAAGTGAATAGTTTTAGTGGTTATTTAAAACTTACTGACAATGTATACATTAAAAATGCAGACATTGTGGAAGAAGCTAAAAAGGTAAAACCAACAGTGGTTGTTAATGCAGCCAATGTTTACCTTAAACATGGAGGAGGTGTTGCAGGAGCCTTAAATAAGGCTACTAACAATGCCATGCAAGTTGAATCTGATGATTACATAGCTACTAATGGACCACTTAAAGTGGGTGGTAGTTGTGTTTTAAGCGGACACAATCTTGCTAAACACTGTCTTCATGTTGTCGGCCCAAATGTTAACAAAGGTGAAGACATTCAACTTCTTAAGAGTGCTTATGAAAATTTTAATCAGCACGAAGTTCTACTTGCACCATTATTATCAGCTGGTATTTTTGGTGCTGACCCTATACATTCTTTAAGAGTTTGTGTAGATACTGTTCGCACAAATGTCTACTTAGCTGTCTTTGATAAAAATCTCTATGACAAACTTGTTTCAAGCTTTTTGGAAATGAAGAGTGAAAAGCAAGTTGAACAAAAGATCGCTGAGATTCCTAAAGAGGAAGTTAAGCCATTTATAACTGAAAGTAAACCTTCAGTTGAACAGAGAAAACAAGATGATAAGAAAATCAAAGCTTGTGTTGAAGAAGTTACAACAACTCTGGAAGAAACTAAGTTCCTCACAGAAAACTTGTTACTTTATATTGACATTAATGGCAATCTTCATCCAGATTCTGCCACTCTTGTTAGTGACATTGACATCACTTTCTTAAAGAAAGATGCTCCATATATAGTGGGTGATGTTGTTCAAGAGGGTGTTTTAACTGCTGTGGTTATACCTACTAAAAAGGCTGGTGGCACTACTGAAATGCTAGCGAAAGCTTTGAGAAAAGTGCCAACAGACAATTATATAACCACTTACCCGGGTCAGGGTTTAAATGGTTACACTGTAGAGGAGGCAAAGACAGTGCTTAAAAAGTGTAAAAGTGCCTTTTACATTCTACCATCTATTATCTCTAATGAGAAGCAAGAAATTCTTGGAACTGTTTCTTGGAATTTGCGAGAAATGCTTGCACATGCAGAAGAAACACGCAAATTAATGCCTGTCTGTGTGGAAACTAAAGCCATAGTTTCAACTATACAGCGTAAATATAAGGGTATTAAAATACAAGAGGGTGTGGTTGATTATGGTGCTAGATTTTACTTTTACACCAGTAAAACAACTGTAGCGTCACTTATCAACACACTTAACGATCTAAATGAAACTCTTGTTACAATGCCACTTGGCTATGTAACACATGGCTTAAATTTGGAAGAAGCTGCTCGGTATATGAGATCTCTCAAAGTGCCAGCTACAGTTTCTGTTTCTTCACCTGATGCTGTTACAGCGTATAATGGTTATCTTACTTCTTCTTCTAAAACACCTGAAGAACATTTTATTGAAACCATCTCACTTGCTGGTTCCTATAAAGATTGGTCCTATTCTGGACAATCTACACAACTAGGTATAGAATTTCTTAAGAGAGGTGATAAAAGTGTATATTACACTAGTAATCCTACCACATTCCACCTAGATGGTGAAGTTATCACCTTTGACAATCTTAAGACACTTCTTTCTTTGAGAGAAGTGAGGACTATTAAGGTGTTTACAACAGTAGACAACATTAACCTCCACACGCAAGTTGTGGACATGTCAATGACATATGGACAACAGTTTGGTCCAACTTATTTGGATGGAGCTGATGTTACTAAAATAAAACCTCATAATTCACATGAAGGTAAAACATTTTATGTTTTACCTAATGATGACACTCTACGTGTTGAGGCTTTTGAGTACTACCACACAACTGATCCTAGTTTTCTGGGTAGGTACATGTCAGCATTAAATCACACTAAAAAGTGGAAATACCCACAAGTTAATGGTTTAACTTCTATTAAATGGGCAGATAACAACTGTTATCTTGCCACTGCATTGTTAACACTCCAACAAATAGAGTTGAAGTTTAATCCACCTGCTCTACAAGATGCTTATTACAGAGCAAGGGCTGGTGAAGCTGCTAACTTTTGTGCACTTATCTTAGCCTACTGTAATAAGACAGTAGGTGAGTTAGGTGATGTTAGAGAAACAATGAGTTACTTGTTTCAACATGCCAATTTAGATTCTTGCAAAAGAGTCTTGAACGTGGTGTGTAAAACTTGTGGACAACAGCAGACAACCCTTAAGGGTGTAGAAGCTGTTATGTACATGGGCACACTTTCTTATGAACAATTTAAGAAAGGTGTTCAGATACCTTGTACGTGTGGTAAACAAGCTACAAAATATCTAGTACAACAGGAGTCACCTTTTGTTATGATGTCAGCACCACCTGCTCAGTATGAACTTAAGCATGGTACATTTACTTGTGCTAGTGAGTACACTGGTAATTACCAGTGTGGTCACTATAAACATATAACTTCTAAAGAAACTTTGTATTGCATAGACGGTGCTTTACTTACAAAGTCCTCAGAATACAAAGGTCCTATTACGGATGTTTTCTACAAAGAAAACAGTTACACAACAACCATAAAACCAGTTACTTATAAATTGGATGGTGTTGTTTGTACAGAAATTGACCCTAAGTTGGACAATTATTATAAGAAAGACAATTCTTATTTCACAGAGCAACCAATTGATCTTGTACCAAACCAACCATATCCAAACGCAAGCTTCGATAATTTTAAGTTTGTATGTGATAATATCAAATTTGCTGATGATTTAAACCAGTTAACTGGTTATAAGAAACCTGCTTCAAGAGAGCTTAAAGTTACATTTTTCCCTGACTTAAATGGTGATGTGGTGGCTATTGATTATAAACACTACACACCCTCTTTTAAGAAAGGAGCTAAATTGTTACATAAACCTATTGTTTGGCATGTTAACAATGCAACTAATAAAGCCACGTATAAACCAAATACCTGGTGTATACGTTGTCTTTGGAGCACAAAACCAGTTGAAACATCAAATTCGTTTGATGTACTGAAGTCAGAGGACGCGCAGGGAATGGATAATCTTGCCTGCGAAGATCTAAAACCAGTCTCTGAAGAAGTAGTGGAAAATCCTACCATACAGAAAGACGTTCTTGAGTGTAATGTGAAAACTACCGAAGTTGTAGGAGACATTATACTTAAACCAGCAAATAATAGTTTAAAAATTACAGAAGAGGTTGGCCACACAGATCTAATGGCTGCTTATGTAGACAATTCTAGTCTTACTATTAAGAAACCTAATGAATTATCTAGAGTATTAGGTTTGAAAACCCTTGCTACTCATGGTTTAGCTGCTGTTAATAGTGTCCCTTGGGATACTATAGCTAATTATGCTAAGCCTTTTCTTAACAAAGTTGTTAGTACAACTACTAACATAGTTACACGGTGTTTAAACCGTGTTTGTACTAATTATATGCCTTATTTCTTTACTTTATTGCTACAATTGTGTACTTTTACTAGAAGTACAAATTCTAGAATTAAAGCATCTATGCCGACTACTATAGCAAAGAATACTGTTAAGAGTGTCGGTAAATTTTGTCTAGAGGCTTCATTTAATTATTTGAAGTCACCTAATTTTTCTAAACTGATAAATATTATAATTTGGTTTTTACTATTAAGTGTTTGCCTAGGTTCTTTAATCTACTCAACCGCTGCTTTAGGTGTTTTAATGTCTAATTTAGGCATGCCTTCTTACTGTACTGGTTACAGAGAAGGCTATTTGAACTCTACTAATGTCACTATTGCAACCTACTGTACTGGTTCTATACCTTGTAGTGTTTGTCTTAGTGGTTTAGATTCTTTAGACACCTATCCTTCTTTAGAAACTATACAAATTACCATTTCATCTTTTAAATGGGATTTAACTGCTTTTGGCTTAGTTGCAGAGTGGTTTTTGGCATATATTCTTTTCACTAGGTTTTTCTATGTACTTGGATTGGCTGCAATCATGCAATTGTTTTTCAGCTATTTTGCAGTACATTTTATTAGTAATTCTTGGCTTATGTGGTTAATAATTAATCTTGTACAAATGGCCCCGATTTCAGCTATGGTTAGAATGTACATCTTCTTTGCATCATTTTATTATGTATGGAAAAGTTATGTGCATGTTGTAGACGGTTGTAATTCATCAACTTGTATGATGTGTTACAAACGTAATAGAGCAACAAGAGTCGAATGTACAACTATTGTTAATGGTGTTAGAAGGTCCTTTTATGTCTATGCTAATGGAGGTAAAGGCTTTTGCAAACTACACAATTGGAATTGTGTTAATTGTGATACATTCTGTGCTGGTAGTACATTTATTAGTGATGAAGTTGCGAGAGACTTGTCACTACAGTTTAAAAGACCAATAAATCCTACTGACCAGTCTTCTTACATCGTTGATAGTGTTACAGTGAAGAATGGTTCCATCCATCTTTACTTTGATAAAGCTGGTCAAAAGACTTATGAAAGACATTCTCTCTCTCATTTTGTTAACTTAGACAACCTGAGAGCTAATAACACTAAAGGTTCATTGCCTATTAATGTTATAGTTTTTGATGGTAAATCAAAATGTGAAGAATCATCTGCAAAATCAGCGTCTGTTTACTACAGTCAGCTTATGTGTCAACCTATACTGTTACTAGATCAGGCATTAGTGTCTGATGTTGGTGATAGTGCGGAAGTTGCAGTTAAAATGTTTGATGCTTACGTTAATACGTTTTCATCAACTTTTAACGTACCAATGGAAAAACTCAAAACACTAGTTGCAACTGCAGAAGCTGAACTTGCAAAGAATGTGTCCTTAGACAATGTCTTATCTACTTTTATTTCAGCAGCTCGGCAAGGGTTTGTTGATTCAGATGTAGAAACTAAAGATGTTGTTGAATGTCTTAAATTGTCACATCAATCTGACATAGAAGTTACTGGCGATAGTTGTAATAACTATATGCTCACCTATAACAAAGTTGAAAACATGACACCCCGTGACCTTGGTGCTTGTATTGACTGTAGTGCGCGTCATATTAATGCGCAGGTAGCAAAAAGTCACAACATTGCTTTGATATGGAACGTTAAAGATTTCATGTCATTGTCTGAACAACTACGAAAACAAATACGTAGTGCTGCTAAAAAGAATAACTTACCTTTTAAGTTGACATGTGCAACTACTAGACAAGTTGTTAATGTTGTAACAACAAAGATAGCACTTAAGGGTGGTAAAATTGTTAATAATTGGTTGAAGCAGTTAATTAAAGTTACACTTGTGTTCCTTTTTGTTGCTGCTATTTTCTATTTAATAACACCTGTTCATGTCATGTCTAAACATACTGACTTTTCAAGTGAAATCATAGGATACAAGGCTATTGATGGTGGTGTCACTCGTGACATAGCATCTACAGATACTTGTTTTGCTAACAAACATGCTGATTTTGACACATGGTTTAGCCAGCGTGGTGGTAGTTATACTAATGACAAAGCTTGCCCATTGATTGCTGCAGTCATAACAAGAGAAGTGGGTTTTGTCGTGCCTGGTTTGCCTGGCACGATATTACGCACAACTAATGGTGACTTTTTGCATTTCTTACCTAGAGTTTTTAGTGCAGTTGGTAACATCTGTTACACACCATCAAAACTTATAGAGTACACTGACTTTGCAACATCAGCTTGTGTTTTGGCTGCTGAATGTACAATTTTTAAAGATGCTTCTGGTAAGCCAGTACCATATTGTTATGATACCAATGTACTAGAAGGTTCTGTTGCTTATGAAAGTTTACGCCCTGACACACGTTATGTGCTCATGGATGGCTCTATTATTCAATTTCCTAACACCTACCTTGAAGGTTCTGTTAGAGTGGTAACAACTTTTGATTCTGAGTACTGTAGGCACGGCACTTGTGAAAGATCAGAAGCTGGTGTTTGTGTATCTACTAGTGGTAGATGGGTACTTAACAATGATTATTACAGATCTTTACCAGGAGTTTTCTGTGGTGTAGATGCTGTAAATTTACTTACTAATATGTTTACACCACTAATTCAACCTATTGGTGCTTTGGACATATCAGCATCTATAGTAGCTGGTGGTATTGTAGCTATCGTAGTAACATGCCTTGCCTACTATTTTATGAGGTTTAGAAGAGCTTTTGGTGAATACAGTCATGTAGTTGCCTTTAATACTTTACTATTCCTTATGTCATTCACTGTACTCTGTTTAACACCAGTTTACTCATTCTTACCTGGTGTTTATTCTGTTATTTACTTGTACTTGACATTTTATCTTACTAATGATGTTTCTTTTTTAGCACATATTCAGTGGATGGTTATGTTCACACCTTTAGTACCTTTCTGGATAACAATTGCTTATATCATTTGTATTTCCACAAAGCATTTCTATTGGTTCTTTAGTAATTACCTAAAGAGACGTGTAGTCTTTAATGGTGTTTCCTTTAGTACTTTTGAAGAAGCTGCGCTGTGCACCTTTTTGTTAAATAAAGAAATGTATCTAAAGTTGCGTAGTGATGTGCTATTACCTCTTACGCAATATAATAGATACTTAGCTCTTTATAATAAGTACAAGTATTTTAGTGGAGCAATGGATACAACTAGCTACAGAGAAGCTGCTTGTTGTCATCTCGCAAAGGCTCTCAATGACTTCAGTAACTCAGGTTCTGATGTTCTTTACCAACCACCACAAACCTCTATCACCTCAGCTGTTTTGCAGAGTGGTTTTAGAAAAATGGCATTCCCATCTGGTAAAGTTGAGGGTTGTATGGTACAAGTAACTTGTGGTACAACTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTGGTAATGTTCAACTCAGGGTTATTGGACATTCTATGCAAAATTGTGTACTTAAGCTTAAGGTTGATACAGCCAATCCTAAGACACCTAAGTATAAGTTTGTTCGCATTCAACCAGGACAGACTTTTTCAGTGTTAGCTTGTTACAATGGTTCACCATCTGGTGTTTACCAATGTGCTATGAGGCCCAATTTCACTATTAAGGGTTCATTCCTTAATGGTTCATGTGGTAGTGTTGGTTTTAACATAGATTATGACTGTGTCTCTTTTTGTTACATGCACCATATGGAATTACCAACTGGAGTTCATGCTGGCACAGACTTAGAAGGTAACTTTTATGGACCTTTTGTTGACAGGCAAACAGCACAAGCAGCTGGTACGGACACAACTATTACAGTTAATGTTTTAGCTTGGTTGTACGCTGCTGTTATAAATGGAGACAGGTGGTTTCTCAATCGATTTACCACAACTCTTAATGACTTTAACCTTGTGGCTATGAAGTACAATTATGAACCTCTAACACAAGACCATGTTGACATACTAGGACCTCTTTCTGCTCAAACTGGAATTGCCGTTTTAGATATGTGTGCTTCATTAAAAGAATTACTGCAAAATGGTATGAATGGACGTACCATATTGGGTAGTGCTTTATTAGAAGATGAATTTACACCTTTTGATGTTGTTAGACAATGCTCAGGTGTTACTTTCCAAAGTGCAGTGAAAAGAACAATCAAGGGTACACACCACTGGTTGTTACTCACAATTTTGACTTCACTTTTAGTTTTAGTCCAGAGTACTCAATGGTCTTTGTTCTTTTTTTTGTATGAAAATGCCTTTTTACCTTTTGCTATGGGTATTATTGCTATGTCTGCTTTTGCAATGATGTTTGTCAAACATAAGCATGCATTTCTCTGTTTGTTTTTGTTACCTTCTCTTGCCACTGTAGCTTATTTTAATATGGTCTATATGCCTGCTAGTTGGGTGATGCGTATTATGACATGGTTGGATATGGTTGATACTAGTTTGTCTGGTTTTAAGCTAAAAGACTGTGTTATGTATGCATCAGCTGTAGTGTTACTAATCCTTATGACAGCAAGAACTGTGTATGATGATGGTGCTAGGAGAGTGTGGACACTTATGAATGTCTTGACACTCGTTTATAAAGTTTATTATGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTCTAACTACTCAGGTGTAGTTACAACTGTCATGTTTTTGGCCAGAGGTATTGTTTTTATGTGTGTTGAGTATTGCCCTATTTTCTTCATAACTGGTAATACACTTCAGTGTATAATGCTAGTTTATTGTTTCTTAGGCTATTTTTGTACTTGTTACTTTGGCCTCTTTTGTTTACTCAACCGCTACTTTAGACTGACTCTTGGTGTTTATGATTACTTAGTTTCTACACAGGAGTTTAGATATATGAATTCACAGGGACTACTCCCACCCAAGAATAGCATAGATGCCTTCAAACTCAACATTAAATTGTTGGGTGTTGGTGGCAAACCTTGTATCAAAGTAGCCACTGTACAGTCTAAAATGTCAGATGTAAAGTGCACATCAGTAGTCTTACTCTCAGTTTTGCAACAACTCAGAGTAGAATCATCATCTAAATTGTGGGCTCAATGTGTCCAGTTACACAATGACATTCTCTTAGCTAAAGATACTACTGAAGCCTTTGAAAAAATGGTTTCACTACTTTCTGTTTTGCTTTCCATGCAGGGTGCTGTAGACATAAACAAGCTTTGTGAAGAAATGCTGGACAACAGGGCAACCTTACAAGCTATAGCCTCAGAGTTTAGTTCCCTTCCATCATATGCAGCTTTTGCTACTGCTCAAGAAGCTTATGAGCAGGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTGGCTAAATCTGAATTTGACCGTGATGCAGCCATGCAACGTAAGTTGGAAAAGATGGCTGATCAAGCTATGACCCAAATGTATAAACAGGCTAGATCTGAGGACAAGAGGGCAAAAGTTACTAGTGCTATGCAGACAATGCTTTTCACTATGCTTAGAAAGTTGGATAATGATGCACTCAACAACATTATCAACAATGCAAGAGATGGTTGTGTTCCCTTGAACATAATACCTCTTACAACAGCAGCCAAACTAATGGTTGTCATACCAGACTATAACACATATAAAAATACGTGTGATGGTACAACATTTACTTATGCATCAGCATTGTGGGAAATCCAACAGGTTGTAGATGCAGATAGTAAAATTGTTCAACTTAGTGAAATTAGTATGGACAATTCACCTAATTTAGCATGGCCTCTTATTGTAACAGCTTTAAGGGCCAATTCTGCTGTCAAATTACAGAATAATGAGCTTAGTCCTGTTGCACTACGACAGATGTCTTGTGCTGCCGGTACTACACAAACTGCTTGCACTGATGACAATGCGTTAGCTTACTACAACACAACAAAGGGAGGTAGGTTTGTACTTGCACTGTTATCCGATTTACAGGATTTGAAATGGGCTAGATTCCCTAAGAGTGATGGAACTGGTACTATCTATACAGAACTGGAACCACCTTGTAGGTTTGTTACAGACACACCTAAAGGTCCTAAAGTGAAGTATTTATACTTTATTAAAGGATTAAACAACCTAAATAGAGGTATGGTACTTGGTAGTTTAGCTGCCACAGTACGTCTACAAGCTGGTAATGCAACAGAAGTGCCTGCCAATTCAACTGTATTATCTTTCTGTGCTTTTGCTGTAGATGCTGCTAAAGCTTACAAAGATTATCTAGCTAGTGGGGGACAACCAATCACTAATTGTGTTAAGATGTTGTGTACACACACTGGTACTGGTCAGGCAATAACAGTTACACCGGAAGCCAATATGGATCAAGAATCCTTTGGTGGTGCATCGTGTTGTCTGTACTGCCGTTGCCACATAGATCATCCAAATCCTAAAGGATTTTGTGACTTAAAAGGTAAGTATGTACAAATACCTACAACTTGTGCTAATGACCCTGTGGGTTTTACACTTAAAAACACAGTCTGTACCGTCTGCGGTATGTGGAAAGGTTATGGCTGTAGTTGTGATCAACTCCGCGAACCCATGCTTCAGTCAGCTGATGCACAATCGTTTTTAAACGGGTTTGCGGTGTAAGTGCAGCCCGTCTTACACCGTGCGGCACAGGCACTAGTACTGATGTCGTATACAGGGCTTTTGACATCTACAATGATAAAGTAGCTGGTTTTGCTAAATTCCTAAAAACTAATTGTTGTCGCTTCCAAGAAAAGGACGAAGATGACAATTTAATTGATTCTTACTTTGTAGTTAAGAGACACACTTTCTCTAACTACCAACATGAAGAAACAATTTATAATTTACTTAAGGATTGTCCAGCTGTTGCTAAACATGACTTCTTTAAGTTTAGAATAGACGGTGACATGGTACCACATATATCACGTCAACGTCTTACTAAATACACAATGGCAGACCTCGTCTATGCTTTAAGGCATTTTGATGAAGGTAATTGTGACACATTAAAAGAAATACTTGTCACATACAATTGTTGTGATGATGATTATTTCAATAAAAAGGACTGGTATGATTTTGTAGAAAACCCAGATATATTACGCGTATACGCCAACTTAGGTGAACGTGTACGCCAAGCTTTGTTAAAAACAGTACAATTCTGTGATGCCATGCGAAATGCTGGTATTGTTGGTGTACTGACATTAGATAATCAAGATCTCAATGGTAACTGGTATGATTTCGGTGATTTCATACAAACCACGCCAGGTAGTGGAGTTCCTGTTGTAGATTCTTATTATTCATTGTTAATGCCTATATTAACCTTGACCAGGGCTTTAACTGCAGAGTCACATGTTGACACTGACTTAACAAAGCCTTACATTAAGTGGGATTTGTTAAAATATGACTTCACGGAAGAGAGGTTAAAACTCTTTGACCGTTATTTTAAATATTGGGATCAGACATACCACCCAAATTGTGTTAACTGTTTGGATGACAGATGCATTCTGCATTGTGCAAACTTTAATGTTTTATTCTCTACAGTGTTCCCACCTACAAGTTTTGGACCACTAGTGAGAAAAATATTTGTTGATGGTGTTCCATTTGTAGTTTCAACTGGATACCACTTCAGAGAGCTAGGTGTTGTACATAATCAGGATGTAAACTTACATAGCTCTAGACTTAGTTTTAAGGAATTACTTGTGTATGCTGCTGACCCTGCTATGCACGCTGCTTCTGGTAATCTATTACTAGATAAACGCACTACGTGCTTTTCAGTAGCTGCACTTACTAACAATGTTGCTTTTCAAACTGTCAAACCCGGTAATTTTAACAAAGACTTCTATGACTTTGCTGTGTCTAAGGGTTTCTTTAAGGAAGGAAGTTCTGTTGAATTAAAACACTTCTTCTTTGCTCAGGATGGTAATGCTGCTATCAGCGATTATGACTACTATCGTTATAATCTACCAACAATGTGTGATATCAGACAACTACTATTTGTAGTTGAAGTTGTTGATAAGTACTTTGATTGTTACGATGGTGGCTGTATTAATGCTAACCAAGTCATCGTCAACAACCTAGACAAATCAGCTGGTTTTCCATTTAATAAATGGGGTAAGGCTAGACTTTATTATGATTCAATGAGTTATGAGGATCAAGATGCACTTTTCGCATATACAAAACGTAATGTCATCCCTACTATAACTCAAATGAATCTTAAGTATGCCATTAGTGCAAAGAATAGAGCTCGCACCGTAGCTGGTGTCTCTATCTGTAGTACTATGACCAATAGACAGTTTCATCAAAAATTATTGAAATCAATAGCCGCCACTAGAGGAGCTACTGTAGTAATTGGAACAAGCAAATTCTATGGTGGTTGGCACAACATGTTAAAAACTGTTTATAGTGATGTAGAAAACCCTCACCTTATGGGTTGGGATTATCCTAAATGTGATAGAGCCATGCCTAACATGCTTAGAATTATGGCCTCACTTGTTCTTGCTCGCAAACATACAACGTGTTGTAGCTTGTCACACCGTTTCTATAGATTAGCTAATGAGTGTGCTCAAGTATTGAGTGAAATGGTCATGTGTGGCGGTTCACTATATGTTAAACCAGGTGGAACCTCATCAGGAGATGCCACAACTGCTTATGCTAATAGTGTTTTTAACATTTGTCAAGCTGTCACGGCCAATGTTAATGCACTTTTATCTACTGATGGTAACAAAATTGCCGATAAGTATGTCCGCAATTTACAACACAGACTTTATGAGTGTCTCTATAGAAATAGAGATGTTGACACAGACTTTGTGAATGAGTTTTACGCATATTTGCGTAAACATTTCTCAATGATGATACTCTCTGACGATGCTGTTGTGTGTTTCAATAGCACTTATGCATCTCAAGGTCTAGTGGCTAGCATAAAGAACTTTAAGTCAGTTCTTTATTATCAAAACAATGTTTTTATGTCTGAAGCAAAATGTTGGACTGAGACTGACCTTACTAAAGGACCTCATGAATTTTGCTCTCAACATACAATGCTAGTTAAACAGGGTGATGATTATGTGTACCTTCCTTACCCAGATCCATCAAGAATCCTAGGGGCCGGCTGTTTTGTAGATGATATCGTAAAAACAGATGGTACACTTATGATTGAACGGTTCGTGTCTTTAGCTATAGATGCTTACCCACTTACTAAACATCCTAATCAGGAGTATGCTGATGTCTTTCATTTGTACTTACAATACATAAGAAAGCTACATGATGAGTTAACAGGACACATGTTAGACATGTATTCTGTTATGCTTACTAATGATAACACTTCAAGGTATTGGGAACCTGAGTTTTATGAGGCTATGTACACACCGCATACAGTCTTACAGGCTGTTGGGGCTTGTGTTCTTTGCAATTCACAGACTTCATTAAGATGTGGTGCTTGCATACGTAGACCATTCTTATGTTGTAAATGCTGTTACGACCATGTCATATCAACATCACATAAATTAGTCTTGTCTGTTAATCCGTATGTTTGCAATGCTCCAGGTTGTGATGTCACAGATGTGACTCAACTTTACTTAGGAGGTATGAGCTATTATTGTAAATCACATAAACCACCCATTAGTTTTCCATTGTGTGCTAATGGACAAGTTTTTGGTTTATATAAAAATACATGTGTTGGTAGCGATAATGTTACTGACTTTAATGCAATTGCAACATGTGACTGGACAAATGCTGGTGATTACATTTTAGCTAACACCTGTACTGAAAGACTCAAGCTTTTTGCAGCAGAAACGCTCAAAGCTACTGAGGAGACATTTAAACTGTCTTATGGTATTGCTACTGTACGTGAAGTGCTGTCTGACAGAGAATTACATCTTTCATGGGAAGTTGGTAAACCTAGACCACCACTTAACCGAAATTATGTCTTTACTGGTTATCGTGTAACTAAAAACAGTAAAGTACAAATAGGAGAGTACACCTTTGAAAAAGGTGACTATGGTGATGCTGTTGTTTACCGAGGTACAACAACTTACAAATTAAATGTTGGTGATTATTTTGTGCTGACATCACATACAGTAATGCCATTAAGTGCACCTACACTAGTGCCACAAGAGCACTATGTTAGAATTACTGGCTTATACCCAACACTCAATATCTCAGATGAGTTTTCTAGCAATGTTGCAAATTATCAAAAGGTTGGTATGCAAAAGTATTCTACACTCCAGGGACCACCTGGTACTGGTAAGAGTCATTTTGCTATTGGCCTAGCTCTCTACTACCCTTCTGCTCGCATAGTGTATACAGCTTGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCCTATAGATAAATGTAGTAGAATTATACCTGCACGTGCTCGTGTAGAGTGTTTTGATAAATTCAAAGTGAATTCAACATTAGAACAGTATGTCTTTTGTACTGTAAATGCATTGCCTGAGACGACAGCAGATATAGTTGTCTTTGATGAAATTTCAATGGCCACAAATTATGATTTGAGTGTTGTCAATGCCAGATTACGTGCTAAGCACTATGTGTACATTGGCGACCCTGCTCAATTACCTGCACCACGCACATTGCTAACTAAGGGCACACTAGAACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTGCTGAAATTGTTGACACTGTGAGTGCTTTGGTTTATGATAATAAGCTTAAAGCACATAAAGACAAATCAGCTCAATGCTTTAAAATGTTTTATAAGGGTGTTATCACGCATGATGTTTCATCTGCAATTAACAGGCCACAAATAGGCGTGGTAAGAGAATTCCTTACACGTAACCCTGCTTGGAGAAAAGCTGTCTTTATTTCACCTTATAATTCACAGAATGCTGTAGCCTCAAAGATTTTGGGACTACCAACTCAAACTGTTGATTCATCACAGGGCTCAGAATATGACTATGTCATATTCACTCAAACCACTGAAACAGCTCACTCTTGTAATGTAAACAGATTTAATGTTGCTATTACCAGAGCAAAAGTAGGCATACTTTGCATAATGTCTGATAGAGACCTTTATGACAAGTTGCAATTTACAAGTCTTGAAATTCCACGTAGGAATGTGGCAACTTTACAAGCTGAAAATGTAACAGGACTCTTTAAAGATTGTAGTAAGGTAATCACTGGGTTACATCCTACACAGGCACCTACACACCTCAGTGTTGACACTAAATTCAAAACTGAAGGTTTATGTGTTGACATACCTGGCATACCTAAGGACATGACCTATAGAAGACTCATCTCTATGATGGGTTTTAAAATGAATTATCAAGTTAATGGTTACCCTAACATGTTTATCACCCGCGAAGAAGCTATAAGACATGTACGTGCATGGATTGGCTTCGATGTCGAGGGGTGTCATGCTACTAGAGAAGCTGTTGGTACCAATTTACCTTTACAGCTAGGTTTTTCTACAGGTGTTAACCTAGTTGCTGTACCTACAGGTTATGTTGATACACCTAATAATACAGATTTTTCCAGAGTTAGTGCTAAACCACCGCCTGGAGATCAATTTAAACACCTCATACCACTTATGTACAAAGGACTTCCTTGGAATGTAGTGCGTATAAAGATTGTACAAATGTTAAGTGACACACTTAAAAATCTCTCTGACAGAGTCGTATTTGTCTTATGGGCACATGGCTTTGAGTTGACATCTATGAAGTATTTTGTGAAAATAGGACCTGAGCGCACCTGTTGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATCCGTTTATGATTGATGTTCAACAATGGGGTTTTACAGGTAACCTACAAAGCAACCATGATCTGTATTGTCAAGTCCATGGTAATGCACATGTAGCTAGTTGTGATGCAATCATGACTAGGTGTCTAGCTGTCCACGAGTGCTTTGTTAAGCGTGTTGACTGGACTATTGAATATCCTATAATTGGTGATGAACTGAAGATTAATGCGGCTTGTAGAAAGGTTCAACACATGGTTGTTAAAGCTGCATTATTAGCAGACAAATTCCCAGTTCTTCACGACATTGGTAACCCTAAAGCTATTAAGTGTGTACCTCAAGCTGATGTAGAATGGAAGTTCTATGATGCACAGCCTTGTAGTGACAAAGCTTATAAAATAGAAGAATTATTCTATTCTTATGCCACACATTCTGACAAATTCACAGATGGTGTATGCCTATTTTGGAATTGCAATGTCGATAGATATCCTGCTAATTCCATTGTTTGTAGATTTGACACTAGAGTGCTATCTAACCTTAACTTGCCTGGTTGTGATGGTGGCAGTTTGTATGTAAATAAACATGCATTCCACACACCAGCTTTTGATAAAAGTGCTTTTGTTAATTTAAAACAATTACCATTTTTCTATTACTCTGACAGTCCATGTGAGTCTCATGGAAAACAAGTAGTGTCAGATATAGATTATGTACCACTAAAGTCTGCTACGTGTATAACACGTTGCAATTTAGGTGGTGCTGTCTGTAGACATCATGCTAATGAGTACAGATTGTATCTCGATGCTTATAACATGATGATCTCAGCTGGCTTTAGCTTGTGGGTTTACAAACAATTTGATACTTATAACCTCTGGAACACTTTTACAAGACTTCAGAGTTTAGAAAATGTGGCTTTTAATGTTGTAAATAAGGGACACTTTGATGGACAACAGGGTGAAGTACCAGTTTCTATCATTAATAACACTGTTTACACAAAAGTTGATGGTGTTGATGTAGAATTGTTTGAAAATAAAACAACATTACCTGTTAATGTAGCATTTGAGCTTTGGGCTAAGCGCAACATTAAACCAGTACCAGAGGTGAAAATACTCAATAATTTGGGTGTGGACATTGCTGCTAATACTGTGATCTGGGACTACAAAAGAGATGCTCCAGCACATATATCTACTATTGGTGTTTGTTCTATGACTGACATAGCCAAGAAACCAACTGAAACGATTTGTGCACCACTCACTGTCTTTTTTGATGGTAGAGTTGATGGTCAAGTAGACTTATTTAGAAATGCCCGTAATGGTGTTCTTATTACAGAAGGTAGTGTTAAAGGTTTACAACCATCTGTAGGTCCCAAACAAGCTAGTCTTAATGGAGTCACATTAATTGGAGAAGCCGTAAAAACACAGTTCAATTATTATAAGAAAGTTGATGGTGTTGTCCAACAATTACCTGAAACTTACTTTACTCAGAGTAGAAATTTACAAGAATTTAAACCCAGGAGTCAAATGGAAATTGATTTCTTAGAATTAGCTATGGATGAATTCATTGAACGGTATAAATTAGAAGGCTATGCCTTCGAACATATCGTTTATGGAGATTTTAGTCATAGTCAGTTAGGTGGTTTACATCTACTGATTGGACTAGCTAAACGTTTTAAGGAATCACCTTTTGAATTAGAAGATTTTATTCCTATGGACAGTACAGTTAAAAACTATTTCATAACAGATGCGCAAACAGGTTCATCTAAGTGTGTGTGTTCTGTTATTGATTTATTACTTGATGATTTTGTTGAAATAATAAAATCCCAAGATTTATCTGTAGTTTCTAAGGTTGTCAAAGTGACTATTGACTATACAGAAATTTCATTTATGCTTTGGTGTAAAGATGGCCATGTAGAAACATTTTACCCAAAATTACAATCTAGTCAAGCGTGGCAACCGGGTGTTGCTATGCCTAATCTTTACAAAATGCAAAGAATGCTATTAGAAAAGTGTGACCTTCAAAATTATGGTGATAGTGCAACATTACCTAAAGGCATAATGATGAATGTCGCAAAATATACTCAACTGTGTCAATATTTAAACACATTAACATTAGCTGTACCCTATAATATGAGAGTTATACATTTTGGTGCTGGTTCTGATAAAGGAGTTGCACCAGGTACAGCTGTTTTAAGACAGTGGTTGCCTACGGGTACGCTGCTTGTCGATTCAGATCTTAATGACTTTGTCTCTGATGCAGATTCAACTTTGATTGGTGATTGTGCAACTGTACATACAGCTAATAAATGGGATCTCATTATTAGTGATATGTACGACCCTAAGACTAAAAATGTTACAAAAGAAAATGACTCTAAAGAGGGTTTTTTCACTTACATTTGTGGGTTTATACAACAAAAGCTAGCTCTTGGAGGTTCCGTGGCTATAAAGATAACAGAACATTCTTGGAATGCTGATCTTTATAAGCTCATGGGACACTTCGCATGGTGGACAGCCTTTGTTACTAATGTGAATGCGTCATCATCTGAAGCATTTTTAATTGGATGTAATTATCTTGGCAAACCACGCGAACAAATAGATGGTTATGTCATGCATGCAAATTACATATTTTGGAGGAATACAAATCCAATTCAGTTGTCTTCCTATTCTTTATTTGACATGAGTAAATTTCCCCTTAAATTAAGGGGTACTGCTGTTATGTCTTTAAAAGAAGGTCAAATCAATGATATGATTTTATCTCTTCTTAGTAAAGGTAGACTTATAATTAGAGAAAACAACAGAGTTGTTATTTCTAGTGATGTTCTTGTTAACAACTAAACGAACAATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAGTCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCACACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCAGGACTTGTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAGGCTGGATTTTTGGTACTACTTTAGATTCGAAGACCCAGTCCCTACTTATTGTTAATAACGCTACTAATGTTGTTATTAAAGTCTGTGAATTTCAATTTTGTAATGATCCATTTTTGGGTGTTTATTACCACAAAAACAACAAAAGTTGGATGGAAAGTGAGTTCAGAGTTTATTCTAGTGCGAATAATTGCACTTTTGAATATGTCTCTCAGCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGTGTTTAAGAATATTGATGGTTATTTTAAAATATATTCTAAGCACACGCCTATTAATTTAGTGCGTGATCTCCCTCAGGGTTTTTCGGCTTTAGAACCATTGGTAGATTTGCCAATAGGTATTAACATCACTAGGTTTCAAACTTTACTTGCTTTACATAGAAGTTATTTGACTCCTGGTGATTCTTCTTCAGGTTGGACAGCTGGTGCTGCAGCTTATTATGTGGGTTATCTTCAACCTAGGACTTTTCTATTAAAATATAATGAAAATGGAACCATTACAGATGCTGTAGACTGTGCACTTGACCCTCTCTCAGAAACAAAGTGTACGTTGAAATCCTTCACTGTAGAAAAAGGAATCTATCAAACTTCTAACTTTAGAGTCCAACCAACAGAATCTATTGTTAGATTTCCTAATATTACAAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTGGAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGTTATAGCTTGGAATTCTAACAATCTTGATTCTAAGGTTGGTGGTAATTATAATTACCTGTATAGATTGTTTAGGAAGTCTAATCTCAAACCTTTTGAGAGAGATATTTCAACTGAAATCTATCAGGCCGGTAGCACACCTTGTAATGGTGTTGAAGGTTTTAATTGTTACTTTCCTTTACAATCATATGGTTTCCAACCCACTAATGGTGTTGGTTACCAACCATACAGAGTAGTAGTACTTTCTTTTGAACTTCTACATGCACCAGCAACTGTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGGTGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCAGGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTGGCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTGCAGGCTGTTTAATAGGGGCTGAACATGTCAACAACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCATACCCACAAATTTTACTATTAGTGTTACCACAGAAATTCTACCAGTGTCTATGACCAAGACATCAGTAGATTGTACAATGTACATTTGTGGTGATTCAACTGAATGCAGCAATCTTTTGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAGCAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTTCATCAAACAATATGGTGATTGCCTTGGTGATATTGCTGCTAGAGACCTCATTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGGGTACAATCACTTCTGGTTGGACCTTTGGTGCAGGTGCTGCATTACAAATACCATTTGCTATGCAAATGGCTTATAGGTTTAATGGTATTGGAGTTACACAGAATGTTCTCTATGAGAACCAAAAATTGATTGCCAACCAATTTAATAGTGCTATTGGCAAAATTCAAGACTCACTTTCTTCCACAGCAAGTGCACTTGGAAAACTTCAAGATGTGGTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCACAGGCAGACTTCAAAGTTTGCAGACATATGTGACTCAACAATTAATTAGAGCTGCAGAAATCAGAGCTTCTGCTAATCTTGCTGCTACTAAAATGTCAGAGTGTGTACTTGGACAATCAAAAAGAGTTGATTTTTGTGGAAAGGGCTATCATCTTATGTCCTTCCCTCAGTCAGCACCTCATGGTGTAGTCTTCTTGCATGTGACTTATGTCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTGGTAACTGTGATGTTGTAATAGGAATTGTCAACAACACAGTTTATGATCCTTTGCAACCTGAATTAGACTCATTCAAGGAGGAGTTAGATAAATATTTTAAGAATCATACATCACCAGATGTTGATTTAGGTGACATCTCTGGCATTAATGCTTCAGTTGTAAACATTCAAAAAGAAATTGACCGCCTCAATGAGGTTGCCAAGAATTTAAATGAATCTCTCATCGATCTCCAAGAACTTGGAAAGTATGAGCAGTATATAAAATGGCCATGGTACATTTGGCTAGGTTTTATAGCTGGCTTGATTGCCATAGTAATGGTGACAATTATGCTTTGCTGTATGACCAGTTGCTGTAGTTGTCTCAAGGGCTGTTGTTCTTGTGGATCCTGCTGCAAATTTGATGAAGACGACTCTGAGCCAGTGCTCAAAGGAGTCAAATTACATTACACATAAACGAACTTATGGATTTGTTTATGAGAATCTTCACAATTGGAACTGTAACTTTGAAGCAAGGTGAAATCAAGGATGCTACTCCTTCAGATTTTGTTCGCGCTACTGCAACGATACCGATACAAGCCTCACTCCCTTTCGGATGGCTTATTGTTGGCGTTGCACTTCTTGCTGTTTTTCAGAGCGCTTCCAAAATCATAACCCTCAAAAAGAGATGGCAACTAGCACTCTCCAAGGGTGTTCACTTTGTTTGCAACTTGCTGTTGTTGTTTGTAACAGTTTACTCACACCTTTTGCTCGTTGCTGCTGGCCTTGAAGCCCCTTTTCTCTATCTTTATGCTTTAGTCTACTTCTTGCAGAGTATAAACTTTGTAAGAATAATAATGAGGCTTTGGCTTTGCTGGAAATGCCGTTCCAAAAACCCATTACTTTATGATGCCAACTATTTTCTTTGCTGGCATACTAATTGTTACGACTATTGTATACCTTACAATAGTGTAACTTCTTCAATTGTCATTACTTCAGGTGATGGCACAACAAGTCCTATTTCTGAACATGACTACCAGATTGGTGGTTATACTGAAAAATGGGAATCTGGAGTAAAAGACTGTGTTGTATTACACAGTTACTTCACTTCAGACTATTACCAGCTGTACTCAACTCAATTGAGTACAGACACTGGTGTTGAACATGTTACCTTCTTCATCTACAATAAAATTGTTGATGAGCCTGAAGAACATGTCCAAATTCACACAATCGACGGTTCATCCGGAGTTGTTAATCCAGTAATGGAACCAATTTATGATGAACCGACGACGACTACTAGCGTGCCTTTGTAAGCACAAGCTGATGAGTACGAACTTATGTACTCATTCGTTTCGGAAGAGACAGGTACGTTAATAGTTAATAGCGTACTTCTTTTTCTTGCTTTCGTGGTATTCTTGCTAGTTACACTAGCCATCCTTACTGCGCTTCGATTGTGTGCGTACTGCTGCAATATTGTTAACGTGAGTCTTGTAAAACCTTCTTTTTACGTTTACTCTCGTGTTAAAAATCTGAATTCTTCTAGAGTTCCTGATCTTCTGGTCTAAACGAACTAAATATTATATTAGTTTTTCTGTTTGGAACTTTAATTTTAGCCATGGCAGATTCCAACGGTACTATTACCGTTGAAGAGCTTAAAAAGCTCCTTGAACAATGGAACCTAGTAATAGGTTTCCTATTCCTTACATGGATTTGTCTTCTACAATTTGCCTATGCCAACAGGAATAGGTTTTTGTATATAATTAAGTTAATTTTCCTCTGGCTGTTATGGCCAGTAACTTTAGCTTGTTTTGTGCTTGCTGCTGTTTACAGAATAAATTGGATCACCGGTGGAATTGCTATCGCAATGGCTTGTCTTGTAGGCTTGATGTGGCTCAGCTACTTCATTGCTTCTTTCAGACTGTTTGCGCGTACGCGTTCCATGTGGTCATTCAATCCAGAAACTAACATTCTTCTCAACGTGCCACTCCATGGCACTATTCTGACCAGACCGCTTCTAGAAAGTGAACTCGTAATCGGAGCTGTGATCCTTCGTGGACATCTTCGTATTGCTGGACACCATCTAGGACGCTGTGACATCAAGGACCTGCCTAAAGAAATCACTGTTGCTACATCACGAACGCTTTCTTATTACAAATTGGGAGCTTCGCAGCGTGTAGCAGGTGACTCAGGTTTTGCTGCATACAGTCGCTACAGGATTGGCAACTATAAATTAAACACAGACCATTCCAGTAGCAGTGACAATATTGCTTTGCTTGTACAGTAAGTGACAACAGATGTTTCATCTCGTTGACTTTCAGGTTACTATAGCAGAGATATTACTAATTATTATGAGGACTTTTAAAGTTTCCATTTGGAATCTTGATTACATCATAAACCTCATAATTAAAAATTTATCTAAGTCACTAACTGAGAATAAATATTCTCAATTAGATGAAGAGCAACCAATGGAGATTGATTAAACGAACATGAAAATTATTCTTTTCTTGGCACTGATAACACTCGCTACTTGTGAGCTTTATCACTACCAAGAGTGTGTTAGAGGTACAACAGTACTTTTAAAAGAACCTTGCTCTTCTGGAACATACGAGGGCAATTCACCATTTCATCCTCTAGCTGATAACAAATTTGCACTGACTTGCTTTAGCACTCAATTTGCTTTTGCTTGTCCTGACGGCGTAAAACACGTCTATCAGTTACGTGCCAGATCAGTTTCACCTAAACTGTTCATCAGACAAGAGGAAGTTCAAGAACTTTACTCTCCAATTTTTCTTATTGTTGCGGCAATAGTGTTTATAACACTTTGCTTCACACTCAAAAGAAAGACAGAATGATTGAACTTTCATTAATTGACTTCTATTTGTGCTTTTTAGCCTTTCTGCTATTCCTTGTTTTAATTATGCTTATTATCTTTTGGTTCTCACTTGAACTGCAAGATCATAATGAAACTTGTCACGCCTAAACGAACATGAAATTTCTTGTTTTCTTAGGAATCATCACAACTGTAGCTGCATTTCACCAAGAATGTAGTTTACAGTCATGTACTCAACATCAACCATATGTAGTTGATGACCCGTGTCCTATTCACTTCTATTCTAAATGGTATATTAGAGTAGGAGCTAGAAAATCAGCACCTTTAATTGAATTGTGCGTGGATGAGGCTGGTTCTAAATCACCCATTCAGTACATCGATATCGGTAATTATACAGTTTCCTGTTTACCTTTTACAATTAATTGCCAGGAACCTAAATTGGGTAGTCTTGTAGTGCGTTGTTCGTTCTATGAAGACTTTTTAGAGTATCATGACGTTCGTGTTGTTTTAGATTTCATCTAAACGAACAAACTAAAATGTCTGATAATGGACCCCAAAATCAGCGAAATGCACCCCGCATTACGTTTGGTGGACCCTCAGATTCAACTGGCAGTAACCAGAATGGAGAACGCAGTGGGGCGCGATCAAAACAACGTCGGCCCCAAGGTTTACCCAATAATACTGCGTCTTGGTTCACCGCTCTCACTCAACATGGCAAGGAAGACCTTAAATTCCCTCGAGGACAAGGCGTTCCAATTAACACCAATAGCAGTCCAGATGACCAAATTGGCTACTACCGAAGAGCTACCAGACGAATTCGTGGTGGTGACGGTAAAATGAAAGATCTCAGTCCAAGATGGTATTTCTACTACCTAGGAACTGGGCCAGAAGCTGGACTTCCCTATGGTGCTAACAAAGACGGCATCATATGGGTTGCAACTGAGGGAGCCTTGAATACACCAAAAGATCACATTGGCACCCGCAATCCTGCTAACAATGCTGCAATCGTGCTACAACTTCCTCAAGGAACAACATTGCCAAAAGGCTTCTACGCAGAAGGGAGCAGAGGCGGCAGTCAAGCCTCTTCTCGTTCCTCATCACGTAGTCGCAACAGTTCAAGAAATTCAACTCCAGGCAGCAGTAGGGGAACTTCTCCTGCTAGAATGGCTGGCAATGGCGGTGATGCTGCTCTTGCTTTGCTGCTGCTTGACAGATTGAACCAGCTTGAGAGCAAAATGTCTGGTAAAGGCCAACAACAACAAGGCCAAACTGTCACTAAGAAATCTGCTGCTGAGGCTTCTAAGAAGCCTCGGCAAAAACGTACTGCCACTAAAGCATACAATGTAACACAAGCTTTCGGCAGACGTGGTCCAGAACAAACCCAAGGAAATTTTGGGGACCAGGAACTAATCAGACAAGGAACTGATTACAAACATTGGCCGCAAATTGCACAATTTGCCCCCAGCGCTTCAGCGTTCTTCGGAATGTCGCGCATTGGCATGGAAGTCACACCTTCGGGAACGTGGTTGACCTACACAGGTGCCATCAAATTGGATGACAAAGATCCAAATTTCAAAGATCAAGTCATTTTGCTGAATAAGCATATTGACGCATACAAAACATTCCCACCAACAGAGCCTAAAAAGGACAAAAAGAAGAAGGCTGATGAAACTCAAGCCTTACCGCAGAGACAGAAGAAACAGCAAACTGTGACTCTTCTTCCTGCTGCAGATTTGGATGATTTCTCCAAACAATTGCAACAATCCATGAGCAGTGCTGACTCAACTCAGGCCTAAACTCATGCAGACCACACAAGGCAGATGGGCTATATAAACGTTTTCGCTTTTCCGTTTACGATATATAGTCTACTCTTGTGCAGAATGAATTCTCGTAACTACATAGCACAAGTAGATGTAGTTAACTTTAATCTCACATAGCAATCTTTAATCAGTGTGTAACATTAGGGAGGACTTGAAAGAGCCACCACATTTTCACCGAGGCCACGCGGAGTACGATCGAGTGTACAGTGAACAATGCTAGGGAGAGCTGCCTATATGGAAGAGCCCTAATGTGTAAAATTAATTTTAGTAGTGCTATCCCCATGTGATTTTAATAGCTTCTTAGGAGAATGACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
    
    cov_index = 0
    cov_len = len(seq)
    
    class Raketa:
    
        def __init__(self, screen, rychlost=10):
            self.screen = screen
            # maximální šířka a vejška tý naší vobrazovky/terminálu v počtu znaků
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # počáteční iksová souřadnice bude náhodnej sloupek pět znaků vod vokraje
            # protože na vokraji ty výbuchy nebyly hezký protože nebyly vidět :D
            self.x = random.randint(5, max_sirka - 5)
    
            # spodek vobrazovky má max hodnotu, vršek má navopak 0
            self.y = max_vyska - 1
    
            # vejška ve který rachejtle vybuchne
            # nejdřiv muže vybuchnout ve čtvrtině vejšky vobrazovky + nějaká náhoda
            self.vyska_kdy_bouchne = max_vyska // 4 + random.randint(0, max_vyska // 2)
    
            # rychlost jakou jako letí nahoru
            self.rychlost = rychlost
    
        # aktualizace proměnejch podle rozdílu času
        def aktualizace(self, dt):
            self.y -= self.rychlost * dt
    
        # vykreslení na vobrazovku
        def namalovat(self):
            # musíme souřadnice zavokrouhlit nebo převíst na int
            # float to papá nerado :D
            pos_y = int(round(self.y))
            # vykreslíme na vobrazovku tu raketu
            self.screen.addstr(pos_y, self.x, '|')
    
        # true/false jestli už je ve vejšce ve který muže bouchnout
        def bouchla(self):
            return self.y < self.vyska_kdy_bouchne
    
    
    class Jiskra:
    
        def __init__(self, screen, pozice, smer, barva, rychlost=15, gravitace=10):
    
            self.screen = screen
            self.barva = barva
    
            self.x = pozice[0]
            self.y = pozice[1]
            self.smer_x = smer[0]
            self.smer_y = smer[1]
            self.rychlost = rychlost
            self.gravitace = gravitace
    
        def namalovat(self):
    
            global cov_index
            pos_x = int(round(self.x))
            pos_y = int(round(self.y))
    
            max_vyska, max_sirka = self.screen.getmaxyx()
    
            # kouknem jestli souřadnicema jakoby leží na vobrazovce jinak ji nemužem vykreslit
            if pos_x <= 1 or pos_y <= 1 or pos_x >= max_sirka - 1 or pos_y >= max_vyska - 1:
                return
    
            znak = seq[cov_index]
            cov_index+=1
            if cov_index == cov_len:
                cov_index = 0
            
            # jestli mužem v týdle konzoli kreslit barevně vykreslíme s nějakou
            # moc hezkou barvičkou :D :D :D :D
            if curses.can_change_color():
                # všiměte si že voni to maj prohozený to iks s ipsilonem v těch souřadnicích než bejvá vobvyklý :O :O
                self.screen.addstr(pos_y, pos_x, znak, curses.color_pair(self.barva))
            else:
                self.screen.addstr(pos_y, pos_x, znak)
    
        def aktualizace(self, dt):
    
            self.x += self.smer_x * self.rychlost * dt
            self.y += self.smer_y * self.rychlost * dt
    
            # navíc přičtem efekt gravitace aby jakože pomaličku kařdým krokem letěly
            # ty jiskřičky víc dolu abyto bylo jakoby trošku víc realnější :D ;D
            self.y += self.gravitace * dt
    
    
    class Vybuch:
    
        def __init__(self, screen, pozice, kolik_jiskricek, doba_trvani, barva):
    
            # doba trvání výbuchu rachejtle
            self.doba_trvani = doba_trvani
            # jednotlivý rachejtle v poli
            self.jiskry = []
    
            # smer jiskřiček z rachejtlí spočítáme sínusem a kosínusem noa nato
            # jakoby potřebujem znát úhel pod jakým jakoby vodlítaj vod středu výbuchu
            # ten určíme z dvě pí (jakoře jednou dokola nebo 360°) děleno počet jisker
            rust_uhlu = (math.pi * 2) / kolik_jiskricek
            for i in range(kolik_jiskricek):
                # kosínus/xová souřadnice je vynásobená dvouma aby to jakoby
                # kompenzovalo že znaky psaný v termiálu sou trošičku vyší než širší
                # bez tý kompenzace by to nedělalo kolečka ale jakože takový šišatý elipsy :D ;D
                smer = (math.cos(i * rust_uhlu) * 2, math.sin(i * rust_uhlu))
    
                # vyrobíme novej particle takový tý rachejtlový jiskry a skováme do pole
                jiskra = Jiskra(screen, pozice, smer, barva)
                self.jiskry.append(jiskra)
    
        def aktualizace(self, dt):
    
            # vodečtem dobu trvání
            self.doba_trvani -= dt
            # a aktualizujem všecky jiskry
            for jiskra in self.jiskry:
                jiskra.aktualizace(dt)
    
        def namalovat(self):
            # vykreslíme všecky jisrky
            for jiskra in self.jiskry:
                jiskra.namalovat()
    
        # jestli mu jetště jakoby zbejvá nějaká doba trvání :O :O
        def zije_este(self):
            return self.doba_trvani > 0
    
    
    # funkce co strčíme do curses wrapperu
    # ten argument 'stdscr' je instance vobrazovky/terminálu kterou nám řekne curses.wrapper
    # do ni budem vykreslovat ty naše výbuchy a rachejtle ;D
    def main(stdscr):
        rakety = []
        vybuchy = []
    
        # jestli mužem v terminálu měnit barvičky
        # tak si připravýme všecky možný
        if curses.can_change_color:
            curses.start_color()
            curses.use_default_colors()
            for i in range(0, curses.COLORS):
                # curses ukládá barvičky v párech voznačený/pomenovaný nenulovým indexem
                # pred použitím se musej inicializovat a přiřadit jim ten index
                # noa samotnej ten pár se zkládá z barvy textu a barvy pozadí taky voznačený číslem
                # první argument je index druhej barva textu a třetí barva pozadí
                curses.init_pair(i + 1, i, 0)
    
        # zneviditelníme kruzor
        # jinak by nám tam furt někde blikal černobíle
        curses.curs_set(0)
    
        # naplníme pole rachejtlí podle zadanýho počtu
        for i in range(pocet_raket):
            raketa = Raketa(stdscr)
            rakety.append(raketa)
    
        # dozblnutí budem střílet donebe rachejtlema
        # de zabít máčknutím ctrl+c
        while True:
    
            # vyčistíme vobrazovku
            stdscr.clear()
    
            for raketa in rakety:
    
                # jestli raketa bouchla tak ji vodstraníme z pole na její souřadnici vyrobíme novej výbuch a do polí 
                # raket dáme novou raketu. ekologisti si mužou třídu raket upravit tak aby se misto vodstraňování starý 
                # instance a vyrábění nový raketa recyklovala a 'teleportovala' nazačátek :D ;D 
                if raketa.bouchla():
                    pozice = (raketa.x, raketa.y)
                    rakety.remove(raketa)
    
                    novy_vybuch = Vybuch(stdscr, pozice, random.randint(15, 50), 2, random.randint(0, 255))
                    vybuchy.append(novy_vybuch)
    
                    nova_raketa = Raketa(stdscr)
                    rakety.append(nova_raketa)
                else:
                    raketa.aktualizace(dt)
                    raketa.namalovat()
    
            # podobně vykreslujem aktualizujem a vodstraňujem výbuchy
            for vybuch in vybuchy:
                if vybuch.zije_este():
                    vybuch.aktualizace(dt)
                    vybuch.namalovat()
                else:
                    vybuchy.remove(vybuch)
    
            # aktualizujem vobrazovku
            stdscr.refresh()
    
            # a počkáme nějakou dobu dt než uděláme další průběh while cyklu
            time.sleep(dt)
    
    
    # vyrobení wrapperu do kterýho se strká ta naše funkce
    curses.wrapper(main)
    
    
    Jendа avatar 2.1. 16:36 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    2.1. 20:11 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Respekt!
    Blaazen avatar 2.1. 23:39 Blaazen | skóre: 24 | blog: BL
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Paráda! Ale radši si ten skript pouštějte jen v roušce! :D
    Jendа avatar 3.1. 01:08 Jendа | skóre: 77 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Hele nepřijde vám divný že jiskra jak se vzdaluje od epicentra tak každý frame změní nukleotid který ukazuje? Možná chcete jiskře přiřadit nukleotid na začátku a pak kreslit furt ten stejnej, ne?
    --- o.py	2021-01-02 21:18:46.408147382 +0100
    +++ oo.py	2021-01-03 01:07:00.665696266 +0100
    @@ -60,6 +60,7 @@
     class Jiskra:
      
         def __init__(self, screen, pozice, smer, barva, rychlost=15, gravitace=10):
    +        global cov_index
      
             self.screen = screen
             self.barva = barva
    @@ -70,10 +71,16 @@
             self.smer_y = smer[1]
             self.rychlost = rychlost
             self.gravitace = gravitace
    +
    +        znak = seq[cov_index]
    +        cov_index+=1
    +        if cov_index == cov_len:
    +            cov_index = 0
    +         
    +        self.nukleotid = znak
      
         def namalovat(self):
      
    -        global cov_index
             pos_x = int(round(self.x))
             pos_y = int(round(self.y))
      
    @@ -83,18 +90,13 @@
             if pos_x <= 1 or pos_y <= 1 or pos_x >= max_sirka - 1 or pos_y >= max_vyska - 1:
                 return
      
    -        znak = seq[cov_index]
    -        cov_index+=1
    -        if cov_index == cov_len:
    -            cov_index = 0
    -         
             # jestli mužem v týdle konzoli kreslit barevně vykreslíme s nějakou
             # moc hezkou barvičkou :D :D :D :D
             if curses.can_change_color():
                 # všiměte si že voni to maj prohozený to iks s ipsilonem v těch souřadnicích než bejvá vobvyklý :O :O
    -            self.screen.addstr(pos_y, pos_x, znak, curses.color_pair(self.barva))
    +            self.screen.addstr(pos_y, pos_x, self.nukleotid, curses.color_pair(self.barva))
             else:
    -            self.screen.addstr(pos_y, pos_x, znak)
    +            self.screen.addstr(pos_y, pos_x, self.nukleotid)
      
         def aktualizace(self, dt):
      
    
    Gréta avatar 4.1. 20:49 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    jj to je lepšejší :D :D

    3.1. 10:21 Radovan
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Nemáš tam i verzi pro Pygame? :)
    Gréta avatar 4.1. 20:56 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    curses má prej jakoby i win verzi jestli ti de vo todleto ;D

    4.1. 21:36 Radovan
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Ne, nende. Chtěl jsem to do Maliny :-P

    Na Didaktik Gama bych si to přepsal sám, ale doba pokročila, budu muset upgradovat...
    Gréta avatar 5.1. 13:04 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    schoď desktopový prostředí a pusť si to jakoby v terminálku :D :D ;D ;D

    5.1. 16:24 Radovan
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    To nemusím shazovat, přepnout do tty jsem se za těch asi osmnáct let, co jsem Linux potkal poprvé, už naučil ;-)

    Jo hele, tos mi připomněla: https://www.youtube.com/watch?v=Vo8NG8T4rWs
    Gréta avatar 5.1. 21:11 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    se divim že neposlali linuse dobasy zato že jim jakoby šloh nápad :O :O :D ;D

    Petr Fiedler avatar 2.1. 20:01 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Můžeš mi prosím tě odpovědět na tohle?

    Bedňa avatar 2.1. 21:24 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    python3 -m pip install pillow
    KERNEL ULTRAS video channel >>>
    Petr Fiedler avatar 2.1. 22:09 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Díky za ochotu.

    ~$ python3 -m pip install pillow
    /usr/bin/python3: No module named pip
    Petr Fiedler avatar 2.1. 22:11 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Nainstaloval jsem pip3 a jdu to zkusit.

    Petr Fiedler avatar 2.1. 22:21 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Ne.

    Bedňa avatar 2.1. 23:00 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Čo máš za distro? Ak je to distro z odnože Debian/Ubunut stačí príkaz?
    sudo apt install python3-pip
    Mno a potom:
    python3 -m pip install --upgrade pip
    Teraz už len ten PIL
    python3 -m pip install pillow
    KERNEL ULTRAS video channel >>>
    Petr Fiedler avatar 2.1. 23:10 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Používám Mint a taky virtuální prostředí, takže než ten kód spouštím, tak napřed dávám source venv/bin/activate

    $ sudo python3 -m pip install --upgrade pip
    Collecting pip
      Downloading pip-20.3.3-py2.py3-none-any.whl (1.5 MB)
         |████████████████████████████████| 1.5 MB 2.3 MB/s 
    Installing collected packages: pip
      Attempting uninstall: pip
        Found existing installation: pip 20.0.2
        Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
        Can't uninstall 'pip'. No files were found to uninstall.
    Successfully installed pip-20.3.3
    
    $ sudo python3 -m pip install pillow
    Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (7.0.0)
    
    $ python3 blyskavy_text.py 
    Traceback (most recent call last):
      File "blyskavy_text.py", line 9, in <module>
        from PIL import Image
    ModuleNotFoundError: No module named 'PIL'
    Bedňa avatar 2.1. 23:12 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Zatiaľ máš výstup v cajk.
    KERNEL ULTRAS video channel >>>
    2.1. 23:15 Bherzet | skóre: 19 | blog: Bherzetův blog
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Tady probíhá diskuze paralelně ve dvou threadech, ale imho ten výstup cajk není: https://www.abclinuxu.cz/blog/GretinBlogisek/2019/12/supr-blejskavej-text-v-pythonu/diskuse#46.
    Petr Fiedler avatar 2.1. 23:42 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    No co mám dělat, reagujete na 2 místech? Už mi to funguje.

    Gréta avatar 4.1. 20:48 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Už mi to funguje

    tak supr :D ;D

    Petr Fiedler avatar 4.1. 20:52 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Ne tak docela. Hvězdičky jsou v mailu statické a některá písmena s diakritikou skript nedokáže vygenerovat.

    Gréta avatar 4.1. 21:37 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    jestli to jakoby pišeš v thunderbirdu ty maily tak tam se jakoby ty gify při psaní nehejbou. co se testovala tak se hejbou jen při čtení doručenejch zpráv :O :O zkus si to poslat z druhýho mailu nějakýho a koukni jestli se to hejbe až jako doručený třeba :O :O

    font musí bejt nějakej unicode co podporuje český znaky v reakci sem tam hodina vodkaz na nějakej co mi teďkonc fungoval hele

    promiň za komplikace :O :O

    Petr Fiedler avatar 4.1. 23:54 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Právě, že jsem si to poslal a nehýbou se.

    Záš tohle? A tohle? Dobrý k tomu ohňostroji :D

    Petr Fiedler avatar 5.1. 01:54 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    A pochopitelně ještě tohle.

    Gréta avatar 5.1. 13:02 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    nóó se řiká že jako proti gustu žádnej dyšputát :D ;D

    btw sem si ty videjka votevřela přes tor a ty první dvě vubec nebyly dostupný až to třetí. všecky dostupný byly až když sem změnila identitu :O :O co je na nich jakoby tak děsně závadnýho žeje v nějakejch zemích blokujou?? :O :O

    Petr Fiedler avatar 5.1. 16:23 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Taky chodím na YT přes Tor a taky se mi někdy něco nechce spustit. Stává se mi to u více videí. Vlastně bych Tor používal mnohem více, ale nejde mi nastavit barvy, jako ve FF. Černé pozadí, zelený text atp. Nevíš jak na to? Ta možnost tam je, ale je to nějak rozbitý.

    Gréta avatar 5.1. 20:58 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    nóóó vono by se tam jako správně nemělo přiinstalovávat do tor browseru nic navíc co jakože fakt děsně moc nepotřebuješ ale funguje tam rozšíření dark reader jestli chceš tmavý pozadí se světlým textem hele :O :O

    Petr Fiedler avatar 6.1. 00:35 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    No já tam právě nic přiinstalovávat nechci. Mám tam jen uBlock Origin, protože bez toho se zrovna to YT absolutně nedá sledovat. Samá reklama. Já měl na mysli "Edit" > "Preferences" > "General" > "Colors". Tady jde nastavit černé pozadí atd. Ve Firefoxu to tak mám nataveno, ale když to nastavíš v Toru, tak to nefunguje. Teď si najsem jistý, ale myslím, že celá stránka je pak bílá a vidíš pouze nenavštívené odkazy, myslím.

    Ale dík za ten doplněk. Pokud to nepůjde jinak, tak to asi budu muset řešit jím.

    Petr Fiedler avatar 6.1. 03:00 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Tak jsem ten doplněk zkusil ve VM a funguje dobře. Sice se nadají navolit barvy, ale lepší než nic. Fakt ale nechápu, proč věc, která je vlastností prohlížeče nefunguje a doplněk ano.

    Hele, a proč vlastně není dobré do Toru něco instalovat? Kvůli identifikaci?

    Gréta avatar 6.1. 14:02 Gréta | skóre: 34 | blog: Grétin blogísek | Stockholm
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    možná proto že když si tam strčíš doplněk sám tak už to jakoby neni jejich zodpovědnost když tě agenti nsa chytnou :D :D ;D ;D

    Hele, a proč vlastně není dobré do Toru něco instalovat? Kvůli identifikaci?

    nóó tak tor večinou používaj lidi který jakoby chtěj bejt uplně v bezpečí a doplňky mužou mit nějakou slabinu/zranitelnost navíc nebo bejt rovnou škodicí hele :O :O když jako jenom házíš klacky podnohy různejm těm reklamním šmírákům tak ti to muže bejt +- jedno když budeš instalovat třeba jenom ty mozillou vověřený doplňky ale sou i různý ty čínský dizidenti a noa pro ně to už přijatelný riziko neni :O :O :O :O

    Petr Fiedler avatar 6.1. 17:06 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Fakt super článek! Díkec. Ten blog je taky super. Přidávám do záložek a budu sledovat. :)

    Petr Fiedler avatar 5.1. 23:01 Petr Fiedler | skóre: 34 | blog: Poradna | Brno
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D

    Tedy spíš se mi stává, že "Náš systém zaznamenal...".

    Bedňa avatar 2.1. 23:13 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    S drobnosťami si nelám hlavu :-)
    KERNEL ULTRAS video channel >>>
    Bedňa avatar 2.1. 23:19 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: silvestrovskej vohňostroj za 5 minut dvanáct :D ;D
    Aha do prdele nezroloval som. Mno divné to je :-D
    KERNEL ULTRAS video channel >>>

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.