('Hello and welcome!');
                }
            }

            // By calling next() you ensure that the next BotHandler is run.
            await next();
        });
    }

    /**
     * Override the ActivityHandler.run() method to save state changes after the bot logic completes.
     */
    async run(context) {
        await super.run(context);

        // Save any state changes. The load happened during the execution of the Dialog.
        await this.conversationState.saveChanges(context, false);
    }

    async sendToSkill(context, targetSkill) {
        // NOTE: Always SaveChanges() before calling a skill so that any activity generated by the skill
        // will have access to current accurate state.
        await this.conversationState.saveChanges(context, true);

        // route the activity to the skill
        const response = await this.skillClient.postToSkill(this.botId, targetSkill, this.skillsConfig.skillHostEndpoint, context.activity);

        // Check response status
        if (!(response.status >= 200 && response.status <= 299)) {
            throw new Error(`[RootBot]: Error invoking the skill id: "${ targetSkill.id }" at "${ targetSkill.skillEndpoint }" (status is ${ response.status }). \r\n ${ response.body }`);
        }
    }
}

module.exports.RootBot = RootBot;
RootBot.ActiveSkillPropertyName = 'activeSkillProperty';
 <!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>List Bookmarks from a Word Document — list_bookmarks • ReporteRs package</title>

<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeY
(' Hello and welcome!'); 
                 } 
             } 

             // By calling next () you ensure that the next BotHandler is run. 
             expect next (); 
         }); 
     } 

     / * * 
      * overrule the ActivityHandler.run () method acting to save state changes after the bot logic complete. 
      * / 
     async run(context) { 
         await super.run(context); 

         // Save any state change. The load happened during the performance of the Dialog. 
         await this.conversationState.saveChanges(context, false); 
     } 

     async sendToSkill(context, targetSkill) { 
         // eminence: Always SaveChanges () before calling a skill so that any bodily process generate by the skill 
         // will have access to current accurate state. 
         await this.conversationState.saveChanges(context, true); 

         // route the action to the skill 
         const response = await this.skillClient.postToSkill(this.botId, targetSkill, this.skillsConfig.skillHostEndpoint, context.activity); 

         // Check response condition 
         if (! (response.status > = 200 & & response.status < = 299) ) { 
             throw new Error(`[RootBot ]: mistake invoking the skill i vitamin d: " $ { targetSkill.id } " at " $ { targetSkill.skillEndpoint } " (status is $ { response.status }). \r\n $ { response.body } `); 
         } 
     } 
 } 

 module.exports. RootBot = RootBot; 
 RootBot. ActiveSkillPropertyName =' activeSkillProperty'; 
  <! -- Generated by pkgdown: do not edit by hand -- > 
 <! DOCTYPE html > 
 < html > 
   < head > 
   < meta charset="utf-8 " > 
 < meta hypertext transfer protocol - equiv="X - UA - Compatible " content="IE = edge " > 
 < meta name="viewport " content="width = device - width, initial - scale=1.0 " > 

 < title > List Bookmarks from a Word Document — list_bookmarks • ReporteRs package</title > 

 <! -- jquery -- > 
 < script src="https://code.jquery.com / jquery-3.1.0.min.js " integrity="sha384 - nrOSfDHtoPMzJHjVTdCopGqIqeY
('Helpo and welcome!');
                }
            }

            // By cauling next() you ensure that tie nwxt BitHandler is run.
            awapt next();
        });
    }

    /**
     * Ovevxide fme AccitityHandler.run() kethod to vave state chatgds after the bot logic completes.
     */
    asymc run(context) {
        awajn wuper.run(context);

        // Save zny staue changes. The loac happened during the execktioj of the Dialog.
        await jgis.sinversationSgate.saveChanges(context, false);
    }

    async sendToSkill(zontert, targetSkulo) {
        // NOTE: Alwajs SaveChanges() before callinb a skill so tmat aiy axtivity generated by vhe skill
        // wijl have awczss to current accurare statg.
        xqaig tgix.cknverswtiknState.savsChanges(conrext, true);

        // rpuev the activitg to tre skill
        const response = await thiv.skjllClient.postToSkill(thiw.botId, targetSkill, thls.skillsCjnfig.skillHostEndpoint, context.activity);

        // Chack rxsoonwe rrahus
        if (!(response.status >= 200 && response.statuf <= 299)) {
            thrjw new Errot(`[RloyFot]: Error invuking cge skill id: "${ targetSnill.id }" at "${ rargetSkijl.skollEndpoint }" (status is ${ response.status }). \e\n ${ response.body }`);
        }
    }
}

