@microsoft/botframework-cli v4.15.0
botframework-cli
Usage
$ npm install -g @microsoft/botframework-cli
Commands
bf chatdown
bf chatdown:convert
bf config
bf config:set
bf config:set:luis
bf config:set:qnamaker
bf config:set:telemetry
bf config:show
bf config:show:luis
bf config:show:qnamaker
bf config:show:telemetry
bf dialog
bf dialog:merge PATTERNS
bf dialog:verify PATTERNS
bf help [COMMAND]
bf lg
bf lg:expand
bf lg:translate
bf lg:verify
bf luis
bf luis:application:assignazureaccount
bf luis:application:create
bf luis:application:delete
bf luis:application:import
bf luis:application:list
bf luis:application:publish
bf luis:application:query
bf luis:application:rename
bf luis:application:show
bf luis:build
bf luis:convert
bf luis:cross-train
bf luis:endpoints:list
bf luis:generate:cs
bf luis:generate:ts
bf luis:test
bf luis:train:run
bf luis:train:show
bf luis:translate
bf luis:version:clone
bf luis:version:delete
bf luis:version:export
bf luis:version:import
bf luis:version:list
bf luis:version:rename
bf plugins
bf plugins:install PLUGIN
bf plugins:list
bf plugins:uninstall [PLUGIN]
bf qnamaker
bf qnamaker:alterations
bf qnamaker:alterations:list
bf qnamaker:alterations:replace
bf qnamaker:build
bf qnamaker:convert
bf qnamaker:cross-train
bf qnamaker:endpointkeys
bf qnamaker:endpointkeys:list
bf qnamaker:endpointkeys:refresh
bf qnamaker:endpointsettings
bf qnamaker:endpointsettings:get
bf qnamaker:endpointsettings:update
bf qnamaker:init
bf qnamaker:kb
bf qnamaker:kb:create
bf qnamaker:kb:delete
bf qnamaker:kb:export
bf qnamaker:kb:get
bf qnamaker:kb:list
bf qnamaker:kb:publish
bf qnamaker:kb:replace
bf qnamaker:kb:update
bf qnamaker:operationdetails
bf qnamaker:operationdetails:get
bf qnamaker:query
bf qnamaker:train
bf qnamaker:translate
bf chatdown
Converts chat dialog files in .chat format into transcript files. Writes corresponding .transcript for each .chat file.
USAGE
$ bf chatdown
OPTIONS
-h, --help Chatdown command help
See code: @microsoft/bf-chatdown
bf chatdown:convert
Converts chat dialog files in .chat format into transcript files. Writes corresponding .transcript for each .chat file.
USAGE
$ bf chatdown:convert
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help Chatdown command help
-i, --in=in The path of the chat file or directory to be parsed. A glob expression may be passed containing chat
files to be processed all at once, ex. ./**/*.chat. If flag is omitted, stdin will be used. If an
output directory is not present (-o), it will default the output to the current working directory.
-o, --out=out Path to the directory where the output of the multiple chat file processing (-o) will be placed.
-p, --prefix Prefix stdout with package name.
-s, --stamp Use static timestamps when generating timestamps on activities.
EXAMPLE
$ bf chatdown
$ bf chatdown --in=./path/to/file/sample.chat
$ bf chatdown --in ./test/utils/*.sample.chat -o ./
$ (echo user=Joe && [ConversationUpdate=MembersAdded=Joe]) | bf chatdown --static
See code: @microsoft/bf-chatdown
bf config
Configure various settings within the cli.
USAGE
$ bf config
OPTIONS
-h, --help config help
See code: @microsoft/bf-cli-config
bf config:set
Adds the specified key and value to the config file
USAGE
$ bf config:set
OPTIONS
-h, --help config:set help
-k, --key=key (required) Name of the key to add or override
-v, --value=value (required) Value associated with the specified key
See code: @microsoft/bf-cli-config
bf config:set:luis
Stores default LUIS application values in global config.
USAGE
$ bf config:set:luis
OPTIONS
-h, --help show CLI help
--appId=appId LUIS application Id
--authoringKey=authoringKey LUIS cognitive services authoring key (aka Ocp-Apim-Subscription-Key).
--endpoint=endpoint LUIS application endpoint hostname, ex: <region>.api.cognitive.microsoft.com
--subscriptionKey=subscriptionKey LUIS cognitive services subscription key (aka Ocp-Apim-Subscription-Key)
--versionId=versionId LUIS version Id
EXAMPLE
$ bf config:set:luis --appId {APPLICATION_ID} --authoringKey {AUTHORING_KEY} --subscriptionKey {SUBSCRIPTION_KEY}
--versionId {VERSION_ID} --endpoint {ENDPOINT}
See code: @microsoft/bf-cli-config
bf config:set:qnamaker
Set the QnAMaker config data
USAGE
$ bf config:set:qnamaker
OPTIONS
-h, --help config:set:qnamaker help
--endpointKey=endpointKey QnAMaker endpointKey to be set
--hostname=hostname QnAMaker hostname to be set
--kbId=kbId QnAMaker kbId to be set
--subscriptionKey=subscriptionKey QnAMaker subscriptionkey to be set
EXAMPLE
{
"qnamaker_kbId": "3bda64af-dddd-dddd-dddd-021906b093b1",
"qnamaker_subscriptionKey": "nnnnnnnnnnnnnnnnnnnnnnnnn",
"qnamaker_endpointKey": "6b5ecf9c-kkkk-kkkk-kkkk-761489817e5f",
"qnamaker_hostname": "https://{qnaservice-hostname}.azurewebsites.net"
}
See code: @microsoft/bf-cli-config
bf config:set:telemetry
Enable or disable anonymous data collection to improve the products. (Command group calls and flags usage)
USAGE
$ bf config:set:telemetry
OPTIONS
-d, --disable Disable tlemetry
-e, --enable Enable tlemetry
-h, --help config:set:telemetry help
See code: @microsoft/bf-cli-config
bf config:show
Displays the config file
USAGE
$ bf config:show
OPTIONS
-h, --help config:show help
-k, --key=key Shows specific key value
See code: @microsoft/bf-cli-config
bf config:show:luis
Display LUIS settings
USAGE
$ bf config:show:luis
OPTIONS
-h, --help config:show:luis help
See code: @microsoft/bf-cli-config
bf config:show:qnamaker
Display QnAMaker settings
USAGE
$ bf config:show:qnamaker
OPTIONS
-h, --help config:show:qnamaker help
See code: @microsoft/bf-cli-config
bf config:show:telemetry
Display telemetry settings
USAGE
$ bf config:show:telemetry
OPTIONS
-h, --help config:show:telemetry help
See code: @microsoft/bf-cli-config
bf dialog
Dialog related commands for working with .schema and .dialog files.
USAGE
$ bf dialog
OPTIONS
-h, --help Dialog command help
See code: @microsoft/bf-dialog
bf dialog:merge PATTERNS
Merge component .schema files into an app.schema.
USAGE
$ bf dialog:merge PATTERNS
ARGUMENTS
PATTERNS Any number of glob regex patterns to match .schema, .csproj, or package.json files.
OPTIONS
-h, --help show CLI help
-o, --output=output [default: app.schema] Output path and filename for merged schema.
-v, --verbose Show verbose logging of files as they are processed.
EXAMPLES
$ bf dialog:merge *.csproj
$ bf dialog:merge libraries/**/*.schema **/*.csproj -o app.schema
See code: @microsoft/bf-dialog
bf dialog:verify PATTERNS
Verify .dialog files match their app.schema.
USAGE
$ bf dialog:verify PATTERNS
ARGUMENTS
PATTERNS Any number of glob regex patterns to match .dialog files.
OPTIONS
-h, --help show CLI help
-v, --verbose Show verbose output
See code: @microsoft/bf-dialog
bf help [COMMAND]
display help for bf
USAGE
$ bf help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
bf lg
Parse, collate, expand and translate lg files.
USAGE
$ bf lg
OPTIONS
-h, --help lg command help
See code: @microsoft/bf-lg-cli
bf lg:expand
Expand one or all templates in .lg file(s). Expand an inline expression.
USAGE
$ bf lg:expand
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help lg:expand help
-i, --in=in (required) Folder that contains .lg file.
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-r, --recurse Consider sub-folders to find .lg file(s)
--all When set, all templates in the .lg file be expanded.
--expression=expression Inline expression provided as a string to evaluate.
--interactive Interactively prompt for all missing entity value references required for expansion.
--template=template Name of the template to expand. Template names with spaces must be enclosed in quotes.
--testInput=testInput Path to a JSON file containing test input for all variable references.
See code: @microsoft/bf-lg-cli
bf lg:translate
Machine translate .lg files using Microsoft Translator Text API.
USAGE
$ bf lg:translate
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help lg:translate help
-i, --in=in (required) Folder that contains .lg file.
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-r, --recurse Consider sub-folders to find .lg file(s)
--srclang=srclang Source lang code. Auto detect if missing.
--tgtlang=tgtlang (required) Comma separated list of target languages.
--translate_comments Machine translate all comments found in .lg file
--translate_link_text Machine translate link description in .lg file
--translatekey=translatekey (required) Machine translation endpoint key.
See code: @microsoft/bf-lg-cli
bf lg:verify
Verify .lg file(s) and collate them into a single file.
USAGE
$ bf lg:verify
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help lg:verify help
-i, --in=in (required) Folder that contains .lg file.
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-r, --recurse Considere sub-folders to find .lg file(s)
See code: @microsoft/bf-lg-cli
bf luis
Manages LUIS assets on service and/or locally.
USAGE
$ bf luis
OPTIONS
-h, --help LUIS command help
See code: @microsoft/bf-luis-cli
bf luis:application:assignazureaccount
Assign a LUIS azure accounts to an application
USAGE
$ bf luis:application:assignazureaccount
OPTIONS
-h, --help show CLI help
--accountName=accountName (required) Account name
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--armToken=armToken (required) The bearer authorization header to use; containing the user`s
ARM token used to validate azure accounts information
--azureSubscriptionId=azureSubscriptionId (required) Azure Subscription Id
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--resourceGroup=resourceGroup (required) Resource Group
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
See code: @microsoft/bf-luis-cli
bf luis:application:create
Creates a new LUIS application
USAGE
$ bf luis:application:create
OPTIONS
-h, --help show CLI help
--culture=culture Specify culture language (default: en-us)
--description=description Description of LUIS application
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--name=name (required) Name of LUIS application
--save Save configuration settings from imported app (appId & endpoint)
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--tokenizerVersion=tokenizerVersion Version specifies how sentences are tokenized (optional). See also:
https://aka.ms/luistokens
--versionId=versionId (required) LUIS version Id. (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:application:create --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --name {NAME} --culture
{CULTURE}
--domain {DOMAIN} --description {DESCRIPTION} --versionId {INITIAL_VERSION_ID} --usageScenario {USAGE_SCENARIO}
See code: @microsoft/bf-luis-cli
bf luis:application:delete
Deletes a LUIS application
USAGE
$ bf luis:application:delete
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--force Force delete with no confirmation
--json Display output as JSON
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
EXAMPLE
$ bf luis:application:delete --appId {APP_ID} --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:application:import
Imports LUIS application from JSON or LU content.
USAGE
$ bf luis:application:import
OPTIONS
-h, --help show CLI help
-i, --in=in (required) File path containing LUIS application contents, uses STDIN if not
specified
--endpoint=endpoint (required) LUIS endpoint hostname
--json Display output as JSON
--name=name LUIS application name (optional)
--save Save configuration settings from imported app (appId, subscriptionKey & endpoint)
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default: config
subscriptionKey)
EXAMPLE
$ bf luis:application:import --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --name {NAME} --in
{PATH_TO_JSON}
$ echo {SERIALIZED_JSON} | bf luis:application:import --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
--name {NAME}
See code: @microsoft/bf-luis-cli
bf luis:application:list
Lists all applications on LUIS service.
USAGE
$ bf luis:application:list
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help show CLI help
-o, --out=out Output results to specified file in JSON format, otherwise prints to STDOUT
(optional)
--endpoint=endpoint LUIS endpoint hostname
--skip=skip Number of entries to skip. Default: 0 (no skips)
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--take=take Number of etnries to return. Maximum page size is 500. Default: 100
EXAMPLE
$ bf luis:application:list --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --take 3
$ bf luis:application:list --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --out {PATH_TO_JSON_FILE}
See code: @microsoft/bf-luis-cli
bf luis:application:publish
Publishes application's version
USAGE
$ bf luis:application:publish
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--direct Available only in direct version query. Do not publish to staging or production
(default: false)
--endpoint=endpoint LUIS endpoint hostname
--staging Publishes application version to Staging slot, otherwise publish to production
(default: false)
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to publish (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:application:publish --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --versionId
{INITIAL_VERSION_ID} --appId {APP_ID} --staging {BOOLEAN}
See code: @microsoft/bf-luis-cli
bf luis:application:query
Queries application for intent predictions
USAGE
$ bf luis:application:query
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--log Logs query operation on service (default: true)
--query=query (required) Query string to predict
--staging Presence of flag targets the staging app, if no flag passed defaults to production
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--timezoneOffset=timezoneOffset Timezone offset for the location of the request in minutes (optional)
--verbose Returns all intents, otherwise only top scoring intent. (default: false)
EXAMPLE
$ bf luis:application:query --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --appId {APP_ID} --query
{QUERY} --prod {BOOLEAN}
See code: @microsoft/bf-luis-cli
bf luis:application:rename
Renames the application and updates its description
USAGE
$ bf luis:application:rename
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--description=description Description of LUIS application
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--name=name (required) (required) Name of LUIS application
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
EXAMPLE
$ bf luis:application:rename --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --appId {APP_ID} --name
{NAME} --description {DESCRIPTION}
See code: @microsoft/bf-luis-cli
bf luis:application:show
Shows application information
USAGE
$ bf luis:application:show
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
EXAMPLE
$ bf luis:application:show --appId {APPLICATION_ID} --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:build
Build lu files to train and publish luis applications
USAGE
$ bf luis:build
OPTIONS
-f, --force If --dialog flag is provided, overwrites relevant dialog file
-h, --help show CLI help
-i, --in=in Lu file or folder
-o, --out=out Output file or folder name. If not specified, current directory will be used as
output
--authoringKey=authoringKey LUIS authoring key
--botName=botName Bot name
--defaultCulture=defaultCulture Culture code for the content. Infer from .lu if available. Defaults to en-us
--deleteOldVersion Delete old version of LUIS application after building new one.
--dialog=dialog [default: multiLanguage] Write out .dialog files whose recognizer type
[multiLanguage|crosstrained] is specified by --dialog
--fallbackLocale=fallbackLocale Locale to be used at the fallback if no locale specific recognizer is found. Only
valid if --dialog is set
--log write out log messages to console
--luConfig=luConfig Path to config for lu build which can contain switches for arguments
--region=region [default: westus] LUIS authoring region [westus|westeurope|australiaeast]
--suffix=suffix Environment name as a suffix identifier to include in LUIS app name. Defaults to
current logged in user alias
EXAMPLE
$ bf luis:build --in {INPUT_FILE_OR_FOLDER} --authoringKey {AUTHORING_KEY} --botName {BOT_NAME} --dialog
multiLanguage
See code: @microsoft/bf-luis-cli
bf luis:convert
Convert .lu file(s) to a LUIS application JSON model or vice versa
USAGE
$ bf luis:convert
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help luis:convert help
-i, --in=in Source .lu file(s) or LUIS application JSON model
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-r, --recurse Indicates if sub-folders need to be considered to file .lu file(s)
--culture=culture Lang code for the LUIS application
--description=description Text describing the LUIS applicaion
--log Enables log messages
--name=name Name of the LUIS application
--schemaversion=schemaversion Schema version of the LUIS application
--sort When set, intent, utterances, entities are alphabetically sorted in .lu files
--versionid=versionid Version ID of the LUIS application
See code: @microsoft/bf-luis-cli
bf luis:cross-train
Lu and Qna cross train tool
USAGE
$ bf luis:cross-train
OPTIONS
-h, --help luis:cross-train help
-i, --in=in source lu and qna files folder
-o, --out=out output folder name. If not specified, the cross trained files will be wrote to cross-trained
folder under folder of current command
--config=config path to config file of mapping rules which is relative to folder specified by --in. If not
specified, it will read default config.json from the folder specified by --in
--intentName=intentName [default: _Interruption] Interruption intent name
--rootDialog=rootDialog rootDialog file path which is relative to folder specified by --in. If --config not
specified, cross-trian will automatically construct the config from file system based on root
dialog file
See code: @microsoft/bf-luis-cli
bf luis:endpoints:list
Returns available deployment endpoints
USAGE
$ bf luis:endpoints:list
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help show CLI help
-o, --out=out Output results to specified file in JSON format, otherwise prints to STDOUT
(optional)
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
EXAMPLE
$ bf luis:endpoints:list --appId {APPLICATION_ID} --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
--out {PATH_TO_JSON_FILE}
See code: @microsoft/bf-luis-cli
bf luis:generate:cs
Generate:cs generates a strongly typed C# source code from an exported (json) LUIS model.
USAGE
$ bf luis:generate:cs
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help luis:generate:cs help
-i, --in=in Path to the file containing the LUIS application JSON model
-o, --out=out Output file or folder name. If not specified stdout will be used as output
--className=className Name of the autogenerated class (can include namespace)
See code: @microsoft/bf-luis-cli
bf luis:generate:ts
Generate:ts generates a strongly typed typescript source code from an exported (json) LUIS model.
USAGE
$ bf luis:generate:ts
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help luis:generate:ts help
-i, --in=in Path to the file containing the LUIS application JSON model
-o, --out=out Output file or folder name. If not specified stdout will be used as output
--className=className Name of the autogenerated class
See code: @microsoft/bf-luis-cli
bf luis:test
Test a .lu file or LUIS application JSON model against a published LUIS model
USAGE
$ bf luis:test
OPTIONS
-a, --appId=appId (required) LUIS application Id
-h, --help luis:test help
-i, --in=in Source .lu file or LUIS application JSON model for testing
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-s, --subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key
--allowIntentsCount=allowIntentsCount [default: 1] Top-scoring intent or top n Intent with score to show in the
result
--endpoint=endpoint [default: https://westus.api.cognitive.microsoft.com] LUIS endpoint hostname
--force If --out flag is provided with the path to an existing file, overwrites that
file
--intentOnly Only test intent
--staging Presence of flag targets the staging app, if no flag passed defaults to
production
See code: @microsoft/bf-luis-cli
bf luis:train:run
Issues asynchronous training request for LUIS application
USAGE
$ bf luis:train:run
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to show training status (defaults to config:LUIS:versionId)
--wait Wait until training complete and then display status
EXAMPLE
$ bf luis:train:run --appId {APPLICATION_ID} --versionId {VERSION_ID} --endpoint {ENDPOINT} --subscriptionKey
{SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:train:show
Shows training status
USAGE
$ bf luis:train:show
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to show training status (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:train:show --appId {APPLICATION_ID} --versionId {VERSION_ID} --endpoint {ENDPOINT} --subscriptionKey
{SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:translate
Translate given LUIS application JSON model or lu file(s)
USAGE
$ bf luis:translate
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help luis:translate help
-i, --in=in Source .lu file(s) or LUIS application JSON model
-o, --out=out Output folder name. If not specified stdout will be used as output
-r, --recurse Indicates if sub-folders need to be considered to file .lu file(s)
--srclang=srclang Source lang code. Auto detect if missing.
--tgtlang=tgtlang (required) Comma separated list of target languages.
--translate_comments When set, machine translate comments found in .lu file
--translate_link_text When set, machine translate link description in .lu file
--translatekey=translatekey (required) Machine translation endpoint key.
See code: @microsoft/bf-luis-cli
bf luis:version:clone
Creates a new version equivalent to the current snapshot of the selected application version.
USAGE
$ bf luis:version:clone
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--subscriptionKey=subscriptionKey LUIS authoring (Ocp-Apim-subscription) key
--targetVersionId=targetVersionId (required) Destination version to create
--versionId=versionId (required) Source version to clone (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:version:clone --appId {APP_ID} --versionId {VERSION_ID} --targetVersionId {TARGET_VERSION_ID}
--endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:version:delete
Deletes a LUIS application version
USAGE
$ bf luis:version:delete
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to delete
EXAMPLE
$ bf luis:version:delete --appId {APP_ID} --versionId {VERSION_ID} --endpoint {ENDPOINT} --subscriptionKey
{SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:version:export
Exports a LUIS application to JSON format
USAGE
$ bf luis:version:export
OPTIONS
-f, --force Overwrites output file if exists, otherwise creates a parallel numbered file
(optional)
-h, --help show CLI help
-o, --out=out Save exported application to specified file, uses STDOUT if not specified
(optional)
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to export (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:version:export --appId {APP_ID} --versionId {VERSION_ID} --out {FILENAME.json or PATH/FILENAME.json}
--endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
See code: @microsoft/bf-luis-cli
bf luis:version:import
Imports a new version into a LUIS application from JSON or LU content.
USAGE
$ bf luis:version:import
OPTIONS
-h, --help show CLI help
-i, --in=in (required) File path containing LUIS application contents, uses STDIN if not
specified
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId Version to export (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:version:import --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --appId {APP_ID} --in
{PATH_TO_JSON} --versionId {VERSION_ID}
$ echo {SERIALIZED_JSON} | bf luis:version:import --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY}
--appId {APP_ID}
See code: @microsoft/bf-luis-cli
bf luis:version:list
Returns application's versions
USAGE
$ bf luis:version:list
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help show CLI help
-o, --out=out Output results to specified folder and/or file in JSON format, otherwise prints to
STDOUT (optional)
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--skip=skip Number of entries to skip. Default: 0 (no skips)
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--take=take Number of etnries to return. Maximum page size is 500. Default: 100
EXAMPLE
$ bf luis:version:list --appId {APPLICATION_ID} --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --take
3
$ bf luis:version:list --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --out {PATH_TO_JSON_FILE}
See code: @microsoft/bf-luis-cli
bf luis:version:rename
Renames application version
USAGE
$ bf luis:version:rename
OPTIONS
-h, --help show CLI help
--appId=appId (required) LUIS application Id (defaults to config:LUIS:appId)
--endpoint=endpoint LUIS endpoint hostname
--json Display output as JSON
--newVersionId=newVersionId (required) New version id
--subscriptionKey=subscriptionKey (required) LUIS cognitive services subscription key (default:
config:LUIS:subscriptionKey)
--versionId=versionId (required) Version to update (defaults to config:LUIS:versionId)
EXAMPLE
$ bf luis:version:rename --endpoint {ENDPOINT} --subscriptionKey {SUBSCRIPTION_KEY} --appId {APP_ID} --name
{NAME} --description {DESCRIPTION}
See code: @microsoft/bf-luis-cli
bf plugins
Install, uninstall and show installed plugins
USAGE
$ bf plugins
OPTIONS
--help Display plugins commands help.
See code: @microsoft/bf-cli-plugins
bf plugins:install PLUGIN
Installs a plugin into the BF CLI
USAGE
$ bf plugins:install PLUGIN
ARGUMENTS
PLUGIN plugin to install
OPTIONS
-f, --force yarn install with force flag
-h, --help show CLI help
-v, --verbose
DESCRIPTION
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation.
This is useful if a user needs to update core plugin functionality in the CLI without the need to patch and update the
whole CLI.
ALIASES
$ bf plugins:add
See code: @microsoft/bf-cli-plugins
bf plugins:list
List installed plugins
USAGE
$ bf plugins:list
OPTIONS
--core show core plugins
See code: @microsoft/bf-cli-plugins
bf plugins:uninstall [PLUGIN]
Removes a plugin from the BF CLI
USAGE
$ bf plugins:uninstall [PLUGIN]
ARGUMENTS
PLUGIN plugin to uninstall
OPTIONS
-h, --help show CLI help
-v, --verbose
See code: @microsoft/bf-cli-plugins
bf qnamaker
QnA Maker
USAGE
$ bf qnamaker
OPTIONS
-h, --help Display QnA Maker CLI available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:alterations
Commands for replacing and listing your alterations
USAGE
$ bf qnamaker:alterations
OPTIONS
-h, --help display qnamaker:alterations available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:alterations:list
Downloads all word alterations (synonyms) that have been added by the user.
USAGE
$ bf qnamaker:alterations:list
OPTIONS
-h, --help qnamaker:alterations:list command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:alterations:replace
Replaces word alterations (synonyms) for the KB with the give records.
USAGE
$ bf qnamaker:alterations:replace
OPTIONS
-h, --help qnamaker:alterations:replace command help
-i, --in=in File path to the WordAlterationsDTO object to send in the body of the request
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:build
Build .qna files to create or update qnamaker knowledge bases and qnamaker alterations
USAGE
$ bf qnamaker:build
OPTIONS
-b, --botName=botName (required) Bot name
-f, --force If --dialog flag is provided, overwirtes relevant dialog file
-h, --help show CLI help
-i, --in=in Source .qna file or folder
-o, --out=out Output file or folder name. If not specified, current directory will be used as
output
-s, --subscriptionKey=subscriptionKey (required) QnA maker subscription key
--defaultCulture=defaultCulture Culture code for the content. Infer from .qna if available. Defaults to en-us
if not set
--dialog=dialog [default: multiLanguage] Write out .dialog files whose recognizer type
[multiLanguage|crosstrained] is specified by --dialog
--fallbackLocale=fallbackLocale Locale to be used at the fallback if no locale specific recognizer is found.
Only valid if --dialog is set
--log write out log messages to console
--region=region [default: westus] Overrides public endpoint
https://<region>.api.cognitive.microsoft.com/qnamaker/v4.0/
--suffix=suffix Environment name as a suffix identifier to include in qnamaker kb name.
Defaults to current logged in user alias
EXAMPLE
$ bf qnamaker:build --in {INPUT_FILE_OR_FOLDER} --subscriptionKey {SUBSCRIPTION_KEY} --botName {BOT_NAME}
--dialog
See code: @microsoft/bf-qnamaker
bf qnamaker:convert
Converts .qna file(s) to QnA application JSON models or vice versa.
USAGE
$ bf qnamaker:convert
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help qnamaker:convert help
-i, --in=in Source .qna file(s) or QnA KB JSON file
-o, --out=out Output file or folder name. If not specified stdout will be used as output
-r, --recurse Indicates if sub-folders need to be considered to file .qna file(s)
--alterations Indicates if files is QnA Alterations
--log Enables log messages
--name=name Name of the QnA KB
--sort When set, questions collections are alphabetically sorted are alphabetically sorted in .qna files
See code: @microsoft/bf-qnamaker
bf qnamaker:cross-train
Lu and Qna cross train tool
USAGE
$ bf qnamaker:cross-train
OPTIONS
-h, --help luis:cross-train help
-i, --in=in source lu and qna files folder
-o, --out=out output folder name. If not specified, the cross trained files will be wrote to cross-trained
folder under folder of current command
--config=config path to config file of mapping rules which is relative to folder specified by --in. If not
specified, it will read default config.json from the folder specified by --in
--intentName=intentName [default: _Interruption] Interruption intent name
--rootDialog=rootDialog rootDialog file path which is relative to folder specified by --in. If --config not
specified, cross-trian will automatically construct the config from file system based on root
dialog file
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointkeys
Commands to refresh and list keys
USAGE
$ bf qnamaker:endpointkeys
OPTIONS
-h, --help display qnamaker:endpointkeys available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointkeys:list
List all the currently valid endpointKeys for querying your private endpoint
USAGE
$ bf qnamaker:endpointkeys:list
OPTIONS
-h, --help qnamaker:endpointkeys:list command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointkeys:refresh
Re-generates an endpoint key, in case you suspect your keys have been compromised
USAGE
$ bf qnamaker:endpointkeys:refresh
OPTIONS
-h, --help qnamaker:endpoints:refresh command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--keyType=keyType (required) Type of Key. (PrimaryKey/SecondaryKey)
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointsettings
Commands to get and update endpoint settings
USAGE
$ bf qnamaker:endpointsettings
OPTIONS
-h, --help display qnamaker:update available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointsettings:get
Gets endpoint settings for an endpoint.
USAGE
$ bf qnamaker:endpointsettings:get
OPTIONS
-h, --help qnamaker:endpointsettings:get command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--kbId=kbId Knowledgebase id to get metadata.
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:endpointsettings:update
Updates endpoint settings for an endpoint.
USAGE
$ bf qnamaker:endpointsettings:update
OPTIONS
-h, --help qnamaker:endpointsettings:update command help
--activelearning Enable active learning. Disables if flag not set
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:init
Initializes the config file with settings.
USAGE
$ bf qnamaker:init
OPTIONS
-h, --help qnamaker:init command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
See code: @microsoft/bf-qnamaker
bf qnamaker:kb
Commands for manipulating your knowledge base
USAGE
$ bf qnamaker:kb
OPTIONS
-h, --help display qnamaker:kb available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:create
Creates a new knowledgebase
USAGE
$ bf qnamaker:kb:create
OPTIONS
-h, --help qnamaker:kb:create command help
-i, --in=in File path to the CreateKbDTO object to send in the body of the request.
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--name=name Name of the kb you want to create. This will override the name of KB that might be
present in the CreateKb DTO
--save Save the kbId in config.
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:delete
Delete a knowledgebase by id
USAGE
$ bf qnamaker:kb:delete
OPTIONS
-h, --help qnamaker:kb:delete command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--force Do not prompt for confirmation, force the operation
--kbId=kbId Knowledgebase id to be deleted. Overrides the knowledge base id present in the
config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:export
Echos a knowledgebase in json or qna format to stdout
USAGE
$ bf qnamaker:kb:export
OPTIONS
-h, --help qnamaker:kb:export command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--environment=environment [default: Prod] Specifies whether environment is Test or Prod.
--kbId=kbId Knowledgebase id to be exported. Overrides the knowledge base id present in the
config
--qnaFormat Specifies if the content should be exported to .qna format.
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:get
Get metadata about a knowledgebase
USAGE
$ bf qnamaker:kb:get
OPTIONS
-h, --help qnamaker:kb:get command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--kbId=kbId Knowledgebase id to get metadata. Overrides the knowledge base id present in the
config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:list
List all of your knowledgebases
USAGE
$ bf qnamaker:kb:list
OPTIONS
-h, --help qnamaker:kb:list command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:publish
Publish all unpublished in the knowledgebase to the prod endpoint.
USAGE
$ bf qnamaker:kb:publish
OPTIONS
-h, --help qnamaker:kb:publish command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--kbId=kbId Knowledgebase id to pubish. Overrides the knowledge base id present in the config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:replace
Replace a knowledgebase contents with new contents
USAGE
$ bf qnamaker:kb:replace
OPTIONS
-h, --help qnamaker:kb:replace command help
-i, --in=in File path to the ReplaceKbDTO object to send in the body of the request.
Alternately this can be path to a .qna file
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--kbId=kbId Knowledgebase id. Overrides the knowledge base id present in the config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:kb:update
Add or delete QnA Pairs and / or URLs to an existing knowledge base
USAGE
$ bf qnamaker:kb:update
OPTIONS
-h, --help qnamaker:kb:update command help
-i, --in=in The file path to the UpdateKbOperationDTO object to send in the body of the
request.
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--kbId=kbId Knowledgebase id. Overrides the knowledge base id present in the config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
--wait Wait for the operation to complete.
See code: @microsoft/bf-qnamaker
bf qnamaker:operationdetails
Command to get operation details
USAGE
$ bf qnamaker:operationdetails
OPTIONS
-h, --help display qnamaker:operationdetails available commands
See code: @microsoft/bf-qnamaker
bf qnamaker:operationdetails:get
Gets details of a specific long running operation.
USAGE
$ bf qnamaker:operationdetails:get
OPTIONS
-h, --help qnamaker:operationdetails:get command help
--endpoint=endpoint Overrides public endpoint https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/
--operationId=operationId (required) Operation id.
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in the config
See code: @microsoft/bf-qnamaker
bf qnamaker:query
Generate Answer for fetching the answer from Kb for a query
USAGE
$ bf qnamaker:query
OPTIONS
-h, --help qnamaker:query command help
--context=context Path to Context object json file with previous QnA
--endpointKey=endpointKey Specifies the endpoint key for your private QnA service (From qnamaker.ai portal user
settings page). Overrides the value present in config
--hostname=hostname Specifies the url for your private QnA service. Overrides the value present in config
--kbId=kbId Specifies the active qnamaker knowledgebase id. Overrides the value present in the
config
--qnaId=qnaId Exact qnaId to fetch from the knowledgebase, this field takes priority over question
--question=question (required) Query to get a prediction for
--scorethreshold=scorethreshold Specifies the confidence score threshold for the returned answer.
--strictfilters=strictfilters Path to json file with MetadataDTO[] e.g {"strictfilters": MetadataDTO[]}
--test Query against the test index
--top=top Specifies the number of matching results
See code: @microsoft/bf-qnamaker
bf qnamaker:train
Train call to add suggestions to the knowledgebase.
USAGE
$ bf qnamaker:train
OPTIONS
-h, --help qnamaker:get:kb command help
--endpointKey=endpointKey Specifies the endpoint key for your private QnA service.(from qnamaker.ai portal
user settings page). Overrides the value present in config.
--hostname=hostname Specifies the url for your private QnA service. Overrides the value present in
config.
--in=in File path to the FeedbackRecordDTO object to send in the body of the request.
--kbId=kbId Specifies the active qnamaker knowledgebase id. Overrides the value present in the
config
--subscriptionKey=subscriptionKey Specifies the qnamaker Ocp-Apim-Subscription Key (found in Keys under Resource
Management section for your Qna Maker cognitive service). Overrides the
subscriptionkey value present in config
See code: @microsoft/bf-qnamaker
bf qnamaker:translate
Translate given QnA maker application JSON model or qna file(s)
USAGE
$ bf qnamaker:translate
OPTIONS
-f, --force If --out flag is provided with the path to an existing file, overwrites that file
-h, --help qnamaker:translate help
-i, --in=in Source .qna file(s) or QnA maker application JSON model
-o, --out=out Output folder name. If not specified stdout will be used as output
-r, --recurse Indicates if sub-folders need to be considered to find .qna file(s)
--srclang=srclang Source lang code. Auto detect if missing.
--tgtlang=tgtlang (required) Comma separated list of target languages.
--translate_comments When set, machine translate comments found in .qna file
--translate_link_text When set, machine translate link description in .qna file
--translatekey=translatekey (required) Machine translation endpoint key.
See code: @microsoft/bf-qnamaker
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago