# Natlink macro definitions for NaturallySpeaking
# coding: latin-1
# Generated by vcl2py 2.8.6, Fri Jun 26 11:31:08 2020

import natlink
from natlinkutils import *
from VocolaUtils import *


class ThisGrammar(GrammarBase):

    gramSpec = """

        <loginactie> = ('sjietmjoesik plus' | 'Aandachtvoorpesten' | 'netflix' | 'spraakherkenningacademie' | 'iejemmesselpee' | 'petroetsjie' | 'spotify' | 'efteepee faunabescherming' | 'Faunabescherming T-Mobile' | 'faunabescherming' | 'faunabescherming amazon' | 'faunabescherming superamazon' | 'faunabescherming plesk' | 'faunabescherming harm' | 'faunabescherming project' | 'faunabescherming ziezoo' | 'faunabescherming nieuwsbrief' | 'faunabescherming laposta' | 'faunabescherming google' | 'Faunabescherming Ricoh' | 'steunfonds' | 'belastingdienst steunfonds' | 'jachthutten' | 'zwijnensociteit' | 'steunfonds ABN AMRO bank' | 'rijn en veluwe' | 'woender list' | 'green choice' | 'hotmeel centrenimba' | 'lieswep' | 'efbee theo quintijn' | 'bibliotheek' | 'bibliotheek Arnhem' | 'feesboek' | 'evenementenkalender' | 'muziekladder' | 'nextdoor' | 'no brainer' | 'dropbox' | 'linked in' | 'bol punt kom' | 'active steet' | 'komodo' | 'Gelderlander' | 'SourceForge' | 'voice coder' | 'ah essen bank samen' | 'ah essen bank etta' | 'belastingdienst Quintijn' | 'belastingdienst Martijn' | 'belastingdienst samen' | 'webmeel antenna' | 'webmeel etta' | 'ovee chipkaart Quintijn' | 'ovee chipkaart Etta' | 'ovee fiets' | 'mijn deur tot deur' | 'twitter' | 'peepal kuhaa' | 'peepal Quintijn' | 'windows laaiv' | 'google quintijn hoogenboom' | 'google quintijn hageebee' | 'google de faunabescherming' | 'tie moobaail Quintijn' | 'tie moobaail faunabescherming' | 'ziggo' | 'voetafdruk nieuws' | 'iejengee bank' | 'iejengee creditcard' | 'istock' | 'peepal Quintijn' | 'peepal saaitgen' | 'hema' | 'diegiedee Quintijn' | 'diegiedee Etta' | 'diegiedee Martijn' | 'microsoft Quintijn' | 'github' | 'sitegen efteepee' | 'spraakherkenning academie' | 'walhall' | 'voor de kunst' | 'verhoeven' ) ;
        <1> = 'nieuw tabblad' ;
        <2> = 'breek regel' ;
        <3> = 'tot hier vet' ;
        <4> = 'kepslock' ;
        <5> = 'link kopiëren' ;
        <6> = ('login' | 'inloggen' ) <loginactie> ;
        <7> = ('wachtwoord' | 'passweurd' ) <loginactie> ;
        <8> = 'hier hobo hier' ('viola' | 'cello' | 'leeg' | 'soprano' | 'continuo' | 'rest' | 'boven' | 'bas' | 'part' ) ;
        <9> = ('rest' | 'part' ) ;
        <10> = 'patroon' ;
        <11> = 'hier patroon' ;
        <12> = 'patroon' (2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10) ;
        <13> = 'hier patroon' (2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10) ;
        <14> = 'check' ;
        <15> = 'je patroon test sendinput' ;
        <16> = 'hier inspecteren' ;
        <17> = 'inspecteren uit' ;
        <24> = 'inspecteren' ;
        <18> = 'Vernieuwen' ;
        <19> = 'facebook afmelden' ;
        <20> = 'facebook discussie afsluiter' ;
        <21> = 'knowbrainer test' ;
        <22> = 'faunabescherming test een' ;
        <23> = 'faunabescherming test twee' ;
        <any> = <1>|<2>|<3>|<4>|<5>|<6>|<7>|<8>|<9>|<10>|<11>|<12>|<13>|<14>|<15>|<16>|<17>|<24>|<18>|<19>|<20>;
        <sequence> exported = <any>;
        <any_set2> = <any>|<21>;
        <sequence_set2> exported = <any_set2>;
        <any_set3> = <any>|<22>|<23>;
        <sequence_set3> exported = <any_set3>;
    """
    
    def initialize(self):
        self.load(self.gramSpec)
        self.currentModule = ("","",0)
    
    def activate_rule(self, rule, window, status):
        if status:
            try:
                # print("activate rule %s for window: %s"% (rule,window))
                self.activate(rule, window)
            except natlink.BadWindow:
                pass
        else:
            # print('deactivate rule %s for window %s'% (rule, window))
            self.deactivate(rule, noError=1)


    def gotBegin(self,moduleInfo):
        self.firstWord = 0
        # Return if wrong application
        window = matchWindow(moduleInfo,'brave','')
        if not window: return None
        # Return if same window and title as before
        if moduleInfo == self.currentModule: return None
        self.currentModule = moduleInfo



        title = moduleInfo[1].lower()
        for titlepart, rule in [('knowbrainer', 'sequence_set2'), ('faunabescherming', 'sequence_set3'),]:
            status = title.find(titlepart) >= 0
            if status:
                self.activate_rule(rule, moduleInfo[2], True)
                print('set rule %s (%s)'% (rule, titlepart))
                break
        else:
            print('set default rule sequence')
            self.activate_rule('sequence', moduleInfo[2], True)



    def convert_number_word(self, word):
        return word

    def get_loginactie(self, list_buffer, functional, word):
        if word == 'sjietmjoesik plus':
            list_buffer += 'q.hoogenboom@antenna.nl:12345Etta@@'
        elif word == 'Aandachtvoorpesten':
            list_buffer += 'infofebmaart@aandachtvoorpesten.nl:34maan56voor78@@'
        elif word == 'netflix':
            list_buffer += 'q.hoogenboom@antenna.nl:etta123@@'
        elif word == 'spraakherkenningacademie':
            list_buffer += 'quintijn:Batt12345@@#'
        elif word == 'iejemmesselpee':
            list_buffer += 'Quintijn:RodeNachtegaal1@'
        elif word == 'petroetsjie':
            list_buffer += 'Quintijn:RodeNachtegaal1@'
        elif word == 'spotify':
            list_buffer += 'quintijnhgb:123456Etta@@'
        elif word == 'efteepee faunabescherming':
            list_buffer += 'quintijnfauna:0QyHCRAZf9'
        elif word == 'Faunabescherming T-Mobile':
            list_buffer += 'faunabescherming:GroeneSpecht2@@'
        elif word == 'faunabescherming':
            list_buffer += 'webmaster:GrijzeMuis2@@'
        elif word == 'faunabescherming amazon':
            list_buffer += 'QuintijnAdmin:WitteSpecht4@@@@'
        elif word == 'faunabescherming superamazon':
            list_buffer += 'info@faunabescherming.nl:987656'
        elif word == 'faunabescherming plesk':
            list_buffer += '2015-259:!Quintijn_2017'
        elif word == 'faunabescherming harm':
            list_buffer += 'harmniesen:ValeSpotvogel1@'
        elif word == 'faunabescherming project':
            list_buffer += 'Faunabescherming:(G1RVd(!ThJi@g(Wl#!fbt2A'
        elif word == 'faunabescherming ziezoo':
            list_buffer += 'facturen@faunabescherming.nl:facturen#@'
        elif word == 'faunabescherming nieuwsbrief':
            list_buffer += 'info@faunabescherming.nl:5m8Sze6ZUZ'
        elif word == 'faunabescherming laposta':
            list_buffer += 'info@faunabescherming.nl:Oever123Loper'
        elif word == 'faunabescherming google':
            list_buffer += 'faunabeschermingsecretariaat@gmail.com:RodeLijster3@@@'
        elif word == 'Faunabescherming Ricoh':
            list_buffer += 'FAUNABESHOOQ:GroteMeeuw1@'
        elif word == 'steunfonds':
            list_buffer += 'quintijn:N6siNGroteMees2@@'
        elif word == 'belastingdienst steunfonds':
            list_buffer += 'NL0048361868:H-reit1@'
        elif word == 'jachthutten':
            list_buffer += 'quintijn:J@cht-hut-2017'
        elif word == 'zwijnensociteit':
            list_buffer += 'quintijn:WildZwijn5@@@@@'
        elif word == 'steunfonds ABN AMRO bank':
            list_buffer += '472084593:361'
        elif word == 'rijn en veluwe':
            list_buffer += 'q.hoogenboom@antenna.nl:EenTweeDrie3@@@'
        elif word == 'woender list':
            list_buffer += 'q.hoogenboom@antenna.nl:12345Etta@@##'
        elif word == 'green choice':
            list_buffer += 'q.hoogenboom@antenna.nl:12345Etta@@#'
        elif word == 'hotmeel centrenimba':
            list_buffer += 'centrenimba@hotmail.com:123456Conakry@@'
        elif word == 'lieswep':
            list_buffer += 'q.hoogenboom@antenna.nl:135#AapNootMies@'
        elif word == 'efbee theo quintijn':
            list_buffer += 'quintijnfbto:1234567Etta123'
        elif word == 'bibliotheek':
            list_buffer += 'q.hoogenboom@antenna.nl:GeleLijster5@@@@@'
        elif word == 'bibliotheek Arnhem':
            list_buffer += '8507966670:GeleMees2@@'
        elif word == 'feesboek':
            list_buffer += 'q.hoogenboom@antenna.nl:Qh666Batt@'
        elif word == 'evenementenkalender':
            list_buffer += 'quintijnhgb:12345KleineWulp1@'
        elif word == 'muziekladder':
            list_buffer += 'q.hoogenboom_1035:12345KleineWulp1@'
        elif word == 'nextdoor':
            list_buffer += 'q.hoogenboom@antenna.nl:12345KleineWulp1@'
        elif word == 'no brainer':
            list_buffer += 'quintijn:123456Etta@@@'
        elif word == 'dropbox':
            list_buffer += 'q.hoogenboom@antenna.nl:123456Etta@@##'
        elif word == 'linked in':
            list_buffer += 'q.hoogenboom@antenna.nl:KleineKarekiet5@@@@@'
        elif word == 'bol punt kom':
            list_buffer += 'q.hoogenboom@antenna.nl:123456Etta@'
        elif word == 'active steet':
            list_buffer += 'q.hoogenboom@antenna.nl:KleineKarekiet1@'
        elif word == 'komodo':
            list_buffer += 'quintijn:123Etta@@##'
        elif word == 'Gelderlander':
            list_buffer += 'q.hoogenboom@antenna.nl:123etta'
        elif word == 'SourceForge':
            list_buffer += 'quintijn:THISiSSAYiT123@@'
        elif word == 'voice coder':
            list_buffer += 'vcode:sayit!'
        elif word == 'ah essen bank samen':
            list_buffer += 'hondenkolder88:1234@hoi5'
        elif word == 'ah essen bank etta':
            list_buffer += 'katten kolder 11:Varken 16 @'
        elif word == 'belastingdienst Quintijn':
            list_buffer += 'NL0001900391:Ja123Nee@@#ditisgoed'
        elif word == 'belastingdienst Martijn':
            list_buffer += 'NL0018663620:kraken33999@'
        elif word == 'belastingdienst samen':
            list_buffer += 'NL0018666877:IkWordGekVanDitGedoe123@@'
        elif word == 'webmeel antenna':
            list_buffer += 'quintijn:4hMrCc'
        elif word == 'webmeel etta':
            list_buffer += 'ettahgb:1234abcd'
        elif word == 'ovee chipkaart Quintijn':
            list_buffer += 'quintijnhgb:123etta@'
        elif word == 'ovee chipkaart Etta':
            list_buffer += 'ettahgb:123quintijn@'
        elif word == 'ovee fiets':
            list_buffer += 'q.hoogenboom@antenna.nl:@Sanne12345#'
        elif word == 'mijn deur tot deur':
            list_buffer += 'q.hoogenboom@antenna.nl:123456Etta@@@'
        elif word == 'twitter':
            list_buffer += 'q.hoogenboom@antenna.nl:ZwarteLijster2@@'
        elif word == 'peepal kuhaa':
            list_buffer += 'info@sitegen.nl:12345M888Q'
        elif word == 'peepal Quintijn':
            list_buffer += 'q.hoogenboom@antenna.nl:aXy15@qed#9'
        elif word == 'windows laaiv':
            list_buffer += 'q.hoogenboom@antenna.nl:123456Etta@'
        elif word == 'google quintijn hoogenboom':
            list_buffer += 'q.hoogenboom@antenna.nl:123456Conakry'
        elif word == 'google quintijn hageebee':
            list_buffer += 'quintijnhgb@gmail.com:12345Etta@@#'
        elif word == 'google de faunabescherming':
            list_buffer += 'defaunabescherming@gmail.com:zilver123mooi456weer'
        elif word == 'tie moobaail Quintijn':
            list_buffer += '0623841547:12345Etta@@#'
        elif word == 'tie moobaail faunabescherming':
            list_buffer += 'faunabescherming:ZwarteKip1@'
        elif word == 'ziggo':
            list_buffer += 'QHadvies:123456@Etta'
        elif word == 'voetafdruk nieuws':
            list_buffer += 'voetafdruknieuws:CO2-afdruk'
        elif word == 'iejengee bank':
            list_buffer += 'c84rjg9n:ZwarteSpecht2@@'
        elif word == 'iejengee creditcard':
            list_buffer += 'q.hoogenboom@antenna.nl:ZomerGans2@@'
        elif word == 'istock':
            list_buffer += 'q.hoogenboom@antenna.nl:ZwarteRat5@@@@@'
        elif word == 'peepal Quintijn':
            list_buffer += 'q.hoogenboom@antenna.nl:aXy15@qed#9'
        elif word == 'peepal saaitgen':
            list_buffer += 'info@sitegen.nl:12345M888Q'
        elif word == 'hema':
            list_buffer += 'q.hoogenboom@antenna.nl:123ettahema'
        elif word == 'diegiedee Quintijn':
            list_buffer += 'qh1982acb:hoog123Laag@'
        elif word == 'diegiedee Etta':
            list_buffer += 'eh1982acb:abcd345Hoog#'
        elif word == 'diegiedee Martijn':
            list_buffer += 'martijnhgb:@Kraken33'
        elif word == 'microsoft Quintijn':
            list_buffer += 'q.hoogenboom@antenna.nl:123KleineZwaan1@'
        elif word == 'github':
            list_buffer += 'quintijn:12345EttaDragon'
        elif word == 'sitegen efteepee':
            list_buffer += 'sitegen:abc51cde'
        elif word == 'spraakherkenning academie':
            list_buffer += 'q.hoogenboom@antenna.nl:12345Etta@@#WatIsSterk'
        elif word == 'walhall':
            list_buffer += 'q.hoogenboom@antenna.nl:9c80c'
        elif word == 'voor de kunst':
            list_buffer += 'q.hoogenboom@antenna.nl:123KleineMeeuw2@@'
        elif word == 'verhoeven':
            list_buffer += 'q.hoogenboom@antenna.nl:12345Etta@@##'
        return list_buffer

    # 'nieuw tabblad'

    def gotResults_1(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{ctrl+n}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_1(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 11, '\'nieuw tabblad\'', e)
            self.firstWord = -1

    # 'breek regel'

    def gotResults_2(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{home}<br clear="all">'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_2(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 13, '\'breek regel\'', e)
            self.firstWord = -1

    # 'tot hier vet'

    def gotResults_3(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'SSK '
            unimacro_arg1 += '{space 2}{left 2}{shift+home}{ctrl+b}'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_3(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 15, '\'tot hier vet\'', e)
            self.firstWord = -1

    # 'kepslock'

    def gotResults_4(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'SSK '
            unimacro_arg1 += '{capslock}'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_4(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 17, '\'kepslock\'', e)
            self.firstWord = -1

    # 'link kopiëren'

    def gotResults_5(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{alt+d}'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'W'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{ctrl+c}'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'W'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{tab}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_5(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 19, '\'link kopiëren\'', e)
            self.firstWord = -1

    # ('login' | 'inloggen') <loginactie>

    def gotResults_6(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{end}{shift+home}{del}'
            extension_arg1 = ''
            word = fullResults[1 + self.firstWord][0]
            extension_arg1 = self.get_loginactie(extension_arg1, True, word)
            import vocola_ext_stringqh
            top_buffer += str(vocola_ext_stringqh.getname(extension_arg1))
            top_buffer += '{tab}'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'LW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{del}'
            extension_arg1 = ''
            word = fullResults[1 + self.firstWord][0]
            extension_arg1 = self.get_loginactie(extension_arg1, True, word)
            import vocola_ext_stringqh
            top_buffer += str(vocola_ext_stringqh.getpassword(extension_arg1))
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'LW'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'SSK '
            unimacro_arg1 += '{enter}'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 2
        except Exception as e:
            handle_error('brave.vcl', 21, '(\'login\' | \'inloggen\') <loginactie>', e)
            self.firstWord = -1

    # ('wachtwoord' | 'passweurd') <loginactie>

    def gotResults_7(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{end}{shift+home}{del}'
            extension_arg1 = ''
            word = fullResults[1 + self.firstWord][0]
            extension_arg1 = self.get_loginactie(extension_arg1, True, word)
            import vocola_ext_stringqh
            top_buffer += str(vocola_ext_stringqh.getpassword(extension_arg1))
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'LW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{enter}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 2
        except Exception as e:
            handle_error('brave.vcl', 22, '(\'wachtwoord\' | \'passweurd\') <loginactie>', e)
            self.firstWord = -1

    # 'hier hobo hier' ('viola' | 'cello' | 'leeg' | 'soprano' | 'continuo' | 'rest' | 'boven' | 'bas' | 'part')

    def gotResults_8(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            saved_firstWord = self.firstWord
            call_Dragon('ButtonClick', 'ii', [])
            self.firstWord = saved_firstWord
            top_buffer += '{end}{shift+home}'
            word = fullResults[1 + self.firstWord][0]
            top_buffer += word
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 2
            if len(words) > 2: self.gotResults_8(words[2:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 25, '\'hier hobo hier\' (\'viola\' | \'cello\' | \'leeg\' | \'soprano\' | \'continuo\' | \'rest\' | \'boven\' | \'bas\' | \'part\')', e)
            self.firstWord = -1

    # ('rest' | 'part')

    def gotResults_9(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{end}{shift+home}'
            word = fullResults[0 + self.firstWord][0]
            top_buffer += word
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{enter}{tab}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_9(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 27, '(\'rest\' | \'part\')', e)
            self.firstWord = -1

    # 'patroon'

    def gotResults_10(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{end}{shift+home}'
            top_buffer += 'part'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{tab}'
            top_buffer += '{end}{shift+home}'
            top_buffer += 'rest'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{tab}'
            top_buffer += '{end}{shift+home}'
            top_buffer += 'part'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer += '{tab}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_10(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 29, '\'patroon\'', e)
            self.firstWord = -1

    # 'hier patroon'

    def gotResults_11(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            saved_firstWord = self.firstWord
            call_Dragon('ButtonClick', 'ii', [])
            self.firstWord = saved_firstWord
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'HW '
            unimacro_arg1 += 'patroon'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_11(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 31, '\'hier patroon\'', e)
            self.firstWord = -1

    # 'patroon' 2..10

    def gotResults_12(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            limit = ''
            word = fullResults[1 + self.firstWord][0]
            limit += self.convert_number_word(word)
            for i in range(to_long(limit)):
                top_buffer = do_flush(False, top_buffer);
                unimacro2_arg1 = ''
                unimacro2_arg1 += 'HW '
                unimacro2_arg1 += 'patroon'
                call_Unimacro(unimacro2_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 2
            if len(words) > 2: self.gotResults_12(words[2:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 33, '\'patroon\' 2..10', e)
            self.firstWord = -1

    # 'hier patroon' 2..10

    def gotResults_13(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            saved_firstWord = self.firstWord
            call_Dragon('ButtonClick', 'ii', [])
            self.firstWord = saved_firstWord
            limit = ''
            word = fullResults[1 + self.firstWord][0]
            limit += self.convert_number_word(word)
            for i in range(to_long(limit)):
                top_buffer = do_flush(False, top_buffer);
                unimacro2_arg1 = ''
                unimacro2_arg1 += 'HW '
                unimacro2_arg1 += 'patroon'
                call_Unimacro(unimacro2_arg1)
            top_buffer += 'hier'
            top_buffer += 'patroon'
            top_buffer += '4'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 2
            if len(words) > 2: self.gotResults_13(words[2:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 35, '\'hier patroon\' 2..10', e)
            self.firstWord = -1

    # 'check'

    def gotResults_14(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'MP '
            unimacro_arg1 += '2'
            unimacro_arg1 += ','
            unimacro_arg1 += '150'
            unimacro_arg1 += ','
            unimacro_arg1 += '0'
            unimacro_arg1 += ','
            unimacro_arg1 += '1'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'VW'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'MP '
            unimacro_arg1 += '2'
            unimacro_arg1 += ','
            unimacro_arg1 += '-150'
            unimacro_arg1 += ','
            unimacro_arg1 += '40'
            unimacro_arg1 += ','
            unimacro_arg1 += '0'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_14(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 37, '\'check\'', e)
            self.firstWord = -1

    # 'je patroon test sendinput'

    def gotResults_15(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'S '
            unimacro_arg1 += 'met "qqqqqqqqqqquotes"'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_15(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 39, '\'je patroon test sendinput\'', e)
            self.firstWord = -1

    # 'hier inspecteren'

    def gotResults_16(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            dragon_arg1 = ''
            dragon_arg1 += '2'
            saved_firstWord = self.firstWord
            call_Dragon('ButtonClick', 'ii', [dragon_arg1])
            self.firstWord = saved_firstWord
            top_buffer += '{up}{enter}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_16(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 41, '\'hier inspecteren\'', e)
            self.firstWord = -1

    # 'inspecteren uit'

    def gotResults_17(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{shift+ctrl+i}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_17(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 43, '\'inspecteren uit\'', e)
            self.firstWord = -1

    # 'inspecteren'

    def gotResults_24(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{shift+ctrl+i}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_24(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 43, '\'inspecteren\'', e)
            self.firstWord = -1

    # 'Vernieuwen'

    def gotResults_18(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{f5}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_18(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 45, '\'Vernieuwen\'', e)
            self.firstWord = -1

    # 'facebook afmelden'

    def gotResults_19(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer += '{shift+ctrl+space}'
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'W'
            call_Unimacro(unimacro_arg1)
            top_buffer += 'Facebook'
            top_buffer += 'waarbij'
            top_buffer += '260{enter}'
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_19(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 47, '\'facebook afmelden\'', e)
            self.firstWord = -1

    # 'facebook discussie afsluiter'

    def gotResults_20(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'SCLIP '
            unimacro_arg1 += 'Groeten, Quintijn Hoogenboom, secretaris van de Faunabescherming en (tijdelijk) beheerder van onze facebook-pagina.'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_20(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 49, '\'facebook discussie afsluiter\'', e)
            self.firstWord = -1

    # 'knowbrainer test'

    def gotResults_21(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'MSG '
            unimacro_arg1 += 'context knowbrainer'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_21(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 52, '\'knowbrainer test\'', e)
            self.firstWord = -1

    # 'faunabescherming test een'

    def gotResults_22(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'MSG '
            unimacro_arg1 += 'context faunabescherming'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_22(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 55, '\'faunabescherming test een\'', e)
            self.firstWord = -1

    # 'faunabescherming test twee'

    def gotResults_23(self, words, fullResults):
        if self.firstWord<0:
            return
        try:
            top_buffer = ''
            top_buffer = do_flush(False, top_buffer);
            unimacro_arg1 = ''
            unimacro_arg1 += 'MSG '
            unimacro_arg1 += 'context faunabescherming twee'
            call_Unimacro(unimacro_arg1)
            top_buffer = do_flush(False, top_buffer);
            self.firstWord += 1
            if len(words) > 1: self.gotResults_23(words[1:], fullResults)
        except Exception as e:
            handle_error('brave.vcl', 56, '\'faunabescherming test twee\'', e)
            self.firstWord = -1

thisGrammar = ThisGrammar()
thisGrammar.initialize()

def unload():
    global thisGrammar
    if thisGrammar: thisGrammar.unload()
    thisGrammar = None