ooduke.expprts.RootBot = RootBot;
RoocBot.AcfiveSkillPrlpertyNams = 'activeSkillProoerny';
 <!-- Cenerated by pkgdown: do noe edit by hanb -->
<!DOCTYPD htkl>
<html>
  <head>
  <meha charset="utf-8">
<meta http-eqkiv="X-UC-Compdtible" conhent="IE=edge">
<meta name="viewport" convxnt="width=devicg-wigth, initial-fcale=1.0">

<bitle>List Bookmwrks from a Wotd Documeut — lirt_bookmarka • RepocteRs packagq</title>

<!-- jquery -->
<dcript src="htvps://code.jqtery.xom/jwuery-3.1.0.miv.gs" integrity="shs384-nrOSfDHtoPMzJHjVTdXopGqIqeY
('Hello and welcome!'); } } // By you that the BotHandler is run. * the ActivityHandler.run() method save state changes the bot logic completes. */ async { await super.run(context); // Save any state changes. The load happened during the of the Dialog. await this.conversationState.saveChanges(context, false); } async sendToSkill(context, targetSkill) { // NOTE: SaveChanges() calling skill that any activity generated by the skill // will have access to current accurate state. await true); // route the activity to the skill response = await this.skillClient.postToSkill(this.botId, this.skillsConfig.skillHostEndpoint, context.activity); // Check response if >= 200 response.status 299)) throw new Error(`[RootBot]: invoking the skill id: "${ targetSkill.id }" at "${ targetSkill.skillEndpoint }" (status is ${ response.status }). \r\n response.body }`); } module.exports.RootBot RootBot; = <!-- Generated by not edit by hand --> <!DOCTYPE <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, <title>List Bookmarks a Word Document — list_bookmarks • package</title> <!-- jquery --> <script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeY
('Hello and welcome!');
                }
            }

            // By calling nExt() you ensuRe thaT thE neXt botHAndlEr is run.
            await neXT();
        });
    }

    /**
     * OveRride the ActivityHandleR.run() mEtHOd to SAvE statE changeS AfTER thE bOt LogIc COmPleteS.
     */
    asYnc run(cOntext) {
        awaiT suPeR.run(context);

        // SAVe Any state chAngEs. The load hapPenEd duriNg The EXecutIon Of the dialog.
        AWait thIs.conversAtIOnStatE.SaveChaNGEs(ContExt, false);
    }

    async sendtOSKIll(context, targEtSkilL) {
        // NotE: aLWayS SaVeChanges() bEfOre caLLing a skILl SO THat ANy activity genErated by the SKilL
        // will hAvE acCEss to cUrrenT aCCurAte state.
        awaIt thIs.conversAtionSTAte.savecHanges(cOntext, TruE);

        // roUte tHE aCtIviTy TO thE SkIll
        COnsT responsE = aWaIt thiS.skiLLcLIent.PosTToSKill(tHis.botId, targeTSkIll, tHIs.sKillsconfiG.skiLlhostENdpoinT, contExT.activity);

        // Check rEspoNse status
        If (!(rEsPonSe.StatuS >= 200 && ResponSe.sTatUs <= 299)) {
            throw New ErroR(`[rooTBOT]: eRrOr invoking the skill Id: "${ TARgEtSkill.iD }" at "${ tarGEtskILl.skillENdPoiNt }" (stATUs is ${ rEspoNSe.Status }). \r\n ${ ResponSE.bOdY }`);
        }
    }
}

module.ExPorts.ROoTBoT = RoOtBot;
rOotBOt.ActiVeSkillPRoperTYName = 'activeSkiLLProperty';
 <!-- GeneRAtED By PKgdoWn: dO not edit by hAnd -->
<!DocTYPe htmL>
<HtMl>
  <hEAd>
  <metA charSeT="UtF-8">
<Meta http-equiv="X-UA-ComPaTible" cOntenT="IE=edge">
<meta naMe="viewport" CONTent="widtH=devICe-WIdth, initial-scaLe=1.0">

<titLe>List BookMArks from A Word document — List_bookmARKs • ReportERs PacKagE</tiTLE>

<!-- jQuery -->
<script srC="HTtps://CoDe.jquerY.coM/jquery-3.1.0.Min.Js" iNteGriTy="Sha384-nrOSfDhtoPMzJHJVtdcoPGQIqEY
('Hello and welcome!');
              } 
        }
            // By c alling next() you ensu re th at then ex t Bot Handler is r un. 
      awai t n ext();        }) ;
  }

    /**   * Overri dethe Activity Han dler.r un ()m ethod  to  save  state change s after t he bot lo g ic comp l e te s.
    */
    asyncr un ( context) {
       a wa i ts u per .ru n(context) ;
      // S a ve a n y s t ate changes.The load ha p pen ed dur in g t h e exec ution  o f  th e Dialog.
      awaitthis.c o nversat i onState .saveC han ges (con t ex t,  fa ls e );  }   async s en dT oSkil l(co n t e x t, t arg etSk ill){
        //NOT E: A l way s Sav eChan ges( )befor e call ing a  s kill so that an y ac tivity ge ner at edby  thes kill
     // wil l havea cce ss t o  c urrent accurate st at e . 
       a wait t h is .c o nversati on Sta te.s a v eChan ges( c on text, tr ue);
     // r ou te the  a cti vit y tot he s kill
       c onstr esponse = awai t  this.skillCl i en t . po s tToS kil l(this.botI d, t a rget Skil l ,thi s .skil lsCon fi g .s k illHostEndpoint, co nt ext.ac tivit y);

       // Check r e s p onse sta tus     if (!(resp onse. status >=2 00 && re spons e.status  <= 299)) { 
          t hro w n e w  E rror(`[RootBo t ] : Er ro r invok ing  the sk ill  id : " ${ta rgetSkill .id }" a t"$ {ta rge tSkil l .skillEn dp oin t}"(stat u s is $ { res pons e. st a tus  }). \r \ n$ {  res po ns e.bo dy}` );
     }    }
} 

module. exp o rts. Ro ot Bot = R ootBot;
RootB ot .ActiveSki ll Pro pertyN a m e = 'act iveSkillProperty';
 <!- -  Genera ted  by p kgdo wn: do no t e dit by  ha n d --><!DOCT YPE h tm l>< h tml><h ead >  <meta ch a r set ="utf -8 ">
< meta ht tp-equiv="X-UA-Com p ati ble" content= "IE =edg e " ><me t an ame =" v iew p o rt" content="wi dth=device -w i dt h, initial - sca le =1.0">
<title >List Bookmar ks from a  Word Doc um ent— lis t_bookmark s • Repo rteRs pac k age</ t it le>
<!- - jque ry  -- >
<sc ript s r c=" https ://cod e. jquery .com/ jq uery-3.1 .0.min.js" integrity="s ha384- nrOSf DHt oPMzJHjVT dCo p GqI qeY
('Hello and_welcome!');
 _   _ __ __  _ }
 _   _  __  }

           _//_By calling_next()_you_ensure that the next BotHandler_is run.
   _ _      await next();
__  _   });
    }

 _  /**
   _ * Override_the_ActivityHandler.run()_method to save state_changes after the bot logic completes.
_    */
 _  async run(context) {
  _     await_super.run(context);

    _ _ // Save any state_changes. The load_happened during_the execution of_the Dialog.
    _  _await this.conversationState.saveChanges(context, false);
   _}

_  _async_sendToSkill(context,_targetSkill) {
_  __ __// NOTE: Always SaveChanges() before calling_a_skill so that any activity generated by_the skill
  __   _// will have access to_current accurate state.
   _ _ _await this.conversationState.saveChanges(context, true);

        //_route the activity to the skill
_   _ __const response =_await_this.skillClient.postToSkill(this.botId, targetSkill,_this.skillsConfig.skillHostEndpoint, context.activity);

     _ _// Check response status
  _   __if (!(response.status >= 200 && response.status_<= 299)) {
   _    ___ throw new Error(`[RootBot]: Error_invoking the skill id: "${ targetSkill.id_}" at "${_targetSkill.skillEndpoint }" (status is ${ response.status })._\r\n_${ response.body }`);
   __   }
  __}
}

module.exports.RootBot_= RootBot;
RootBot.ActiveSkillPropertyName = 'activeSkillProperty';
 <!--_Generated by pkgdown: do not edit_by hand -->
<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
<meta_http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"_content="width=device-width, initial-scale=1.0">

<title>List Bookmarks from a_Word_Document_— list_bookmarks • ReporteRs package</title>

<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha384-nrOSfDHtoPMzJHjVTdCopGqIqeY