From 492bf38ae1dd18acdcde6274a00b2dd6260b4084 Mon Sep 17 00:00:00 2001 From: ajosh0504 Date: Fri, 15 Nov 2024 23:58:00 +0000 Subject: [PATCH] deploy: df350d91f98eb4bf5f5af1a27936ac2198a8cadf --- 404.html | 4 +-- assets/js/158257ac.6a716fe7.js | 1 - assets/js/158257ac.98df7830.js | 1 + assets/js/1c5edff3.2497194f.js | 1 + assets/js/36c22dfc.381af588.js | 1 - assets/js/37e47ecd.0b3d3e25.js | 1 - assets/js/7395d0c0.475b823c.js | 1 + assets/js/751368e2.68a2b16f.js | 1 + assets/js/751368e2.88b3ffb5.js | 1 - assets/js/7c433d41.244d2764.js | 1 + assets/js/7c433d41.87bc4115.js | 1 - assets/js/978ac258.a8a5711d.js | 1 - assets/js/c1b5421d.04368be7.js | 1 + assets/js/c8620672.dd5c3c8f.js | 1 + assets/js/c8620672.e1d212b0.js | 1 - ...07b29.3d34adb3.js => cac07b29.293919f3.js} | 2 +- assets/js/dcffc672.2d3f4965.js | 1 + ...c7580.8717eda9.js => f9be2eb4.539e61e9.js} | 2 +- assets/js/main.def3f915.js | 2 -- assets/js/main.fe16f022.js | 2 ++ ...CENSE.txt => main.fe16f022.js.LICENSE.txt} | 0 assets/js/runtime~main.3530c551.js | 1 - assets/js/runtime~main.f0cedd81.js | 1 + docs/adding-memory/adding-memory.html | 4 +-- docs/adding-memory/concepts.html | 4 +-- docs/agent-tools/concepts.html | 8 ++--- docs/agent-tools/create-agent-tools.html | 8 ++--- .../create-vector-search-index.html | 12 +++++--- docs/agent-tools/get-connection-string.html | 25 ++++++++++++++++ docs/agent-tools/import-data.html | 15 ++++++---- docs/agent-tools/jupyter_notebooks.html | 28 ++++++++++++++++++ docs/ai-agents/components-of-agents.html | 4 +-- docs/ai-agents/what-are-ai-agents.html | 4 +-- docs/ai-agents/when-to-use-agents.html | 4 +-- docs/aws/bedrock.html | 4 +-- docs/aws/sagemaker-studio.html | 9 ++++-- docs/aws/workshop-studio.html | 4 +-- docs/category/add-memory-to-the-agent.html | 4 +-- docs/category/ai-agents.html | 4 +-- docs/category/aws.html | 6 ++-- docs/category/create-agent-tools.html | 6 ++-- docs/category/create-agent.html | 4 +-- docs/category/mongodb-atlas.html | 6 ++-- .../create-agent/build-and-execute-graph.html | 4 +-- docs/create-agent/concepts.html | 4 +-- .../define-conditional-edges.html | 4 +-- docs/create-agent/define-graph-nodes.html | 4 +-- docs/create-agent/define-graph-state.html | 4 +-- docs/create-agent/instantiate-llm.html | 4 +-- docs/intro.html | 4 +-- docs/mongodb-atlas/create-account.html | 6 ++-- docs/mongodb-atlas/create-cluster.html | 8 ++--- docs/mongodb-atlas/get-connection-string.html | 27 ----------------- docs/summary.html | 4 +-- es/404.html | 4 +-- es/assets/js/1c5edff3.6f8b7591.js | 1 + es/assets/js/36c22dfc.8d2beb06.js | 1 - es/assets/js/37e47ecd.9b3e1eee.js | 1 - es/assets/js/7395d0c0.1086c275.js | 1 + es/assets/js/751368e2.216e9662.js | 1 - es/assets/js/751368e2.7647cf7d.js | 1 + es/assets/js/7c433d41.3b15527f.js | 1 - es/assets/js/7c433d41.9faf94d7.js | 1 + es/assets/js/978ac258.c7b91af6.js | 1 - es/assets/js/c1b5421d.bd71f962.js | 1 + es/assets/js/c4b7c867.55e7e7d6.js | 1 - es/assets/js/c4b7c867.a884b98c.js | 1 + es/assets/js/c8620672.238446da.js | 1 - es/assets/js/c8620672.a62f002c.js | 1 + es/assets/js/dcffc672.6b8ccc7b.js | 1 + ...d20b9.a9d85211.js => e56d20b9.ba98d39e.js} | 2 +- ...c7580.a234cbac.js => f9be2eb4.ff85c760.js} | 2 +- es/assets/js/main.1cfa8747.js | 2 -- es/assets/js/main.9474d1e0.js | 2 ++ ...CENSE.txt => main.9474d1e0.js.LICENSE.txt} | 0 es/assets/js/runtime~main.1de711a4.js | 1 + es/assets/js/runtime~main.d1968f77.js | 1 - es/docs/adding-memory/adding-memory.html | 4 +-- es/docs/adding-memory/concepts.html | 4 +-- es/docs/agent-tools/concepts.html | 8 ++--- es/docs/agent-tools/create-agent-tools.html | 8 ++--- .../create-vector-search-index.html | 12 +++++--- .../agent-tools/get-connection-string.html | 25 ++++++++++++++++ es/docs/agent-tools/import-data.html | 15 ++++++---- es/docs/agent-tools/jupyter_notebooks.html | 28 ++++++++++++++++++ es/docs/ai-agents/components-of-agents.html | 4 +-- es/docs/ai-agents/what-are-ai-agents.html | 4 +-- es/docs/ai-agents/when-to-use-agents.html | 4 +-- es/docs/aws/bedrock.html | 4 +-- es/docs/aws/sagemaker-studio.html | 9 ++++-- es/docs/aws/workshop-studio.html | 4 +-- es/docs/category/add-memory-to-the-agent.html | 4 +-- es/docs/category/ai-agents.html | 4 +-- es/docs/category/aws.html | 6 ++-- es/docs/category/create-agent-tools.html | 6 ++-- es/docs/category/create-agent.html | 4 +-- es/docs/category/mongodb-atlas.html | 6 ++-- .../create-agent/build-and-execute-graph.html | 4 +-- es/docs/create-agent/concepts.html | 4 +-- .../define-conditional-edges.html | 4 +-- es/docs/create-agent/define-graph-nodes.html | 4 +-- es/docs/create-agent/define-graph-state.html | 4 +-- es/docs/create-agent/instantiate-llm.html | 4 +-- es/docs/intro.html | 4 +-- es/docs/mongodb-atlas/create-account.html | 6 ++-- es/docs/mongodb-atlas/create-cluster.html | 8 ++--- .../mongodb-atlas/get-connection-string.html | 27 ----------------- es/docs/summary.html | 4 +-- es/helloWorld.html | 4 +-- .../3-get-conn-string/1-connect-button.png | Bin 110327 -> 106379 bytes .../3-get-conn-string/2-connect-modal.png | Bin 112242 -> 251926 bytes .../3-get-conn-string/3-connect-compass.png | Bin 124486 -> 279959 bytes .../30-aws/2-bedrock/1-nav-console.png | Bin 28982 -> 205635 bytes .../30-aws/2-bedrock/3-model-access.png | Bin 30363 -> 510205 bytes .../3-sagemaker-studio/1-nav-sagemaker.png | Bin 89244 -> 64405 bytes .../3-sagemaker-studio/6-clone-repo.png | Bin 69887 -> 42080 bytes .../3-sagemaker-studio/7-open-template.png | Bin 67465 -> 70294 bytes .../8-select-notebook-env.png | Bin 0 -> 25447 bytes .../2-jupyter-notebooks/1-run-cell.png | Bin 0 -> 35014 bytes .../2-jupyter-notebooks/2-running-cell.png | Bin 0 -> 11292 bytes .../2-jupyter-notebooks/3-successful-cell.png | Bin 0 -> 10021 bytes .../2-jupyter-notebooks/4-error-in-cell.png | Bin 0 -> 33502 bytes .../2-jupyter-notebooks/5-interrupt-cell.png | Bin 0 -> 35377 bytes .../4-import-data/1-browse-collections.png | Bin 0 -> 55951 bytes .../4-import-data/2-chunked-collection.png | Bin 0 -> 149734 bytes .../4-import-data/3-full-collection.png | Bin 0 -> 142535 bytes .../1-nav-search-indexes.png | Bin 0 -> 90682 bytes .../2-index-ready.png | Bin 0 -> 66681 bytes es/index.html | 4 +-- es/lunr-index-1731352544470.json | 1 - es/lunr-index-1731715061835.json | 1 + es/lunr-index.json | 2 +- es/search-doc-1731352544470.json | 1 - es/search-doc-1731715061835.json | 1 + es/search-doc.json | 2 +- es/sitemap.xml | 2 +- helloWorld.html | 4 +-- .../3-get-conn-string/1-connect-button.png | Bin 110327 -> 106379 bytes .../3-get-conn-string/2-connect-modal.png | Bin 112242 -> 251926 bytes .../3-get-conn-string/3-connect-compass.png | Bin 124486 -> 279959 bytes .../30-aws/2-bedrock/1-nav-console.png | Bin 28982 -> 205635 bytes .../30-aws/2-bedrock/3-model-access.png | Bin 30363 -> 510205 bytes .../3-sagemaker-studio/1-nav-sagemaker.png | Bin 89244 -> 64405 bytes .../3-sagemaker-studio/6-clone-repo.png | Bin 69887 -> 42080 bytes .../3-sagemaker-studio/7-open-template.png | Bin 67465 -> 70294 bytes .../8-select-notebook-env.png | Bin 0 -> 25447 bytes .../2-jupyter-notebooks/1-run-cell.png | Bin 0 -> 35014 bytes .../2-jupyter-notebooks/2-running-cell.png | Bin 0 -> 11292 bytes .../2-jupyter-notebooks/3-successful-cell.png | Bin 0 -> 10021 bytes .../2-jupyter-notebooks/4-error-in-cell.png | Bin 0 -> 33502 bytes .../2-jupyter-notebooks/5-interrupt-cell.png | Bin 0 -> 35377 bytes .../4-import-data/1-browse-collections.png | Bin 0 -> 55951 bytes .../4-import-data/2-chunked-collection.png | Bin 0 -> 149734 bytes .../4-import-data/3-full-collection.png | Bin 0 -> 142535 bytes .../1-nav-search-indexes.png | Bin 0 -> 90682 bytes .../2-index-ready.png | Bin 0 -> 66681 bytes index.html | 4 +-- lunr-index-1731352524346.json | 1 - lunr-index-1731715040754.json | 1 + lunr-index.json | 2 +- search-doc-1731352524346.json | 1 - search-doc-1731715040754.json | 1 + search-doc.json | 2 +- sitemap.xml | 2 +- 164 files changed, 322 insertions(+), 244 deletions(-) delete mode 100644 assets/js/158257ac.6a716fe7.js create mode 100644 assets/js/158257ac.98df7830.js create mode 100644 assets/js/1c5edff3.2497194f.js delete mode 100644 assets/js/36c22dfc.381af588.js delete mode 100644 assets/js/37e47ecd.0b3d3e25.js create mode 100644 assets/js/7395d0c0.475b823c.js create mode 100644 assets/js/751368e2.68a2b16f.js delete mode 100644 assets/js/751368e2.88b3ffb5.js create mode 100644 assets/js/7c433d41.244d2764.js delete mode 100644 assets/js/7c433d41.87bc4115.js delete mode 100644 assets/js/978ac258.a8a5711d.js create mode 100644 assets/js/c1b5421d.04368be7.js create mode 100644 assets/js/c8620672.dd5c3c8f.js delete mode 100644 assets/js/c8620672.e1d212b0.js rename assets/js/{cac07b29.3d34adb3.js => cac07b29.293919f3.js} (58%) create mode 100644 assets/js/dcffc672.2d3f4965.js rename assets/js/{4dec7580.8717eda9.js => f9be2eb4.539e61e9.js} (95%) delete mode 100644 assets/js/main.def3f915.js create mode 100644 assets/js/main.fe16f022.js rename assets/js/{main.def3f915.js.LICENSE.txt => main.fe16f022.js.LICENSE.txt} (100%) delete mode 100644 assets/js/runtime~main.3530c551.js create mode 100644 assets/js/runtime~main.f0cedd81.js create mode 100644 docs/agent-tools/get-connection-string.html create mode 100644 docs/agent-tools/jupyter_notebooks.html delete mode 100644 docs/mongodb-atlas/get-connection-string.html create mode 100644 es/assets/js/1c5edff3.6f8b7591.js delete mode 100644 es/assets/js/36c22dfc.8d2beb06.js delete mode 100644 es/assets/js/37e47ecd.9b3e1eee.js create mode 100644 es/assets/js/7395d0c0.1086c275.js delete mode 100644 es/assets/js/751368e2.216e9662.js create mode 100644 es/assets/js/751368e2.7647cf7d.js delete mode 100644 es/assets/js/7c433d41.3b15527f.js create mode 100644 es/assets/js/7c433d41.9faf94d7.js delete mode 100644 es/assets/js/978ac258.c7b91af6.js create mode 100644 es/assets/js/c1b5421d.bd71f962.js delete mode 100644 es/assets/js/c4b7c867.55e7e7d6.js create mode 100644 es/assets/js/c4b7c867.a884b98c.js delete mode 100644 es/assets/js/c8620672.238446da.js create mode 100644 es/assets/js/c8620672.a62f002c.js create mode 100644 es/assets/js/dcffc672.6b8ccc7b.js rename es/assets/js/{e56d20b9.a9d85211.js => e56d20b9.ba98d39e.js} (57%) rename es/assets/js/{4dec7580.a234cbac.js => f9be2eb4.ff85c760.js} (95%) delete mode 100644 es/assets/js/main.1cfa8747.js create mode 100644 es/assets/js/main.9474d1e0.js rename es/assets/js/{main.1cfa8747.js.LICENSE.txt => main.9474d1e0.js.LICENSE.txt} (100%) create mode 100644 es/assets/js/runtime~main.1de711a4.js delete mode 100644 es/assets/js/runtime~main.d1968f77.js create mode 100644 es/docs/agent-tools/get-connection-string.html create mode 100644 es/docs/agent-tools/jupyter_notebooks.html delete mode 100644 es/docs/mongodb-atlas/get-connection-string.html create mode 100644 es/img/screenshots/30-aws/3-sagemaker-studio/8-select-notebook-env.png create mode 100644 es/img/screenshots/50-agent-tools/2-jupyter-notebooks/1-run-cell.png create mode 100644 es/img/screenshots/50-agent-tools/2-jupyter-notebooks/2-running-cell.png create mode 100644 es/img/screenshots/50-agent-tools/2-jupyter-notebooks/3-successful-cell.png create mode 100644 es/img/screenshots/50-agent-tools/2-jupyter-notebooks/4-error-in-cell.png create mode 100644 es/img/screenshots/50-agent-tools/2-jupyter-notebooks/5-interrupt-cell.png create mode 100644 es/img/screenshots/50-agent-tools/4-import-data/1-browse-collections.png create mode 100644 es/img/screenshots/50-agent-tools/4-import-data/2-chunked-collection.png create mode 100644 es/img/screenshots/50-agent-tools/4-import-data/3-full-collection.png create mode 100644 es/img/screenshots/50-agent-tools/5-create-vector-search-index/1-nav-search-indexes.png create mode 100644 es/img/screenshots/50-agent-tools/5-create-vector-search-index/2-index-ready.png delete mode 100644 es/lunr-index-1731352544470.json create mode 100644 es/lunr-index-1731715061835.json delete mode 100644 es/search-doc-1731352544470.json create mode 100644 es/search-doc-1731715061835.json create mode 100644 img/screenshots/30-aws/3-sagemaker-studio/8-select-notebook-env.png create mode 100644 img/screenshots/50-agent-tools/2-jupyter-notebooks/1-run-cell.png create mode 100644 img/screenshots/50-agent-tools/2-jupyter-notebooks/2-running-cell.png create mode 100644 img/screenshots/50-agent-tools/2-jupyter-notebooks/3-successful-cell.png create mode 100644 img/screenshots/50-agent-tools/2-jupyter-notebooks/4-error-in-cell.png create mode 100644 img/screenshots/50-agent-tools/2-jupyter-notebooks/5-interrupt-cell.png create mode 100644 img/screenshots/50-agent-tools/4-import-data/1-browse-collections.png create mode 100644 img/screenshots/50-agent-tools/4-import-data/2-chunked-collection.png create mode 100644 img/screenshots/50-agent-tools/4-import-data/3-full-collection.png create mode 100644 img/screenshots/50-agent-tools/5-create-vector-search-index/1-nav-search-indexes.png create mode 100644 img/screenshots/50-agent-tools/5-create-vector-search-index/2-index-ready.png delete mode 100644 lunr-index-1731352524346.json create mode 100644 lunr-index-1731715040754.json delete mode 100644 search-doc-1731352524346.json create mode 100644 search-doc-1731715040754.json diff --git a/404.html b/404.html index c25f7ad..5d3c363 100644 --- a/404.html +++ b/404.html @@ -7,8 +7,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/158257ac.6a716fe7.js b/assets/js/158257ac.6a716fe7.js deleted file mode 100644 index 8630e70..0000000 --- a/assets/js/158257ac.6a716fe7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[867],{4564:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/mdb-aws-agents-lab/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"AI Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 What are AI agents?","href":"/mdb-aws-agents-lab/docs/ai-agents/what-are-ai-agents","docId":"ai-agents/what-are-ai-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 When to use AI agents?","href":"/mdb-aws-agents-lab/docs/ai-agents/when-to-use-agents","docId":"ai-agents/when-to-use-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 Components of AI agents","href":"/mdb-aws-agents-lab/docs/ai-agents/components-of-agents","docId":"ai-agents/components-of-agents","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/ai-agents"},{"type":"category","label":"MongoDB Atlas","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create your account","href":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account","docId":"mongodb-atlas/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Deploy a database cluster","href":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster","docId":"mongodb-atlas/create-cluster","unlisted":false},{"type":"link","label":"\ud83d\udc50 Get your connection string","href":"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string","docId":"mongodb-atlas/get-connection-string","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/mongodb-atlas"},{"type":"category","label":"AWS","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Log into your temporary AWS account","href":"/mdb-aws-agents-lab/docs/aws/workshop-studio","docId":"aws/workshop-studio","unlisted":false},{"type":"link","label":"\ud83d\udc50 Request access to LLMs in Bedrock","href":"/mdb-aws-agents-lab/docs/aws/bedrock","docId":"aws/bedrock","unlisted":false},{"type":"link","label":"\ud83d\udc50 Setup dev environment in Sagemaker Studio","href":"/mdb-aws-agents-lab/docs/aws/sagemaker-studio","docId":"aws/sagemaker-studio","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/aws"},{"type":"category","label":"Create Agent Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/agent-tools/concepts","docId":"agent-tools/concepts","unlisted":false},{"type":"link","label":"\ud83d\udc50 Import data","href":"/mdb-aws-agents-lab/docs/agent-tools/import-data","docId":"agent-tools/import-data","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a vector search index","href":"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index","docId":"agent-tools/create-vector-search-index","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create agent tools","href":"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools","docId":"agent-tools/create-agent-tools","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/create-agent-tools"},{"type":"category","label":"Create Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/create-agent/concepts","docId":"create-agent/concepts","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define graph state","href":"/mdb-aws-agents-lab/docs/create-agent/define-graph-state","docId":"create-agent/define-graph-state","unlisted":false},{"type":"link","label":"\ud83d\udc50 Instantiate the LLM","href":"/mdb-aws-agents-lab/docs/create-agent/instantiate-llm","docId":"create-agent/instantiate-llm","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define graph nodes","href":"/mdb-aws-agents-lab/docs/create-agent/define-graph-nodes","docId":"create-agent/define-graph-nodes","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define conditional edges","href":"/mdb-aws-agents-lab/docs/create-agent/define-conditional-edges","docId":"create-agent/define-conditional-edges","unlisted":false},{"type":"link","label":"\ud83d\udc50 Build and execute the graph","href":"/mdb-aws-agents-lab/docs/create-agent/build-and-execute-graph","docId":"create-agent/build-and-execute-graph","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/create-agent"},{"type":"category","label":"Add Memory to the Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/adding-memory/concepts","docId":"adding-memory/concepts","unlisted":false},{"type":"link","label":"\ud83d\udc50 Add memory to the agent","href":"/mdb-aws-agents-lab/docs/adding-memory/adding-memory","docId":"adding-memory/adding-memory","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/add-memory-to-the-agent"},{"type":"link","label":"\ud83c\udfaf Summary","href":"/mdb-aws-agents-lab/docs/summary","docId":"summary","unlisted":false}]},"docs":{"adding-memory/adding-memory":{"id":"adding-memory/adding-memory","title":"\ud83d\udc50 Add memory to the agent","description":"The final step in this lab is to add conversational message history as a form of memory for our agent.","sidebar":"tutorialSidebar"},"adding-memory/concepts":{"id":"adding-memory/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"agent-tools/concepts":{"id":"agent-tools/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"agent-tools/create-agent-tools":{"id":"agent-tools/create-agent-tools","title":"\ud83d\udc50 Create agent tools","description":"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function\'s docstring as the tool\'s description.","sidebar":"tutorialSidebar"},"agent-tools/create-vector-search-index":{"id":"agent-tools/create-vector-search-index","title":"\ud83d\udc50 Create a vector search index","description":"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against.","sidebar":"tutorialSidebar"},"agent-tools/import-data":{"id":"agent-tools/import-data","title":"\ud83d\udc50 Import data","description":"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization.","sidebar":"tutorialSidebar"},"ai-agents/components-of-agents":{"id":"ai-agents/components-of-agents","title":"\ud83d\udcd8 Components of AI agents","description":"AI agents have four main components: perception, planning and reasoning, tools, and memory.","sidebar":"tutorialSidebar"},"ai-agents/what-are-ai-agents":{"id":"ai-agents/what-are-ai-agents","title":"\ud83d\udcd8 What are AI agents?","description":"An AI agent is a system that uses an LLM to reason through a problem, create a plan to solve the problem, and execute the plan with the help of a set of tools.","sidebar":"tutorialSidebar"},"ai-agents/when-to-use-agents":{"id":"ai-agents/when-to-use-agents","title":"\ud83d\udcd8 When to use AI agents?","description":"AI agents are best suited for complex, multi-step tasks that require integration of multiple capabilities, such as question-answering, analysis, task execution etc. to arrive at the final answer or outcome. An active area of research is to have AI agents learn from their past interactions to build personalized and adaptive experiences.","sidebar":"tutorialSidebar"},"aws/bedrock":{"id":"aws/bedrock","title":"\ud83d\udc50 Request access to LLMs in Bedrock","description":"In this lab, we will use chat completion LLMs available on Amazon Bedrock. But first, you need to enable the models.","sidebar":"tutorialSidebar"},"aws/sagemaker-studio":{"id":"aws/sagemaker-studio","title":"\ud83d\udc50 Setup dev environment in Sagemaker Studio","description":"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab.","sidebar":"tutorialSidebar"},"aws/workshop-studio":{"id":"aws/workshop-studio","title":"\ud83d\udc50 Log into your temporary AWS account","description":"In this lab, we will use LLMs from Amazon Bedrock and JupyterLab as the dev environment via Sagemaker Studio.","sidebar":"tutorialSidebar"},"create-agent/build-and-execute-graph":{"id":"create-agent/build-and-execute-graph","title":"\ud83d\udc50 Build and execute the graph","description":"Now that we have defined the nodes and edges of the graph, let\'s put the graph together and execute it to ensure that our agent is working as expected.","sidebar":"tutorialSidebar"},"create-agent/concepts":{"id":"create-agent/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"create-agent/define-conditional-edges":{"id":"create-agent/define-conditional-edges","title":"\ud83d\udc50 Define conditional edges","description":"Edges in a LangGraph graph can be fixed or conditional. For conditional edges, we need a routing function to conditionally route the workflow to different nodes.","sidebar":"tutorialSidebar"},"create-agent/define-graph-nodes":{"id":"create-agent/define-graph-nodes","title":"\ud83d\udc50 Define graph nodes","description":"Let\'s define the nodes of our graph. Our agent will have two nodes- an agent node and a tool node.","sidebar":"tutorialSidebar"},"create-agent/define-graph-state":{"id":"create-agent/define-graph-state","title":"\ud83d\udc50 Define graph state","description":"Let\'s start by defining the state of our agent\'s graph.","sidebar":"tutorialSidebar"},"create-agent/instantiate-llm":{"id":"create-agent/instantiate-llm","title":"\ud83d\udc50 Instantiate the LLM","description":"Now let\'s instantiate the LLM that will serve as the \\"brain\\" of our agent, and give it access to the tools we defined previously.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"|Lab goals|Learn the basics of building AI agents|","sidebar":"tutorialSidebar"},"mongodb-atlas/create-account":{"id":"mongodb-atlas/create-account","title":"\ud83d\udc50 Create your account","description":"In this lab, you will learn how to use MongoDB Atlas as a knowledge base as well as a memory provider for AI agents.","sidebar":"tutorialSidebar"},"mongodb-atlas/create-cluster":{"id":"mongodb-atlas/create-cluster","title":"\ud83d\udc50 Deploy a database cluster","description":"Now that you have a MongoDB Atlas account, you can create your first cluster for free.","sidebar":"tutorialSidebar"},"mongodb-atlas/get-connection-string":{"id":"mongodb-atlas/get-connection-string","title":"\ud83d\udc50 Get your connection string","description":"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.","sidebar":"tutorialSidebar"},"summary":{"id":"summary","title":"\ud83c\udfaf Summary","description":"Congratulations! Following this lab, you have successfully:","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/158257ac.98df7830.js b/assets/js/158257ac.98df7830.js new file mode 100644 index 0000000..157b555 --- /dev/null +++ b/assets/js/158257ac.98df7830.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[867],{4564:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/mdb-aws-agents-lab/docs/intro","docId":"intro","unlisted":false},{"type":"category","label":"AI Agents","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 What are AI agents?","href":"/mdb-aws-agents-lab/docs/ai-agents/what-are-ai-agents","docId":"ai-agents/what-are-ai-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 When to use AI agents?","href":"/mdb-aws-agents-lab/docs/ai-agents/when-to-use-agents","docId":"ai-agents/when-to-use-agents","unlisted":false},{"type":"link","label":"\ud83d\udcd8 Components of AI agents","href":"/mdb-aws-agents-lab/docs/ai-agents/components-of-agents","docId":"ai-agents/components-of-agents","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/ai-agents"},{"type":"category","label":"MongoDB Atlas","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Create your account","href":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account","docId":"mongodb-atlas/create-account","unlisted":false},{"type":"link","label":"\ud83d\udc50 Deploy a database cluster","href":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster","docId":"mongodb-atlas/create-cluster","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/mongodb-atlas"},{"type":"category","label":"AWS","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udc50 Log into your temporary AWS account","href":"/mdb-aws-agents-lab/docs/aws/workshop-studio","docId":"aws/workshop-studio","unlisted":false},{"type":"link","label":"\ud83d\udc50 Request access to LLMs in Bedrock","href":"/mdb-aws-agents-lab/docs/aws/bedrock","docId":"aws/bedrock","unlisted":false},{"type":"link","label":"\ud83d\udc50 Setup dev environment in Sagemaker Studio","href":"/mdb-aws-agents-lab/docs/aws/sagemaker-studio","docId":"aws/sagemaker-studio","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/aws"},{"type":"category","label":"Create Agent Tools","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/agent-tools/concepts","docId":"agent-tools/concepts","unlisted":false},{"type":"link","label":"\ud83d\udcd8 Running code in Jupyter Notebooks","href":"/mdb-aws-agents-lab/docs/agent-tools/jupyter_notebooks","docId":"agent-tools/jupyter_notebooks","unlisted":false},{"type":"link","label":"\ud83d\udc50 Get your connection string","href":"/mdb-aws-agents-lab/docs/agent-tools/get-connection-string","docId":"agent-tools/get-connection-string","unlisted":false},{"type":"link","label":"\ud83d\udc50 Import data","href":"/mdb-aws-agents-lab/docs/agent-tools/import-data","docId":"agent-tools/import-data","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create a vector search index","href":"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index","docId":"agent-tools/create-vector-search-index","unlisted":false},{"type":"link","label":"\ud83d\udc50 Create agent tools","href":"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools","docId":"agent-tools/create-agent-tools","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/create-agent-tools"},{"type":"category","label":"Create Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/create-agent/concepts","docId":"create-agent/concepts","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define graph state","href":"/mdb-aws-agents-lab/docs/create-agent/define-graph-state","docId":"create-agent/define-graph-state","unlisted":false},{"type":"link","label":"\ud83d\udc50 Instantiate the LLM","href":"/mdb-aws-agents-lab/docs/create-agent/instantiate-llm","docId":"create-agent/instantiate-llm","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define graph nodes","href":"/mdb-aws-agents-lab/docs/create-agent/define-graph-nodes","docId":"create-agent/define-graph-nodes","unlisted":false},{"type":"link","label":"\ud83d\udc50 Define conditional edges","href":"/mdb-aws-agents-lab/docs/create-agent/define-conditional-edges","docId":"create-agent/define-conditional-edges","unlisted":false},{"type":"link","label":"\ud83d\udc50 Build and execute the graph","href":"/mdb-aws-agents-lab/docs/create-agent/build-and-execute-graph","docId":"create-agent/build-and-execute-graph","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/create-agent"},{"type":"category","label":"Add Memory to the Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"\ud83d\udcd8 Concepts","href":"/mdb-aws-agents-lab/docs/adding-memory/concepts","docId":"adding-memory/concepts","unlisted":false},{"type":"link","label":"\ud83d\udc50 Add memory to the agent","href":"/mdb-aws-agents-lab/docs/adding-memory/adding-memory","docId":"adding-memory/adding-memory","unlisted":false}],"href":"/mdb-aws-agents-lab/docs/category/add-memory-to-the-agent"},{"type":"link","label":"\ud83c\udfaf Summary","href":"/mdb-aws-agents-lab/docs/summary","docId":"summary","unlisted":false}]},"docs":{"adding-memory/adding-memory":{"id":"adding-memory/adding-memory","title":"\ud83d\udc50 Add memory to the agent","description":"The final step in this lab is to add conversational message history as a form of memory for our agent.","sidebar":"tutorialSidebar"},"adding-memory/concepts":{"id":"adding-memory/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"agent-tools/concepts":{"id":"agent-tools/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"agent-tools/create-agent-tools":{"id":"agent-tools/create-agent-tools","title":"\ud83d\udc50 Create agent tools","description":"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function\'s docstring as the tool\'s description.","sidebar":"tutorialSidebar"},"agent-tools/create-vector-search-index":{"id":"agent-tools/create-vector-search-index","title":"\ud83d\udc50 Create a vector search index","description":"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against.","sidebar":"tutorialSidebar"},"agent-tools/get-connection-string":{"id":"agent-tools/get-connection-string","title":"\ud83d\udc50 Get your connection string","description":"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.","sidebar":"tutorialSidebar"},"agent-tools/import-data":{"id":"agent-tools/import-data","title":"\ud83d\udc50 Import data","description":"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization.","sidebar":"tutorialSidebar"},"agent-tools/jupyter_notebooks":{"id":"agent-tools/jupyter_notebooks","title":"\ud83d\udcd8 Running code in Jupyter Notebooks","description":"Jupyter Notebooks are an interactive Python environment. Cells in a Jupyter notebook are a modular unit of code or text that you can execute and view outputs for.","sidebar":"tutorialSidebar"},"ai-agents/components-of-agents":{"id":"ai-agents/components-of-agents","title":"\ud83d\udcd8 Components of AI agents","description":"AI agents have four main components: perception, planning and reasoning, tools, and memory.","sidebar":"tutorialSidebar"},"ai-agents/what-are-ai-agents":{"id":"ai-agents/what-are-ai-agents","title":"\ud83d\udcd8 What are AI agents?","description":"An AI agent is a system that uses an LLM to reason through a problem, create a plan to solve the problem, and execute the plan with the help of a set of tools.","sidebar":"tutorialSidebar"},"ai-agents/when-to-use-agents":{"id":"ai-agents/when-to-use-agents","title":"\ud83d\udcd8 When to use AI agents?","description":"AI agents are best suited for complex, multi-step tasks that require integration of multiple capabilities, such as question-answering, analysis, task execution etc. to arrive at the final answer or outcome. An active area of research is to have AI agents learn from their past interactions to build personalized and adaptive experiences.","sidebar":"tutorialSidebar"},"aws/bedrock":{"id":"aws/bedrock","title":"\ud83d\udc50 Request access to LLMs in Bedrock","description":"In this lab, we will use chat completion LLMs available on Amazon Bedrock. But first, you need to enable the models.","sidebar":"tutorialSidebar"},"aws/sagemaker-studio":{"id":"aws/sagemaker-studio","title":"\ud83d\udc50 Setup dev environment in Sagemaker Studio","description":"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab.","sidebar":"tutorialSidebar"},"aws/workshop-studio":{"id":"aws/workshop-studio","title":"\ud83d\udc50 Log into your temporary AWS account","description":"In this lab, we will use LLMs from Amazon Bedrock and JupyterLab as the dev environment via Sagemaker Studio.","sidebar":"tutorialSidebar"},"create-agent/build-and-execute-graph":{"id":"create-agent/build-and-execute-graph","title":"\ud83d\udc50 Build and execute the graph","description":"Now that we have defined the nodes and edges of the graph, let\'s put the graph together and execute it to ensure that our agent is working as expected.","sidebar":"tutorialSidebar"},"create-agent/concepts":{"id":"create-agent/concepts","title":"\ud83d\udcd8 Concepts","description":"Here is a quick overview of concepts that you will come across in this section of the lab:","sidebar":"tutorialSidebar"},"create-agent/define-conditional-edges":{"id":"create-agent/define-conditional-edges","title":"\ud83d\udc50 Define conditional edges","description":"Edges in a LangGraph graph can be fixed or conditional. For conditional edges, we need a routing function to conditionally route the workflow to different nodes.","sidebar":"tutorialSidebar"},"create-agent/define-graph-nodes":{"id":"create-agent/define-graph-nodes","title":"\ud83d\udc50 Define graph nodes","description":"Let\'s define the nodes of our graph. Our agent will have two nodes- an agent node and a tool node.","sidebar":"tutorialSidebar"},"create-agent/define-graph-state":{"id":"create-agent/define-graph-state","title":"\ud83d\udc50 Define graph state","description":"Let\'s start by defining the state of our agent\'s graph.","sidebar":"tutorialSidebar"},"create-agent/instantiate-llm":{"id":"create-agent/instantiate-llm","title":"\ud83d\udc50 Instantiate the LLM","description":"Now let\'s instantiate the LLM that will serve as the \\"brain\\" of our agent, and give it access to the tools we defined previously.","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"Introduction","description":"|Lab goals|Learn the basics of building AI agents|","sidebar":"tutorialSidebar"},"mongodb-atlas/create-account":{"id":"mongodb-atlas/create-account","title":"\ud83d\udc50 Create your account","description":"In this lab, you will learn how to use MongoDB Atlas as a knowledge base as well as a memory provider for AI agents.","sidebar":"tutorialSidebar"},"mongodb-atlas/create-cluster":{"id":"mongodb-atlas/create-cluster","title":"\ud83d\udc50 Deploy a database cluster","description":"Now that you have a MongoDB Atlas account, you can create your first cluster for free.","sidebar":"tutorialSidebar"},"summary":{"id":"summary","title":"\ud83c\udfaf Summary","description":"Congratulations! Following this lab, you have successfully:","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/1c5edff3.2497194f.js b/assets/js/1c5edff3.2497194f.js new file mode 100644 index 0000000..efd6ada --- /dev/null +++ b/assets/js/1c5edff3.2497194f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[458],{8988:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>i,contentTitle:()=>c,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var n=o(4848),s=o(8453),a=(o(3974),o(2763));const r={},c="\ud83d\udc50 Import data",l={id:"agent-tools/import-data",title:"\ud83d\udc50 Import data",description:"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization.",source:"@site/docs/50-agent-tools/4-import-data.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/import-data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/4-import-data.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Get your connection string",permalink:"/mdb-aws-agents-lab/docs/agent-tools/get-connection-string"},next:{title:"\ud83d\udc50 Create a vector search index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index"}},i={},d=[];function m(t){const e={code:"code",em:"em",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"-import-data",children:"\ud83d\udc50 Import data"})}),"\n",(0,n.jsx)(e.p,{children:"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization."}),"\n",(0,n.jsxs)(e.p,{children:["Let's import the data required by these tools into two MongoDB collections. This is as simple as making a ",(0,n.jsx)(e.code,{children:"GET"})," request to a serverless AWS Lambda function that we have created for you."]}),"\n",(0,n.jsxs)(e.p,{children:["Run the cells under the ",(0,n.jsx)(e.strong,{children:"Step 3: Import data"})," section in the notebook to import the data required by our agent's tools, into MongoDB collections."]}),"\n",(0,n.jsxs)(e.p,{children:["To verify that the data has been imported into your MongoDB cluster, navigate to the ",(0,n.jsx)(e.strong,{children:"Overview"})," page in the Atlas UI. In the ",(0,n.jsx)(e.strong,{children:"Clusters section"}),", select the cluster you just created and click ",(0,n.jsx)(e.strong,{children:"Browse collections"}),"."]}),"\n",(0,n.jsx)(a.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/50-agent-tools/4-import-data/1-browse-collections.png",alt:"Browse collections"}),"\n",(0,n.jsxs)(e.p,{children:["Ensure that you see a database called ",(0,n.jsx)(e.em,{children:"mongodb_agents_lab"}),", and two collections namely ",(0,n.jsx)(e.em,{children:"chunked_articles"})," and ",(0,n.jsx)(e.em,{children:"full_articles"})," under it. Note the number and format of documents in both the collections."]}),"\n",(0,n.jsx)(a.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/50-agent-tools/4-import-data/2-chunked-collection.png",alt:"Chunked collection"}),"\n",(0,n.jsx)(a.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/50-agent-tools/4-import-data/3-full-collection.png",alt:"Full collection"})]})}function u(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(m,{...t})}):m(t)}},3974:(t,e,o)=>{o.d(e,{A:()=>r});o(6540);var n=o(8774),s=o(4586),a=o(4848);function r(t){const e=(0,s.A)(),o=e?.siteConfig?.customFields?.utmParams||"",r=`${t.to}?${o}`;return(0,a.jsx)(n.A,{...t,to:r})}},2763:(t,e,o)=>{o.d(e,{A:()=>r});o(6540);var n=o(4848);function s(t){const e=t.url||"http://localhost:3000";return(0,n.jsxs)("div",{className:"browser container",children:[(0,n.jsxs)("div",{className:"row",children:[(0,n.jsxs)("div",{className:"column left",children:[(0,n.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,n.jsx)("div",{className:"column middle",children:(0,n.jsx)("input",{type:"text",value:e})}),(0,n.jsx)("div",{className:"column right",children:(0,n.jsxs)("div",{style:{float:"right"},children:[(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"})]})})]}),(0,n.jsx)("div",{className:"content",children:t.children})]})}var a=o(6025);function r(t){return(0,n.jsx)(s,{...t,children:(0,n.jsx)("img",{src:(0,a.Ay)(t.src),alt:t.alt})})}},8453:(t,e,o)=>{o.d(e,{R:()=>r,x:()=>c});var n=o(6540);const s={},a=n.createContext(s);function r(t){const e=n.useContext(a);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),n.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/36c22dfc.381af588.js b/assets/js/36c22dfc.381af588.js deleted file mode 100644 index ff620a9..0000000 --- a/assets/js/36c22dfc.381af588.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[988],{1130:(n,t,e)=>{e.r(t),e.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var o=e(4848),s=e(8453),r=(e(3974),e(2763));const c={},a="\ud83d\udc50 Get your connection string",i={id:"mongodb-atlas/get-connection-string",title:"\ud83d\udc50 Get your connection string",description:"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.",source:"@site/docs/20-mongodb-atlas/3-get-connection-string.mdx",sourceDirName:"20-mongodb-atlas",slug:"/mongodb-atlas/get-connection-string",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/20-mongodb-atlas/3-get-connection-string.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Deploy a database cluster",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster"},next:{title:"AWS",permalink:"/mdb-aws-agents-lab/docs/category/aws"}},l={},d=[];function u(n){const t={admonition:"admonition",code:"code",h1:"h1",header:"header",p:"p",pre:"pre",strong:"strong",...(0,s.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"-get-your-connection-string",children:"\ud83d\udc50 Get your connection string"})}),"\n",(0,o.jsx)(t.p,{children:"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster."}),"\n",(0,o.jsxs)(t.p,{children:["In the Atlas UI, navigate to the ",(0,o.jsx)(t.strong,{children:"Overview"})," page. In the ",(0,o.jsx)(t.strong,{children:"Clusters section"}),", select the cluster you just created and click ",(0,o.jsx)(t.strong,{children:"Connect"}),"."]}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/1-connect-button.png",alt:"Screenshot of the connect button"}),"\n",(0,o.jsx)(t.p,{children:"A modal will display several ways to connect to your database."}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/2-connect-modal.png",alt:"Screenshot of the connect modal"}),"\n",(0,o.jsxs)(t.p,{children:["Select ",(0,o.jsx)(t.strong,{children:"Compass"}),". While we won't be using Compass to import the data, it's an easy way to see your connection string."]}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/3-connect-compass.png",alt:"Screenshot of the connection string"}),"\n",(0,o.jsx)(t.p,{children:"Look for your connection string. It should look something like:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:"mongodb+srv://:@/\n"})}),"\n",(0,o.jsx)(t.p,{children:"Click the copy button next to your connection string to copy it to your clipboard. Paste the connection string somewhere safe."}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Don't forget to replace ",(0,o.jsx)(t.code,{children:""})," with the password you set when you created the cluster."]})})]})}function g(n={}){const{wrapper:t}={...(0,s.R)(),...n.components};return t?(0,o.jsx)(t,{...n,children:(0,o.jsx)(u,{...n})}):u(n)}},3974:(n,t,e)=>{e.d(t,{A:()=>c});e(6540);var o=e(8774),s=e(4586),r=e(4848);function c(n){const t=(0,s.A)(),e=t?.siteConfig?.customFields?.utmParams||"",c=`${n.to}?${e}`;return(0,r.jsx)(o.A,{...n,to:c})}},2763:(n,t,e)=>{e.d(t,{A:()=>c});e(6540);var o=e(4848);function s(n){const t=n.url||"http://localhost:3000";return(0,o.jsxs)("div",{className:"browser container",children:[(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:"column left",children:[(0,o.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,o.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,o.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,o.jsx)("div",{className:"column middle",children:(0,o.jsx)("input",{type:"text",value:t})}),(0,o.jsx)("div",{className:"column right",children:(0,o.jsxs)("div",{style:{float:"right"},children:[(0,o.jsx)("span",{className:"bar"}),(0,o.jsx)("span",{className:"bar"}),(0,o.jsx)("span",{className:"bar"})]})})]}),(0,o.jsx)("div",{className:"content",children:n.children})]})}var r=e(6025);function c(n){return(0,o.jsx)(s,{...n,children:(0,o.jsx)("img",{src:(0,r.Ay)(n.src),alt:n.alt})})}},8453:(n,t,e)=>{e.d(t,{R:()=>c,x:()=>a});var o=e(6540);const s={},r=o.createContext(s);function c(n){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof n?n(t):{...t,...n}}),[t,n])}function a(n){let t;return t=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:c(n.components),o.createElement(r.Provider,{value:t},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/37e47ecd.0b3d3e25.js b/assets/js/37e47ecd.0b3d3e25.js deleted file mode 100644 index 643127d..0000000 --- a/assets/js/37e47ecd.0b3d3e25.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[991],{5317:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var r=n(4848),o=n(8453);const s={},c="\ud83d\udc50 Create a vector search index",a={id:"agent-tools/create-vector-search-index",title:"\ud83d\udc50 Create a vector search index",description:"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against.",source:"@site/docs/50-agent-tools/3-create-vector-search-index.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/create-vector-search-index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/3-create-vector-search-index.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Import data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data"},next:{title:"\ud83d\udc50 Create agent tools",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools"}},i={},d=[];function l(e){const t={code:"code",h1:"h1",header:"header",p:"p",pre:"pre",strong:"strong",...(0,o.R)(),...e.components},{Details:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.header,{children:(0,r.jsx)(t.h1,{id:"-create-a-vector-search-index",children:"\ud83d\udc50 Create a vector search index"})}),"\n",(0,r.jsx)(t.p,{children:"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against."}),"\n",(0,r.jsxs)(t.p,{children:["Fill in any ",(0,r.jsx)(t.code,{children:""})," placeholders and run the cells under the ",(0,r.jsx)(t.strong,{children:"Step 4: Create a vector search index"})," section in the notebook to create a vector search index."]}),"\n",(0,r.jsx)(t.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"CODE_BLOCK_1"})}),"\n",(0,r.jsxs)(n,{children:[(0,r.jsx)("summary",{children:"Answer"}),(0,r.jsx)("div",{children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"mongodb_client[DB_NAME][VS_COLLECTION_NAME]\n"})})})]}),"\n",(0,r.jsx)(t.p,{children:(0,r.jsx)(t.strong,{children:"CODE_BLOCK_2"})}),"\n",(0,r.jsxs)(n,{children:[(0,r.jsx)("summary",{children:"Answer"}),(0,r.jsx)("div",{children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-python",children:"vs_collection.create_search_index(model=model)\n"})})})]})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>a});var r=n(6540);const o={},s=r.createContext(o);function c(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7395d0c0.475b823c.js b/assets/js/7395d0c0.475b823c.js new file mode 100644 index 0000000..302d10e --- /dev/null +++ b/assets/js/7395d0c0.475b823c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[518],{4278:(t,n,e)=>{e.r(n),e.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var o=e(4848),s=e(8453),r=(e(3974),e(2763));const c={},a="\ud83d\udc50 Get your connection string",i={id:"agent-tools/get-connection-string",title:"\ud83d\udc50 Get your connection string",description:"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster.",source:"@site/docs/50-agent-tools/3-get-connection-string.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/get-connection-string",permalink:"/mdb-aws-agents-lab/docs/agent-tools/get-connection-string",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/3-get-connection-string.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcd8 Running code in Jupyter Notebooks",permalink:"/mdb-aws-agents-lab/docs/agent-tools/jupyter_notebooks"},next:{title:"\ud83d\udc50 Import data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data"}},l={},d=[];function u(t){const n={admonition:"admonition",code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,s.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"-get-your-connection-string",children:"\ud83d\udc50 Get your connection string"})}),"\n",(0,o.jsx)(n.p,{children:"In order to ingest data into your cluster later in the lab, you will need to get the connection string for your cluster."}),"\n",(0,o.jsxs)(n.p,{children:["In the Atlas UI, navigate to the ",(0,o.jsx)(n.strong,{children:"Overview"})," page. In the ",(0,o.jsx)(n.strong,{children:"Clusters section"}),", select the cluster you just created and click ",(0,o.jsx)(n.strong,{children:"Connect"}),"."]}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/1-connect-button.png",alt:"Screenshot of the connect button"}),"\n",(0,o.jsxs)(n.p,{children:["A modal will display several ways to connect to your database. Select ",(0,o.jsx)(n.strong,{children:"Drivers"}),"."]}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/2-connect-modal.png",alt:"Screenshot of the connect modal"}),"\n",(0,o.jsxs)(n.p,{children:["Look for your connection string. It should look something like ",(0,o.jsx)(n.code,{children:"mongodb+srv://:@/"})]}),"\n",(0,o.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/3-get-conn-string/3-connect-compass.png",alt:"Screenshot of the connection string"}),"\n",(0,o.jsx)(n.p,{children:"Click the copy button next to your connection string to copy it to your clipboard. Paste the connection string somewhere safe."}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["Don't forget to replace ",(0,o.jsx)(n.code,{children:""})," with the password you set when you created the cluster."]})})]})}function g(t={}){const{wrapper:n}={...(0,s.R)(),...t.components};return n?(0,o.jsx)(n,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},3974:(t,n,e)=>{e.d(n,{A:()=>c});e(6540);var o=e(8774),s=e(4586),r=e(4848);function c(t){const n=(0,s.A)(),e=n?.siteConfig?.customFields?.utmParams||"",c=`${t.to}?${e}`;return(0,r.jsx)(o.A,{...t,to:c})}},2763:(t,n,e)=>{e.d(n,{A:()=>c});e(6540);var o=e(4848);function s(t){const n=t.url||"http://localhost:3000";return(0,o.jsxs)("div",{className:"browser container",children:[(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:"column left",children:[(0,o.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,o.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,o.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,o.jsx)("div",{className:"column middle",children:(0,o.jsx)("input",{type:"text",value:n})}),(0,o.jsx)("div",{className:"column right",children:(0,o.jsxs)("div",{style:{float:"right"},children:[(0,o.jsx)("span",{className:"bar"}),(0,o.jsx)("span",{className:"bar"}),(0,o.jsx)("span",{className:"bar"})]})})]}),(0,o.jsx)("div",{className:"content",children:t.children})]})}var r=e(6025);function c(t){return(0,o.jsx)(s,{...t,children:(0,o.jsx)("img",{src:(0,r.Ay)(t.src),alt:t.alt})})}},8453:(t,n,e)=>{e.d(n,{R:()=>c,x:()=>a});var o=e(6540);const s={},r=o.createContext(s);function c(t){const n=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(n):{...n,...t}}),[n,t])}function a(t){let n;return n=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:c(t.components),o.createElement(r.Provider,{value:n},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/751368e2.68a2b16f.js b/assets/js/751368e2.68a2b16f.js new file mode 100644 index 0000000..cff6b84 --- /dev/null +++ b/assets/js/751368e2.68a2b16f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[684],{3394:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>r});var o=n(4848),s=n(8453);const a={},l="\ud83d\udcd8 Concepts",c={id:"agent-tools/concepts",title:"\ud83d\udcd8 Concepts",description:"Here is a quick overview of concepts that you will come across in this section of the lab:",source:"@site/docs/50-agent-tools/1-concepts.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/concepts",permalink:"/mdb-aws-agents-lab/docs/agent-tools/concepts",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/1-concepts.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Create Agent Tools",permalink:"/mdb-aws-agents-lab/docs/category/create-agent-tools"},next:{title:"\ud83d\udcd8 Running code in Jupyter Notebooks",permalink:"/mdb-aws-agents-lab/docs/agent-tools/jupyter_notebooks"}},i={},r=[{value:"Tool calling",id:"tool-calling",level:2}];function d(e){const t={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"-concepts",children:"\ud83d\udcd8 Concepts"})}),"\n",(0,o.jsx)(t.p,{children:"Here is a quick overview of concepts that you will come across in this section of the lab:"}),"\n",(0,o.jsx)(t.h2,{id:"tool-calling",children:"Tool calling"}),"\n",(0,o.jsx)(t.p,{children:"Tool calling, interchangeably called function calling allows an LLM to use external tools such as APIs, databases, specialized machine learning models etc."}),"\n",(0,o.jsx)(t.p,{children:"In AI agents, an LLM can have access to multiple tools. Given a user query, the LLM decides which tool to invoke and the arguments for the tool call. These arguments are used to execute the tool call and the output is returned back to the LLM to inform its next steps."}),"\n",(0,o.jsxs)(t.p,{children:["The easiest way to define tools in LangChain is using the ",(0,o.jsx)(t.code,{children:"@tool"})," decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description. The tool call inturn consists of a tool name, arguments, and an optional identifier."]}),"\n",(0,o.jsx)(t.p,{children:"An example of a tool in LangChain is as follows:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'@tool("search-tool", return_direct=True)\ndef search(query: str) -> str:\n """Look up things online."""\n return "MongoDB"\n'})}),"\n",(0,o.jsx)(t.p,{children:"An example of a tool call is as follows:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'{\n "name": "search-tool",\n "args": {\n "query": "What is MongoDB?"\n },\n "id": "call_H5TttXb423JfoulF1qVfPN3m"\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>c});var o=n(6540);const s={},a=o.createContext(s);function l(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/751368e2.88b3ffb5.js b/assets/js/751368e2.88b3ffb5.js deleted file mode 100644 index f28e4b3..0000000 --- a/assets/js/751368e2.88b3ffb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[684],{3394:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>l,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>r});var o=n(4848),s=n(8453);const a={},l="\ud83d\udcd8 Concepts",c={id:"agent-tools/concepts",title:"\ud83d\udcd8 Concepts",description:"Here is a quick overview of concepts that you will come across in this section of the lab:",source:"@site/docs/50-agent-tools/1-concepts.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/concepts",permalink:"/mdb-aws-agents-lab/docs/agent-tools/concepts",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/1-concepts.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Create Agent Tools",permalink:"/mdb-aws-agents-lab/docs/category/create-agent-tools"},next:{title:"\ud83d\udc50 Import data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data"}},i={},r=[{value:"Tool calling",id:"tool-calling",level:2}];function d(e){const t={code:"code",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"-concepts",children:"\ud83d\udcd8 Concepts"})}),"\n",(0,o.jsx)(t.p,{children:"Here is a quick overview of concepts that you will come across in this section of the lab:"}),"\n",(0,o.jsx)(t.h2,{id:"tool-calling",children:"Tool calling"}),"\n",(0,o.jsx)(t.p,{children:"Tool calling, interchangeably called function calling allows an LLM to use external tools such as APIs, databases, specialized machine learning models etc."}),"\n",(0,o.jsx)(t.p,{children:"In AI agents, an LLM can have access to multiple tools. Given a user query, the LLM decides which tool to invoke and the arguments for the tool call. These arguments are used to execute the tool call and the output is returned back to the LLM to inform its next steps."}),"\n",(0,o.jsxs)(t.p,{children:["The easiest way to define tools in LangChain is using the ",(0,o.jsx)(t.code,{children:"@tool"})," decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description. The tool call inturn consists of a tool name, arguments, and an optional identifier."]}),"\n",(0,o.jsx)(t.p,{children:"An example of a tool in LangChain is as follows:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'@tool("search-tool", return_direct=True)\ndef search(query: str) -> str:\n """Look up things online."""\n return "MongoDB"\n'})}),"\n",(0,o.jsx)(t.p,{children:"An example of a tool call is as follows:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{children:'{\n "name": "search-tool",\n "args": {\n "query": "What is MongoDB?"\n },\n "id": "call_H5TttXb423JfoulF1qVfPN3m"\n}\n'})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>c});var o=n(6540);const s={},a=o.createContext(s);function l(e){const t=o.useContext(a);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),o.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c433d41.244d2764.js b/assets/js/7c433d41.244d2764.js new file mode 100644 index 0000000..5c09af9 --- /dev/null +++ b/assets/js/7c433d41.244d2764.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[822],{2908:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var n=t(4848),o=t(8453),a=t(2763);const r={},i="\ud83d\udc50 Setup dev environment in Sagemaker Studio",c={id:"aws/sagemaker-studio",title:"\ud83d\udc50 Setup dev environment in Sagemaker Studio",description:"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab.",source:"@site/docs/30-aws/3-sagemaker-studio.mdx",sourceDirName:"30-aws",slug:"/aws/sagemaker-studio",permalink:"/mdb-aws-agents-lab/docs/aws/sagemaker-studio",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/30-aws/3-sagemaker-studio.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Request access to LLMs in Bedrock",permalink:"/mdb-aws-agents-lab/docs/aws/bedrock"},next:{title:"Create Agent Tools",permalink:"/mdb-aws-agents-lab/docs/category/create-agent-tools"}},l={},d=[];function m(e){const s={a:"a",h1:"h1",header:"header",p:"p",strong:"strong",...(0,o.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.header,{children:(0,n.jsx)(s.h1,{id:"-setup-dev-environment-in-sagemaker-studio",children:"\ud83d\udc50 Setup dev environment in Sagemaker Studio"})}),"\n",(0,n.jsx)(s.p,{children:"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab."}),"\n",(0,n.jsx)(s.p,{children:"Start by navigating to Amazon Sagemaker from the AWS Console."}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/console/home",src:"img/screenshots/30-aws/3-sagemaker-studio/1-nav-sagemaker.png",alt:"Navigate to Sagemaker"}),"\n",(0,n.jsxs)(s.p,{children:["In the sidebar, click on ",(0,n.jsx)(s.strong,{children:"Domains"})," under ",(0,n.jsx)(s.strong,{children:"Admin configurations"})," and select the pre-configured domain."]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/2-select-domain.png",alt:"Select domain"}),"\n",(0,n.jsxs)(s.p,{children:["Under Domain Details, click on ",(0,n.jsx)(s.strong,{children:"Space management"}),"."]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/3-space-management.png",alt:"Space management"}),"\n",(0,n.jsxs)(s.p,{children:["You should see a pre-configured space appear. Click ",(0,n.jsx)(s.strong,{children:"Launch Studio"})," to launch a Sagemaker Studio environment in this space."]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/4-launch-studio.png",alt:"Launch studio"}),"\n",(0,n.jsxs)(s.p,{children:["In the Sagemaker Studio console, select the ",(0,n.jsx)(s.strong,{children:"Git"})," dropdown from the menu bar at the top and then select ",(0,n.jsx)(s.strong,{children:"Clone Git Repository"})]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/5-clone-repo-dropdown.png",alt:"Clone Git Repository dropdown"}),"\n",(0,n.jsxs)(s.p,{children:["In the modal that appears, paste the following URL in the ",(0,n.jsx)(s.strong,{children:"Git repository URL"})," box, click the ",(0,n.jsx)(s.strong,{children:"Clone https://..."})," message from the drop-down, and click the ",(0,n.jsx)(s.strong,{children:"Clone"})," button:\n",(0,n.jsx)(s.a,{href:"https://github.com/mongodb-developer/mdb-aws-agents-lab-notebooks.git",children:"https://github.com/mongodb-developer/mdb-aws-agents-lab-notebooks.git"})]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/6-clone-repo.png",alt:"Cloning the repo"}),"\n",(0,n.jsxs)(s.p,{children:["Once the repo is cloned, you will see the content of the repo in the sidebar. ",(0,n.jsx)(s.strong,{children:"Double-click"})," on the file named ",(0,n.jsx)(s.strong,{children:"notebook_template.ipynb"}),". This is where you will fill in code for the rest of the lab."]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/7-open-template.png",alt:"Opening the notebook template"}),"\n",(0,n.jsxs)(s.p,{children:["When prompted to select the notebook environment, proceed wih the defaults by clicking the ",(0,n.jsx)(s.strong,{children:"Select"})," button."]}),"\n",(0,n.jsx)(a.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/8-select-notebook-env.png",alt:"Select the notebook environment"}),"\n",(0,n.jsx)(s.p,{children:"That's it! You are ready to start building your AI agent!"})]})}function h(e={}){const{wrapper:s}={...(0,o.R)(),...e.components};return s?(0,n.jsx)(s,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},2763:(e,s,t)=>{t.d(s,{A:()=>r});t(6540);var n=t(4848);function o(e){const s=e.url||"http://localhost:3000";return(0,n.jsxs)("div",{className:"browser container",children:[(0,n.jsxs)("div",{className:"row",children:[(0,n.jsxs)("div",{className:"column left",children:[(0,n.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,n.jsx)("div",{className:"column middle",children:(0,n.jsx)("input",{type:"text",value:s})}),(0,n.jsx)("div",{className:"column right",children:(0,n.jsxs)("div",{style:{float:"right"},children:[(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"})]})})]}),(0,n.jsx)("div",{className:"content",children:e.children})]})}var a=t(6025);function r(e){return(0,n.jsx)(o,{...e,children:(0,n.jsx)("img",{src:(0,a.Ay)(e.src),alt:e.alt})})}},8453:(e,s,t)=>{t.d(s,{R:()=>r,x:()=>i});var n=t(6540);const o={},a=n.createContext(o);function r(e){const s=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7c433d41.87bc4115.js b/assets/js/7c433d41.87bc4115.js deleted file mode 100644 index 5df6165..0000000 --- a/assets/js/7c433d41.87bc4115.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[822],{2908:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var t=n(4848),a=n(8453),o=n(2763);const r={},i="\ud83d\udc50 Setup dev environment in Sagemaker Studio",c={id:"aws/sagemaker-studio",title:"\ud83d\udc50 Setup dev environment in Sagemaker Studio",description:"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab.",source:"@site/docs/30-aws/3-sagemaker-studio.mdx",sourceDirName:"30-aws",slug:"/aws/sagemaker-studio",permalink:"/mdb-aws-agents-lab/docs/aws/sagemaker-studio",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/30-aws/3-sagemaker-studio.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Request access to LLMs in Bedrock",permalink:"/mdb-aws-agents-lab/docs/aws/bedrock"},next:{title:"Create Agent Tools",permalink:"/mdb-aws-agents-lab/docs/category/create-agent-tools"}},l={},d=[];function m(e){const s={a:"a",h1:"h1",header:"header",p:"p",strong:"strong",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.header,{children:(0,t.jsx)(s.h1,{id:"-setup-dev-environment-in-sagemaker-studio",children:"\ud83d\udc50 Setup dev environment in Sagemaker Studio"})}),"\n",(0,t.jsx)(s.p,{children:"You will be using a Jupyter Notebook in Sagemaker Studio as the dev environment for the rest of the lab."}),"\n",(0,t.jsx)(s.p,{children:"Start by navigating to Amazon Sagemaker from the AWS Console."}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/console/home",src:"img/screenshots/30-aws/3-sagemaker-studio/1-nav-sagemaker.png",alt:"Navigate to Sagemaker"}),"\n",(0,t.jsxs)(s.p,{children:["In the sidebar, click on ",(0,t.jsx)(s.strong,{children:"Domains"})," under ",(0,t.jsx)(s.strong,{children:"Admin configurations"})," and select the pre-configured domain."]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/2-select-domain.png",alt:"Select domain"}),"\n",(0,t.jsxs)(s.p,{children:["Under Domain Details, click on ",(0,t.jsx)(s.strong,{children:"Space management"}),"."]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/3-space-management.png",alt:"Space management"}),"\n",(0,t.jsxs)(s.p,{children:["You should see a pre-configured space appear. Click ",(0,t.jsx)(s.strong,{children:"Launch Studio"})," to launch a Sagemaker Studio environment in this space."]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/4-launch-studio.png",alt:"Launch studio"}),"\n",(0,t.jsxs)(s.p,{children:["In the Sagemaker Studio console, select the ",(0,t.jsx)(s.strong,{children:"Git"})," dropdown from the menu bar at the top and then select ",(0,t.jsx)(s.strong,{children:"Clone Git Repository"})]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/5-clone-repo-dropdown.png",alt:"Clone Git Repository dropdown"}),"\n",(0,t.jsxs)(s.p,{children:["In the modal that appears, paste this URL in the ",(0,t.jsx)(s.strong,{children:"Git repository URL"})," box, uncheck ",(0,t.jsx)(s.strong,{children:"Open README files."}),", and click Clone: ",(0,t.jsx)(s.a,{href:"https://github.com/mongodb-developer/mdb-aws-agents-lab-notebooks/",children:"https://github.com/mongodb-developer/mdb-aws-agents-lab-notebooks/"})]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/6-clone-repo.png",alt:"Cloning the repo"}),"\n",(0,t.jsxs)(s.p,{children:["Once the repo is cloned, you will see the content of the repo in the sidebar. ",(0,t.jsx)(s.strong,{children:"Double-click"})," on the file named ",(0,t.jsx)(s.strong,{children:"notebook_template.ipynb"}),". This is where you will fill in code for the rest of the lab."]}),"\n",(0,t.jsx)(o.A,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/home",src:"img/screenshots/30-aws/3-sagemaker-studio/7-open-template.png",alt:"Opening the notebook template"}),"\n",(0,t.jsx)(s.p,{children:"That's it! You are ready to start building your AI agent!"})]})}function h(e={}){const{wrapper:s}={...(0,a.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(m,{...e})}):m(e)}},2763:(e,s,n)=>{n.d(s,{A:()=>r});n(6540);var t=n(4848);function a(e){const s=e.url||"http://localhost:3000";return(0,t.jsxs)("div",{className:"browser container",children:[(0,t.jsxs)("div",{className:"row",children:[(0,t.jsxs)("div",{className:"column left",children:[(0,t.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,t.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,t.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,t.jsx)("div",{className:"column middle",children:(0,t.jsx)("input",{type:"text",value:s})}),(0,t.jsx)("div",{className:"column right",children:(0,t.jsxs)("div",{style:{float:"right"},children:[(0,t.jsx)("span",{className:"bar"}),(0,t.jsx)("span",{className:"bar"}),(0,t.jsx)("span",{className:"bar"})]})})]}),(0,t.jsx)("div",{className:"content",children:e.children})]})}var o=n(6025);function r(e){return(0,t.jsx)(a,{...e,children:(0,t.jsx)("img",{src:(0,o.Ay)(e.src),alt:e.alt})})}},8453:(e,s,n)=>{n.d(s,{R:()=>r,x:()=>i});var t=n(6540);const a={},o=t.createContext(a);function r(e){const s=t.useContext(o);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function i(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(o.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/978ac258.a8a5711d.js b/assets/js/978ac258.a8a5711d.js deleted file mode 100644 index befcf9e..0000000 --- a/assets/js/978ac258.a8a5711d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[62],{9238:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var n=o(4848),a=o(8453);const r={},s="\ud83d\udc50 Import data",i={id:"agent-tools/import-data",title:"\ud83d\udc50 Import data",description:"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization.",source:"@site/docs/50-agent-tools/2-import-data.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/import-data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/2-import-data.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcd8 Concepts",permalink:"/mdb-aws-agents-lab/docs/agent-tools/concepts"},next:{title:"\ud83d\udc50 Create a vector search index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index"}},c={},l=[];function d(t){const e={code:"code",h1:"h1",header:"header",p:"p",strong:"strong",...(0,a.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"-import-data",children:"\ud83d\udc50 Import data"})}),"\n",(0,n.jsx)(e.p,{children:"The MongoDB learning assistant has two tools- a vector search tool to retrieve information to answer questions about MongoDB, and another tool to get the content of articles in our Developer Center for summarization."}),"\n",(0,n.jsxs)(e.p,{children:["Let's import the data required by these tools into two MongoDB collections. This is as simple as making a ",(0,n.jsx)(e.code,{children:"GET"})," request to a serverless function that we have created for you."]}),"\n",(0,n.jsxs)(e.p,{children:["Run the cells under the ",(0,n.jsx)(e.strong,{children:"Step 3: Import data"})," section in the notebook to import the data required by our agent's tools, into MongoDB collections."]})]})}function u(t={}){const{wrapper:e}={...(0,a.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},8453:(t,e,o)=>{o.d(e,{R:()=>s,x:()=>i});var n=o(6540);const a={},r=n.createContext(a);function s(t){const e=n.useContext(r);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function i(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),n.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/c1b5421d.04368be7.js b/assets/js/c1b5421d.04368be7.js new file mode 100644 index 0000000..882d5b7 --- /dev/null +++ b/assets/js/c1b5421d.04368be7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[945],{6098:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>i});var o=n(4848),s=n(8453);const r={},a="\ud83d\udcd8 Running code in Jupyter Notebooks",l={id:"agent-tools/jupyter_notebooks",title:"\ud83d\udcd8 Running code in Jupyter Notebooks",description:"Jupyter Notebooks are an interactive Python environment. Cells in a Jupyter notebook are a modular unit of code or text that you can execute and view outputs for.",source:"@site/docs/50-agent-tools/2-jupyter_notebooks.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/jupyter_notebooks",permalink:"/mdb-aws-agents-lab/docs/agent-tools/jupyter_notebooks",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/2-jupyter_notebooks.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udcd8 Concepts",permalink:"/mdb-aws-agents-lab/docs/agent-tools/concepts"},next:{title:"\ud83d\udc50 Get your connection string",permalink:"/mdb-aws-agents-lab/docs/agent-tools/get-connection-string"}},c={},i=[];function u(e){const t={h1:"h1",header:"header",p:"p",...(0,s.R)(),...e.components},{Screenshot:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Screenshot",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.header,{children:(0,o.jsx)(t.h1,{id:"-running-code-in-jupyter-notebooks",children:"\ud83d\udcd8 Running code in Jupyter Notebooks"})}),"\n",(0,o.jsx)(t.p,{children:"Jupyter Notebooks are an interactive Python environment. Cells in a Jupyter notebook are a modular unit of code or text that you can execute and view outputs for."}),"\n",(0,o.jsx)(t.p,{children:"To run a cell, highlight it and click the Run icon in the toolbar at the top."}),"\n",(0,o.jsx)(n,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/jupyter",src:"img/screenshots/50-agent-tools/2-jupyter-notebooks/1-run-cell.png",alt:"Run a cell"}),"\n",(0,o.jsx)(t.p,{children:"When a cell is running, you will see a * in the square brackets ([ ]) against the cell."}),"\n",(0,o.jsx)(n,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/jupyter",src:"img/screenshots/50-agent-tools/2-jupyter-notebooks/2-running-cell.png",alt:"A running cell"}),"\n",(0,o.jsx)(t.p,{children:"When a cell is finished running successfully, you will see a number appear in the [ ] with no error traceback after the cell."}),"\n",(0,o.jsx)(n,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/jupyter",src:"img/screenshots/50-agent-tools/2-jupyter-notebooks/3-successful-cell.png",alt:"Successful cell run"}),"\n",(0,o.jsx)(t.p,{children:"If an error occurred while running a cell, you will see an error traceback after the cell."}),"\n",(0,o.jsx)(n,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/jupyter",src:"img/screenshots/50-agent-tools/2-jupyter-notebooks/4-error-in-cell.png",alt:"Erroneous cell run"}),"\n",(0,o.jsx)(t.p,{children:"To fix errors, you may need to update previous cells. If you do, re-run all the cells following the one(s) you updated."}),"\n",(0,o.jsx)(t.p,{children:"To interrupt a running cell, click the Stop icon in the toolbar at the top."}),"\n",(0,o.jsx)(n,{url:"https://us-west-2.console.aws.amazon.com/sagemaker/jupyter",src:"img/screenshots/50-agent-tools/2-jupyter-notebooks/5-interrupt-cell.png",alt:"Interrupt cell run"})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>l});var o=n(6540);const s={},r=o.createContext(s);function a(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c8620672.dd5c3c8f.js b/assets/js/c8620672.dd5c3c8f.js new file mode 100644 index 0000000..2568c02 --- /dev/null +++ b/assets/js/c8620672.dd5c3c8f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[723],{7217:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var a=s(4848),n=s(8453),r=(s(3974),s(2763));const o={},c="\ud83d\udc50 Deploy a database cluster",l={id:"mongodb-atlas/create-cluster",title:"\ud83d\udc50 Deploy a database cluster",description:"Now that you have a MongoDB Atlas account, you can create your first cluster for free.",source:"@site/docs/20-mongodb-atlas/2-create-cluster.mdx",sourceDirName:"20-mongodb-atlas",slug:"/mongodb-atlas/create-cluster",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/20-mongodb-atlas/2-create-cluster.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Create your account",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account"},next:{title:"AWS",permalink:"/mdb-aws-agents-lab/docs/category/aws"}},i={},d=[{value:"Security quickstart",id:"security-quickstart",level:2},{value:"Network access",id:"network-access",level:3},{value:"Database user",id:"database-user",level:3},{value:"Manual network access configuration",id:"manual-network-access-configuration",level:2},{value:"That's all!",id:"thats-all",level:2}];function u(e){const t={admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"-deploy-a-database-cluster",children:"\ud83d\udc50 Deploy a database cluster"})}),"\n",(0,a.jsx)(t.p,{children:"Now that you have a MongoDB Atlas account, you can create your first cluster for free."}),"\n",(0,a.jsxs)(t.p,{children:["Once logged in, from the Overview page, click on the green button that says ",(0,a.jsx)(t.strong,{children:"+ Create"}),"."]}),"\n",(0,a.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/1-overview.png",alt:"Overview screenshot"}),"\n",(0,a.jsx)(t.p,{children:"On the cluster creation page, choose the cloud provider and region where your data will be stored. You can also choose the type of cluster you want to create. For this lab, we will use the free tier."}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["For the cluster tier, pick ",(0,a.jsx)(t.strong,{children:"M0"}),", which is the free tier. In the ",(0,a.jsx)(t.strong,{children:"Name"})," input box, assign a name (one word, no spaces) to your cluster."]}),"\n",(0,a.jsxs)(t.li,{children:["Uncheck the ",(0,a.jsx)(t.em,{children:"Automate security setup"})," box. You will set up security manually in the next steps."]}),"\n",(0,a.jsxs)(t.li,{children:["Uncheck the ",(0,a.jsx)(t.em,{children:"Preload sample dataset"})," box. You will import a dataset later in this lab."]}),"\n",(0,a.jsx)(t.li,{children:"Select your favorite cloud provider and the region closest to you."}),"\n",(0,a.jsxs)(t.li,{children:["Finally, click on the green button that says ",(0,a.jsx)(t.strong,{children:"Create Deployment"}),"."]}),"\n"]}),"\n",(0,a.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/2-deploy-database.png",alt:"Create cluster screenshot"}),"\n",(0,a.jsx)(t.p,{children:"Once you're done with the hardest part of the process (the captcha), you will be redirected to the security quickstart."}),"\n",(0,a.jsx)(t.h2,{id:"security-quickstart",children:"Security quickstart"}),"\n",(0,a.jsx)(t.p,{children:"By default, your MongoDB Atlas deployment is completely locked-down. You need to configure the network settings and create a user to access your database."}),"\n",(0,a.jsx)(t.p,{children:"While your deployment is being provisioned, you will see the security quickstart dialog."}),"\n",(0,a.jsx)(t.h3,{id:"network-access",children:"Network access"}),"\n",(0,a.jsxs)(t.p,{children:["First, you should ",(0,a.jsx)(t.strong,{children:"Allow Access from Anywhere"}),". You will see a field pre-populated with the IP address ",(0,a.jsx)(t.code,{children:"0.0.0.0/0"}),". This means that you can connect to your database from any IP address including the virtual environment you will use for this lab. Click ",(0,a.jsx)(t.strong,{children:"Add IP Address"})," to add this IP address to the network allowlist."]}),"\n",(0,a.jsx)(t.admonition,{type:"caution",children:(0,a.jsx)(t.p,{children:"It is dangerous to expose your database to the entire world. Never do this is a real production environment."})}),"\n",(0,a.jsx)(t.h3,{id:"database-user",children:"Database user"}),"\n",(0,a.jsxs)(t.p,{children:["Next, you need to create a database user. Pick any username and password you want. This will be used when you want to connect to your database. Click ",(0,a.jsx)(t.strong,{children:"Create Database User"})," to create the user."]}),"\n",(0,a.jsx)(t.p,{children:"Atlas might create the user automatically for you if you have just created your account. In this case, the username and password will match your Atlas account credentials."}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsx)(t.p,{children:"Make sure to remember your username and password. You will need them later. For the sake of this workshop, it might be preferable to use a simple password that you'll remember over a more secure one."})}),"\n",(0,a.jsx)(t.h2,{id:"manual-network-access-configuration",children:"Manual network access configuration"}),"\n",(0,a.jsxs)(t.p,{children:["If you don't see a button to ",(0,a.jsx)(t.strong,{children:"Allow Access from Anywhere"}),", you should close the dialog and go to the ",(0,a.jsx)(t.strong,{children:"Network Access"})," tab under the ",(0,a.jsx)(t.strong,{children:"Security"})," section in the left sidebar. Click on the ",(0,a.jsx)(t.strong,{children:"Add IP Address"})," button, add the IP address ",(0,a.jsx)(t.code,{children:"0.0.0.0/0"})," and click ",(0,a.jsx)(t.strong,{children:"Confirm"}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"thats-all",children:"That's all!"}),"\n",(0,a.jsxs)(t.p,{children:["That's all! You have a new database cluster. If everything goes well, you should see your newly created cluster on the ",(0,a.jsx)(t.strong,{children:"Database"})," tab under the ",(0,a.jsx)(t.strong,{children:"Deployment"})," section."]}),"\n",(0,a.jsx)(r.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/3-database-deployment.png",alt:"Screenshot of the database deployment screen"})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},3974:(e,t,s)=>{s.d(t,{A:()=>o});s(6540);var a=s(8774),n=s(4586),r=s(4848);function o(e){const t=(0,n.A)(),s=t?.siteConfig?.customFields?.utmParams||"",o=`${e.to}?${s}`;return(0,r.jsx)(a.A,{...e,to:o})}},2763:(e,t,s)=>{s.d(t,{A:()=>o});s(6540);var a=s(4848);function n(e){const t=e.url||"http://localhost:3000";return(0,a.jsxs)("div",{className:"browser container",children:[(0,a.jsxs)("div",{className:"row",children:[(0,a.jsxs)("div",{className:"column left",children:[(0,a.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,a.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,a.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,a.jsx)("div",{className:"column middle",children:(0,a.jsx)("input",{type:"text",value:t})}),(0,a.jsx)("div",{className:"column right",children:(0,a.jsxs)("div",{style:{float:"right"},children:[(0,a.jsx)("span",{className:"bar"}),(0,a.jsx)("span",{className:"bar"}),(0,a.jsx)("span",{className:"bar"})]})})]}),(0,a.jsx)("div",{className:"content",children:e.children})]})}var r=s(6025);function o(e){return(0,a.jsx)(n,{...e,children:(0,a.jsx)("img",{src:(0,r.Ay)(e.src),alt:e.alt})})}},8453:(e,t,s)=>{s.d(t,{R:()=>o,x:()=>c});var a=s(6540);const n={},r=a.createContext(n);function o(e){const t=a.useContext(r);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),a.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c8620672.e1d212b0.js b/assets/js/c8620672.e1d212b0.js deleted file mode 100644 index 10b57ea..0000000 --- a/assets/js/c8620672.e1d212b0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[723],{7217:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>d});var a=s(4848),n=s(8453),o=(s(3974),s(2763));const r={},c="\ud83d\udc50 Deploy a database cluster",l={id:"mongodb-atlas/create-cluster",title:"\ud83d\udc50 Deploy a database cluster",description:"Now that you have a MongoDB Atlas account, you can create your first cluster for free.",source:"@site/docs/20-mongodb-atlas/2-create-cluster.mdx",sourceDirName:"20-mongodb-atlas",slug:"/mongodb-atlas/create-cluster",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/20-mongodb-atlas/2-create-cluster.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Create your account",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account"},next:{title:"\ud83d\udc50 Get your connection string",permalink:"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string"}},i={},d=[{value:"Security quickstart",id:"security-quickstart",level:2},{value:"Network access",id:"network-access",level:3},{value:"Database user",id:"database-user",level:3},{value:"Manual network access configuration",id:"manual-network-access-configuration",level:2},{value:"That's all!",id:"thats-all",level:2}];function u(e){const t={admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",...(0,n.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.header,{children:(0,a.jsx)(t.h1,{id:"-deploy-a-database-cluster",children:"\ud83d\udc50 Deploy a database cluster"})}),"\n",(0,a.jsx)(t.p,{children:"Now that you have a MongoDB Atlas account, you can create your first cluster for free."}),"\n",(0,a.jsxs)(t.p,{children:["Once logged in, from the Overview page, click on the green button that says ",(0,a.jsx)(t.strong,{children:"+ Create"}),"."]}),"\n",(0,a.jsx)(o.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/1-overview.png",alt:"Overview screenshot"}),"\n",(0,a.jsx)(t.p,{children:"On the cluster creation page, choose the cloud provider and region where your data will be stored. You can also choose the type of cluster you want to create. For this lab, we will use the free tier."}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["For the cluster tier, pick ",(0,a.jsx)(t.strong,{children:"M0"}),", which is the free tier. In the ",(0,a.jsx)(t.strong,{children:"Name"})," input box, assign a name (one word, no spaces) to your cluster."]}),"\n",(0,a.jsxs)(t.li,{children:["Uncheck the ",(0,a.jsx)(t.em,{children:"Automate security setup"})," box. You will set up security manually in the next steps."]}),"\n",(0,a.jsxs)(t.li,{children:["Uncheck the ",(0,a.jsx)(t.em,{children:"Preload sample dataset"})," box. You will import a dataset later in this lab."]}),"\n",(0,a.jsx)(t.li,{children:"Select your favorite cloud provider and the region closest to you."}),"\n",(0,a.jsxs)(t.li,{children:["Finally, click on the green button that says ",(0,a.jsx)(t.strong,{children:"Create Deployment"}),"."]}),"\n"]}),"\n",(0,a.jsx)(o.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/2-deploy-database.png",alt:"Create cluster screenshot"}),"\n",(0,a.jsx)(t.p,{children:"Once you're done with the hardest part of the process (the captcha), you will be redirected to the security quickstart."}),"\n",(0,a.jsx)(t.h2,{id:"security-quickstart",children:"Security quickstart"}),"\n",(0,a.jsx)(t.p,{children:"By default, your MongoDB Atlas deployment is completely locked-down. You need to configure the network settings and create a user to access your database."}),"\n",(0,a.jsx)(t.p,{children:"While your deployment is being provisioned, you will see the security quickstart dialog."}),"\n",(0,a.jsx)(t.h3,{id:"network-access",children:"Network access"}),"\n",(0,a.jsxs)(t.p,{children:["First, you should ",(0,a.jsx)(t.strong,{children:"Allow Access from Anywhere"}),". You will see a field pre-populated with the IP address ",(0,a.jsx)(t.code,{children:"0.0.0.0/0"}),". This means that you can connect to your database from any IP address including the virtual environment you will use for this lab. Click ",(0,a.jsx)(t.strong,{children:"Add IP Address"})," to add this IP address to the network allowlist."]}),"\n",(0,a.jsx)(t.admonition,{type:"caution",children:(0,a.jsx)(t.p,{children:"It is dangerous to expose your database to the entire world. Never do this is a real production environment."})}),"\n",(0,a.jsx)(t.h3,{id:"database-user",children:"Database user"}),"\n",(0,a.jsxs)(t.p,{children:["Next, you need to create a database user. Pick any username and password you want. This will be used when you want to connect to your database. Click ",(0,a.jsx)(t.strong,{children:"Create Database User"})," to create the user."]}),"\n",(0,a.jsx)(t.p,{children:"Atlas might create the user automatically for you if you have just created your account. In this case, the username and password will match your Atlas account credentials."}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsx)(t.p,{children:"Make sure to remember your username and password. You will need them later. For the sake of this workshop, it might be preferable to use a simple password that you'll remember over a more secure one."})}),"\n",(0,a.jsx)(t.h2,{id:"manual-network-access-configuration",children:"Manual network access configuration"}),"\n",(0,a.jsxs)(t.p,{children:["If you don't see a button to ",(0,a.jsx)(t.strong,{children:"Allow Access from Anywhere"}),", you should close the dialog and go to the ",(0,a.jsx)(t.strong,{children:"Network Access"})," tab under the ",(0,a.jsx)(t.strong,{children:"Security"})," section in the left sidebar. Click on the ",(0,a.jsx)(t.strong,{children:"Add IP Address"})," button, add the IP address ",(0,a.jsx)(t.code,{children:"0.0.0.0/0"})," and click ",(0,a.jsx)(t.strong,{children:"Confirm"}),"."]}),"\n",(0,a.jsx)(t.h2,{id:"thats-all",children:"That's all!"}),"\n",(0,a.jsxs)(t.p,{children:["That's all! You have a new database cluster. If everything goes well, you should see your newly created cluster on the ",(0,a.jsx)(t.strong,{children:"Database"})," tab under the ",(0,a.jsx)(t.strong,{children:"Deployment"})," section."]}),"\n",(0,a.jsx)(o.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/20-mongodb-atlas/2-create-cluster/3-database-deployment.png",alt:"Screenshot of the database deployment screen"})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},3974:(e,t,s)=>{s.d(t,{A:()=>r});s(6540);var a=s(8774),n=s(4586),o=s(4848);function r(e){const t=(0,n.A)(),s=t?.siteConfig?.customFields?.utmParams||"",r=`${e.to}?${s}`;return(0,o.jsx)(a.A,{...e,to:r})}},2763:(e,t,s)=>{s.d(t,{A:()=>r});s(6540);var a=s(4848);function n(e){const t=e.url||"http://localhost:3000";return(0,a.jsxs)("div",{className:"browser container",children:[(0,a.jsxs)("div",{className:"row",children:[(0,a.jsxs)("div",{className:"column left",children:[(0,a.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,a.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,a.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,a.jsx)("div",{className:"column middle",children:(0,a.jsx)("input",{type:"text",value:t})}),(0,a.jsx)("div",{className:"column right",children:(0,a.jsxs)("div",{style:{float:"right"},children:[(0,a.jsx)("span",{className:"bar"}),(0,a.jsx)("span",{className:"bar"}),(0,a.jsx)("span",{className:"bar"})]})})]}),(0,a.jsx)("div",{className:"content",children:e.children})]})}var o=s(6025);function r(e){return(0,a.jsx)(n,{...e,children:(0,a.jsx)("img",{src:(0,o.Ay)(e.src),alt:e.alt})})}},8453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>c});var a=s(6540);const n={},o=a.createContext(n);function r(e){const t=a.useContext(o);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),a.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cac07b29.3d34adb3.js b/assets/js/cac07b29.293919f3.js similarity index 58% rename from assets/js/cac07b29.3d34adb3.js rename to assets/js/cac07b29.293919f3.js index 7265af5..b7c9c71 100644 --- a/assets/js/cac07b29.3d34adb3.js +++ b/assets/js/cac07b29.293919f3.js @@ -1 +1 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[486],{1440:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"AWS","description":"Enable Bedrock models and set up dev environment in Sagemaker Studio.","slug":"/category/aws","permalink":"/mdb-aws-agents-lab/docs/category/aws","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"\ud83d\udc50 Get your connection string","permalink":"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string"},"next":{"title":"\ud83d\udc50 Log into your temporary AWS account","permalink":"/mdb-aws-agents-lab/docs/aws/workshop-studio"}}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[486],{1440:e=>{e.exports=JSON.parse('{"categoryGeneratedIndex":{"title":"AWS","description":"Enable Bedrock models and set up dev environment in Sagemaker Studio.","slug":"/category/aws","permalink":"/mdb-aws-agents-lab/docs/category/aws","sidebar":"tutorialSidebar","navigation":{"previous":{"title":"\ud83d\udc50 Deploy a database cluster","permalink":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster"},"next":{"title":"\ud83d\udc50 Log into your temporary AWS account","permalink":"/mdb-aws-agents-lab/docs/aws/workshop-studio"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/dcffc672.2d3f4965.js b/assets/js/dcffc672.2d3f4965.js new file mode 100644 index 0000000..2bc1a52 --- /dev/null +++ b/assets/js/dcffc672.2d3f4965.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[936],{1991:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>x,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=s(4848),r=s(8453),o=(s(3974),s(2763));const a={},c="\ud83d\udc50 Create a vector search index",i={id:"agent-tools/create-vector-search-index",title:"\ud83d\udc50 Create a vector search index",description:"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against.",source:"@site/docs/50-agent-tools/5-create-vector-search-index.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/create-vector-search-index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/5-create-vector-search-index.mdx",tags:[],version:"current",sidebarPosition:5,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Import data",permalink:"/mdb-aws-agents-lab/docs/agent-tools/import-data"},next:{title:"\ud83d\udc50 Create agent tools",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools"}},d={},l=[];function h(e){const t={code:"code",em:"em",h1:"h1",header:"header",p:"p",pre:"pre",strong:"strong",...(0,r.R)(),...e.components},{Details:s}=t;return s||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.header,{children:(0,n.jsx)(t.h1,{id:"-create-a-vector-search-index",children:"\ud83d\udc50 Create a vector search index"})}),"\n",(0,n.jsx)(t.p,{children:"To retrieve documents using vector search, you must configure a vector search index on the collection you want to perform vector search against."}),"\n",(0,n.jsxs)(t.p,{children:["Fill in any ",(0,n.jsx)(t.code,{children:""})," placeholders and run the cells under the ",(0,n.jsx)(t.strong,{children:"Step 4: Create a vector search index"})," section in the notebook to create a vector search index."]}),"\n",(0,n.jsx)(t.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"CODE_BLOCK_1"})}),"\n",(0,n.jsxs)(s,{children:[(0,n.jsx)("summary",{children:"Answer"}),(0,n.jsx)("div",{children:(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"mongodb_client[DB_NAME][VS_COLLECTION_NAME]\n"})})})]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.strong,{children:"CODE_BLOCK_2"})}),"\n",(0,n.jsxs)(s,{children:[(0,n.jsx)("summary",{children:"Answer"}),(0,n.jsx)("div",{children:(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-python",children:"vs_collection.create_search_index(model=model)\n"})})})]}),"\n",(0,n.jsxs)(t.p,{children:["To verify that the index was created, navigate to ",(0,n.jsx)(t.strong,{children:"Search Indexes"})," for the ",(0,n.jsx)(t.em,{children:"chunked_articles"})," collection."]}),"\n",(0,n.jsx)(o.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/50-agent-tools/5-create-vector-search-index/1-nav-search-indexes.png",alt:"Navigate to search indexes"}),"\n",(0,n.jsxs)(t.p,{children:["The index is ready to use once the status changes from ",(0,n.jsx)(t.strong,{children:"PENDING"})," to ",(0,n.jsx)(t.strong,{children:"READY"}),"."]}),"\n",(0,n.jsx)(o.A,{url:"https://cloud.mongodb.com",src:"img/screenshots/50-agent-tools/5-create-vector-search-index/2-index-ready.png",alt:"Index ready to use"})]})}function x(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3974:(e,t,s)=>{s.d(t,{A:()=>a});s(6540);var n=s(8774),r=s(4586),o=s(4848);function a(e){const t=(0,r.A)(),s=t?.siteConfig?.customFields?.utmParams||"",a=`${e.to}?${s}`;return(0,o.jsx)(n.A,{...e,to:a})}},2763:(e,t,s)=>{s.d(t,{A:()=>a});s(6540);var n=s(4848);function r(e){const t=e.url||"http://localhost:3000";return(0,n.jsxs)("div",{className:"browser container",children:[(0,n.jsxs)("div",{className:"row",children:[(0,n.jsxs)("div",{className:"column left",children:[(0,n.jsx)("span",{className:"dot",style:{background:"#ED594A"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#FDD800"}}),(0,n.jsx)("span",{className:"dot",style:{background:"#5AC05A"}})]}),(0,n.jsx)("div",{className:"column middle",children:(0,n.jsx)("input",{type:"text",value:t})}),(0,n.jsx)("div",{className:"column right",children:(0,n.jsxs)("div",{style:{float:"right"},children:[(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"}),(0,n.jsx)("span",{className:"bar"})]})})]}),(0,n.jsx)("div",{className:"content",children:e.children})]})}var o=s(6025);function a(e){return(0,n.jsx)(r,{...e,children:(0,n.jsx)("img",{src:(0,o.Ay)(e.src),alt:e.alt})})}},8453:(e,t,s)=>{s.d(t,{R:()=>a,x:()=>c});var n=s(6540);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4dec7580.8717eda9.js b/assets/js/f9be2eb4.539e61e9.js similarity index 95% rename from assets/js/4dec7580.8717eda9.js rename to assets/js/f9be2eb4.539e61e9.js index 918b769..8d96d55 100644 --- a/assets/js/4dec7580.8717eda9.js +++ b/assets/js/f9be2eb4.539e61e9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[679],{1984:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var t=s(4848),o=s(8453);const r={},i="\ud83d\udc50 Create agent tools",c={id:"agent-tools/create-agent-tools",title:"\ud83d\udc50 Create agent tools",description:"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description.",source:"@site/docs/50-agent-tools/4-create-agent-tools.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/create-agent-tools",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/4-create-agent-tools.mdx",tags:[],version:"current",sidebarPosition:4,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Create a vector search index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index"},next:{title:"Create Agent",permalink:"/mdb-aws-agents-lab/docs/category/create-agent"}},a={},l=[];function d(e){const n={code:"code",h1:"h1",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"-create-agent-tools",children:"\ud83d\udc50 Create agent tools"})}),"\n",(0,t.jsxs)(n.p,{children:["The easiest way to define custom tools for agents in LangChain is using the ",(0,t.jsx)(n.code,{children:"@tool"})," decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description."]}),"\n",(0,t.jsx)(n.p,{children:"We want the MongoDB learning assistant to have access to the following tools:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"get_information_for_question_answering"}),": Uses vector search to retrieve information to answer questions"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"get_article_content_for_summarization"}),": Gets the content of articles for summarization"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Fill in any ",(0,t.jsx)(n.code,{children:""})," placeholders and run the cells under the ",(0,t.jsx)(n.strong,{children:"Step 5: Create agent tools"})," section in the notebook to create tools for the agent to use."]}),"\n",(0,t.jsx)(n.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_3"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"embedding_model.encode(text)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_4"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"get_embedding(user_query)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_5"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'[\n {\n "$vectorSearch": {\n "index": VS_INDEX_NAME,\n "path": "embedding",\n "queryVector": query_embedding,\n "numCandidates": 150,\n "limit": 5,\n }\n },\n {\n "$project": {\n "_id": 0,\n "body": 1,\n "score": {"$meta": "vectorSearchScore"},\n }\n },\n]\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_6"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"vs_collection.aggregate(pipeline)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_7"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"mongodb_client[DB_NAME][FULL_COLLECTION_NAME]\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_8"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'{"title": user_query}\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_9"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'{"_id": 0, "body": 1}\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_10"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"full_collection.find_one(query, projection)\n"})})})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>c});var t=s(6540);const o={},r=t.createContext(o);function i(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[942],{6982:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>c,toc:()=>l});var t=s(4848),o=s(8453);const r={},i="\ud83d\udc50 Create agent tools",c={id:"agent-tools/create-agent-tools",title:"\ud83d\udc50 Create agent tools",description:"The easiest way to define custom tools for agents in LangChain is using the @tool decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description.",source:"@site/docs/50-agent-tools/6-create-agent-tools.mdx",sourceDirName:"50-agent-tools",slug:"/agent-tools/create-agent-tools",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools",draft:!1,unlisted:!1,editUrl:"https://github.com/mongodb-developer/mdb-aws-agents-lab/blob/main/docs/50-agent-tools/6-create-agent-tools.mdx",tags:[],version:"current",sidebarPosition:6,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"\ud83d\udc50 Create a vector search index",permalink:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index"},next:{title:"Create Agent",permalink:"/mdb-aws-agents-lab/docs/category/create-agent"}},a={},l=[];function d(e){const n={code:"code",h1:"h1",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,o.R)(),...e.components},{Details:s}=n;return s||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"-create-agent-tools",children:"\ud83d\udc50 Create agent tools"})}),"\n",(0,t.jsxs)(n.p,{children:["The easiest way to define custom tools for agents in LangChain is using the ",(0,t.jsx)(n.code,{children:"@tool"})," decorator. The decorator makes tools out of functions by using the function name as the tool name by default, and the function's docstring as the tool's description."]}),"\n",(0,t.jsx)(n.p,{children:"We want the MongoDB learning assistant to have access to the following tools:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"get_information_for_question_answering"}),": Uses vector search to retrieve information to answer questions"]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"get_article_content_for_summarization"}),": Gets the content of articles for summarization"]}),"\n"]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["Fill in any ",(0,t.jsx)(n.code,{children:""})," placeholders and run the cells under the ",(0,t.jsx)(n.strong,{children:"Step 5: Create agent tools"})," section in the notebook to create tools for the agent to use."]}),"\n",(0,t.jsx)(n.p,{children:"The answers for code blocks in this section are as follows:"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_3"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"embedding_model.encode(text)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_4"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"get_embedding(user_query)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_5"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'[\n {\n "$vectorSearch": {\n "index": VS_INDEX_NAME,\n "path": "embedding",\n "queryVector": query_embedding,\n "numCandidates": 150,\n "limit": 5,\n }\n },\n {\n "$project": {\n "_id": 0,\n "body": 1,\n "score": {"$meta": "vectorSearchScore"},\n }\n },\n]\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_6"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"vs_collection.aggregate(pipeline)\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_7"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"mongodb_client[DB_NAME][FULL_COLLECTION_NAME]\n"})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_8"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'{"title": user_query}\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_9"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:'{"_id": 0, "body": 1}\n'})})})]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.strong,{children:"CODE_BLOCK_10"})}),"\n",(0,t.jsxs)(s,{children:[(0,t.jsx)("summary",{children:"Answer"}),(0,t.jsx)("div",{children:(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-python",children:"full_collection.find_one(query, projection)\n"})})})]})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>i,x:()=>c});var t=s(6540);const o={},r=t.createContext(o);function i(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.def3f915.js b/assets/js/main.def3f915.js deleted file mode 100644 index ca2b0c5..0000000 --- a/assets/js/main.def3f915.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.def3f915.js.LICENSE.txt */ -(self.webpackChunkai_agents_lab_reinvent=self.webpackChunkai_agents_lab_reinvent||[]).push([[792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"0c1fdb82":[()=>n.e(237).then(n.bind(n,1039)),"@site/docs/10-ai-agents/2-when-to-use-agents.mdx",1039],"14eb3368":[()=>Promise.all([n.e(869),n.e(969)]).then(n.bind(n,7247)),"@theme/DocCategoryGeneratedIndexPage",7247],"158257ac":[()=>n.e(867).then(n.t.bind(n,4564,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-767.json",4564],17896441:[()=>Promise.all([n.e(869),n.e(964),n.e(401)]).then(n.bind(n,5587)),"@theme/DocItem",5587],"1a0b53d8":[()=>n.e(591).then(n.bind(n,9078)),"@site/docs/60-create-agent/4-define-graph-nodes.mdx",9078],"2b4c7ea6":[()=>n.e(893).then(n.bind(n,3816)),"@site/docs/10-ai-agents/1-what-are-ai-agents.mdx",3816],"2bb54da0":[()=>Promise.all([n.e(869),n.e(939)]).then(n.bind(n,2099)),"@site/docs/30-aws/1-workshop-studio.mdx",2099],"36c22dfc":[()=>Promise.all([n.e(869),n.e(988)]).then(n.bind(n,1130)),"@site/docs/20-mongodb-atlas/3-get-connection-string.mdx",1130],"37e47ecd":[()=>n.e(991).then(n.bind(n,5317)),"@site/docs/50-agent-tools/3-create-vector-search-index.mdx",5317],"3aaaf183":[()=>n.e(93).then(n.bind(n,6183)),"@site/docs/summary.mdx",6183],"3e681763":[()=>n.e(628).then(n.t.bind(n,6387,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-create-agent-tools-7a7.json",6387],"4cd0ca0c":[()=>n.e(639).then(n.bind(n,7140)),"@site/docs/60-create-agent/1-concepts.mdx",7140],"4dec7580":[()=>n.e(679).then(n.bind(n,1984)),"@site/docs/50-agent-tools/4-create-agent-tools.mdx",1984],"5e95c892":[()=>n.e(647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"71b9c18c":[()=>n.e(471).then(n.t.bind(n,7231,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-mongodb-atlas-2da.json",7231],"72d756b8":[()=>n.e(256).then(n.bind(n,8730)),"@site/src/pages/helloWorld.js",8730],"751368e2":[()=>n.e(684).then(n.bind(n,3394)),"@site/docs/50-agent-tools/1-concepts.mdx",3394],"7c433d41":[()=>Promise.all([n.e(869),n.e(822)]).then(n.bind(n,2908)),"@site/docs/30-aws/3-sagemaker-studio.mdx",2908],"836469b2":[()=>n.e(385).then(n.t.bind(n,8567,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-add-memory-to-the-agent-859.json",8567],"857863e1":[()=>n.e(268).then(n.bind(n,38)),"@site/docs/10-ai-agents/3-components-of-agents.mdx",38],"8a272421":[()=>n.e(786).then(n.bind(n,4211)),"@site/docs/60-create-agent/3-instantiate-llm.mdx",4211],"8f8817f1":[()=>n.e(262).then(n.bind(n,6164)),"@site/docs/70-adding-memory/1-concepts.mdx",6164],"91fdaab4":[()=>n.e(11).then(n.t.bind(n,3336,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-ai-agents-37a.json",3336],"978ac258":[()=>n.e(62).then(n.bind(n,9238)),"@site/docs/50-agent-tools/2-import-data.mdx",9238],a7456010:[()=>n.e(235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(98).then(n.bind(n,1723)),"@theme/DocVersionRoot",1723],a94703ab:[()=>Promise.all([n.e(869),n.e(48)]).then(n.bind(n,1377)),"@theme/DocRoot",1377],aba21aa0:[()=>n.e(742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],c3ee1157:[()=>n.e(825).then(n.bind(n,9008)),"@site/docs/60-create-agent/5-define-conditional-edges.mdx",9008],c4f5d8e4:[()=>Promise.all([n.e(869),n.e(634)]).then(n.bind(n,6467)),"@site/src/pages/index.js",6467],c8620672:[()=>Promise.all([n.e(869),n.e(723)]).then(n.bind(n,7217)),"@site/docs/20-mongodb-atlas/2-create-cluster.mdx",7217],cac07b29:[()=>n.e(486).then(n.t.bind(n,1440,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-aws-6be.json",1440],d540d211:[()=>n.e(654).then(n.bind(n,7889)),"@site/docs/60-create-agent/6-build-and-execute-graph.mdx",7889],d8a38f62:[()=>n.e(473).then(n.bind(n,9820)),"@site/docs/60-create-agent/2-define-graph-state.mdx",9820],dbd3de5a:[()=>n.e(121).then(n.bind(n,5490)),"@site/docs/70-adding-memory/2-adding-memory.mdx",5490],dca70ee0:[()=>Promise.all([n.e(869),n.e(298)]).then(n.bind(n,9716)),"@site/docs/30-aws/2-bedrock.mdx",9716],e6ef851e:[()=>Promise.all([n.e(869),n.e(676)]).then(n.bind(n,2851)),"@site/docs/20-mongodb-atlas/1-create-account.mdx",2851],f3731152:[()=>n.e(955).then(n.t.bind(n,2065,19)),"@generated/docusaurus-plugin-content-docs/default/p/mdb-aws-agents-lab-docs-category-create-agent-630.json",2065],f8409a7e:[()=>Promise.all([n.e(869),n.e(903)]).then(n.bind(n,739)),"@site/docs/intro.mdx",739]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(618).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},f=[],p=[],g=(0,c.A)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],f.push(r[1]),p.push(r[2]))})),a().Map({loading:l,loader:d,modules:f,webpack:()=>p,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const f=[{path:"/mdb-aws-agents-lab/helloWorld",component:d("/mdb-aws-agents-lab/helloWorld","aa8"),exact:!0},{path:"/mdb-aws-agents-lab/docs",component:d("/mdb-aws-agents-lab/docs","e51"),routes:[{path:"/mdb-aws-agents-lab/docs",component:d("/mdb-aws-agents-lab/docs","0ba"),routes:[{path:"/mdb-aws-agents-lab/docs",component:d("/mdb-aws-agents-lab/docs","3ca"),routes:[{path:"/mdb-aws-agents-lab/docs/adding-memory/adding-memory",component:d("/mdb-aws-agents-lab/docs/adding-memory/adding-memory","43e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/adding-memory/concepts",component:d("/mdb-aws-agents-lab/docs/adding-memory/concepts","abf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/agent-tools/concepts",component:d("/mdb-aws-agents-lab/docs/agent-tools/concepts","1a5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools",component:d("/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools","d02"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index",component:d("/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index","188"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/agent-tools/import-data",component:d("/mdb-aws-agents-lab/docs/agent-tools/import-data","501"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/ai-agents/components-of-agents",component:d("/mdb-aws-agents-lab/docs/ai-agents/components-of-agents","13c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/ai-agents/what-are-ai-agents",component:d("/mdb-aws-agents-lab/docs/ai-agents/what-are-ai-agents","482"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/ai-agents/when-to-use-agents",component:d("/mdb-aws-agents-lab/docs/ai-agents/when-to-use-agents","8f1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/aws/bedrock",component:d("/mdb-aws-agents-lab/docs/aws/bedrock","550"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/aws/sagemaker-studio",component:d("/mdb-aws-agents-lab/docs/aws/sagemaker-studio","b2a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/aws/workshop-studio",component:d("/mdb-aws-agents-lab/docs/aws/workshop-studio","19a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/add-memory-to-the-agent",component:d("/mdb-aws-agents-lab/docs/category/add-memory-to-the-agent","056"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/ai-agents",component:d("/mdb-aws-agents-lab/docs/category/ai-agents","168"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/aws",component:d("/mdb-aws-agents-lab/docs/category/aws","e77"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/create-agent",component:d("/mdb-aws-agents-lab/docs/category/create-agent","8e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/create-agent-tools",component:d("/mdb-aws-agents-lab/docs/category/create-agent-tools","c0c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/category/mongodb-atlas",component:d("/mdb-aws-agents-lab/docs/category/mongodb-atlas","11f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/build-and-execute-graph",component:d("/mdb-aws-agents-lab/docs/create-agent/build-and-execute-graph","340"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/concepts",component:d("/mdb-aws-agents-lab/docs/create-agent/concepts","c72"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/define-conditional-edges",component:d("/mdb-aws-agents-lab/docs/create-agent/define-conditional-edges","9fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/define-graph-nodes",component:d("/mdb-aws-agents-lab/docs/create-agent/define-graph-nodes","dce"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/define-graph-state",component:d("/mdb-aws-agents-lab/docs/create-agent/define-graph-state","1b4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/create-agent/instantiate-llm",component:d("/mdb-aws-agents-lab/docs/create-agent/instantiate-llm","d22"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/intro",component:d("/mdb-aws-agents-lab/docs/intro","5de"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account",component:d("/mdb-aws-agents-lab/docs/mongodb-atlas/create-account","4b3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster",component:d("/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster","aca"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string",component:d("/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string","e61"),exact:!0,sidebar:"tutorialSidebar"},{path:"/mdb-aws-agents-lab/docs/summary",component:d("/mdb-aws-agents-lab/docs/summary","939"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/mdb-aws-agents-lab/",component:d("/mdb-aws-agents-lab/","43e"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7815:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(545),i=n(4625),s=n(4784),l=n(8193);const c=[n(1911),n(119),n(6134),n(6294),n(1043)];var u=n(8328),d=n(6347),f=n(2831),p=n(4848);function g(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var h=n(5260),m=n(4586),b=n(6025),y=n(6342),v=n(1003),w=n(2131),k=n(4090);const x="default";var S=n(440),E=n(1463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,m.A)(),r=(0,w.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(h.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,m.A)(),{pathname:r}=(0,d.zy)();return e+(0,S.Ks)((0,b.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function A(){const{i18n:{currentLocale:e}}=(0,m.A)(),{metadata:t,image:n}=(0,y.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(h.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:k.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(C,{}),(0,p.jsx)(_,{}),(0,p.jsx)(E.A,{tag:x,locale:e}),(0,p.jsx)(h.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;var N=n(6125),j=n(6988),O=n(205);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,O.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function L(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,f.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),L(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(R,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(d.qh,{location:t,render:()=>e})})}}const F=I,M="__docusaurus-base-url-issue-banner-container",D="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,p.jsx)(F,{location:e,children:q})}function Y(){return(0,p.jsx)(H.A,{children:(0,p.jsx)(j.l,{children:(0,p.jsxs)(N.x,{children:[(0,p.jsxs)(g,{children:[(0,p.jsx)(W,{}),(0,p.jsx)(A,{}),(0,p.jsx)(U,{}),(0,p.jsx)(K,{})]}),(0,p.jsx)(G,{})]})})})}var Q=n(4054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(6921);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,f.u)(u.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),L(e))},re=Object.freeze(ne);function ae(e){let{children:t}=e;return"hash"===s.default.future.experimental_router?(0,p.jsx)(i.I9,{children:t}):(0,p.jsx)(i.Kd,{children:t})}const oe=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(o.vd,{children:(0,p.jsx)(ae,{children:(0,p.jsx)(Y,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(oe)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};L(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>f});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/mdb-aws-agents-lab/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/mdb-aws-agents-lab/docs","mainDocId":"intro","docs":[{"id":"adding-memory/adding-memory","path":"/mdb-aws-agents-lab/docs/adding-memory/adding-memory","sidebar":"tutorialSidebar"},{"id":"adding-memory/concepts","path":"/mdb-aws-agents-lab/docs/adding-memory/concepts","sidebar":"tutorialSidebar"},{"id":"agent-tools/concepts","path":"/mdb-aws-agents-lab/docs/agent-tools/concepts","sidebar":"tutorialSidebar"},{"id":"agent-tools/create-agent-tools","path":"/mdb-aws-agents-lab/docs/agent-tools/create-agent-tools","sidebar":"tutorialSidebar"},{"id":"agent-tools/create-vector-search-index","path":"/mdb-aws-agents-lab/docs/agent-tools/create-vector-search-index","sidebar":"tutorialSidebar"},{"id":"agent-tools/import-data","path":"/mdb-aws-agents-lab/docs/agent-tools/import-data","sidebar":"tutorialSidebar"},{"id":"ai-agents/components-of-agents","path":"/mdb-aws-agents-lab/docs/ai-agents/components-of-agents","sidebar":"tutorialSidebar"},{"id":"ai-agents/what-are-ai-agents","path":"/mdb-aws-agents-lab/docs/ai-agents/what-are-ai-agents","sidebar":"tutorialSidebar"},{"id":"ai-agents/when-to-use-agents","path":"/mdb-aws-agents-lab/docs/ai-agents/when-to-use-agents","sidebar":"tutorialSidebar"},{"id":"aws/bedrock","path":"/mdb-aws-agents-lab/docs/aws/bedrock","sidebar":"tutorialSidebar"},{"id":"aws/sagemaker-studio","path":"/mdb-aws-agents-lab/docs/aws/sagemaker-studio","sidebar":"tutorialSidebar"},{"id":"aws/workshop-studio","path":"/mdb-aws-agents-lab/docs/aws/workshop-studio","sidebar":"tutorialSidebar"},{"id":"create-agent/build-and-execute-graph","path":"/mdb-aws-agents-lab/docs/create-agent/build-and-execute-graph","sidebar":"tutorialSidebar"},{"id":"create-agent/concepts","path":"/mdb-aws-agents-lab/docs/create-agent/concepts","sidebar":"tutorialSidebar"},{"id":"create-agent/define-conditional-edges","path":"/mdb-aws-agents-lab/docs/create-agent/define-conditional-edges","sidebar":"tutorialSidebar"},{"id":"create-agent/define-graph-nodes","path":"/mdb-aws-agents-lab/docs/create-agent/define-graph-nodes","sidebar":"tutorialSidebar"},{"id":"create-agent/define-graph-state","path":"/mdb-aws-agents-lab/docs/create-agent/define-graph-state","sidebar":"tutorialSidebar"},{"id":"create-agent/instantiate-llm","path":"/mdb-aws-agents-lab/docs/create-agent/instantiate-llm","sidebar":"tutorialSidebar"},{"id":"intro","path":"/mdb-aws-agents-lab/docs/intro","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/create-account","path":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-account","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/create-cluster","path":"/mdb-aws-agents-lab/docs/mongodb-atlas/create-cluster","sidebar":"tutorialSidebar"},{"id":"mongodb-atlas/get-connection-string","path":"/mdb-aws-agents-lab/docs/mongodb-atlas/get-connection-string","sidebar":"tutorialSidebar"},{"id":"summary","path":"/mdb-aws-agents-lab/docs/summary","sidebar":"tutorialSidebar"},{"id":"/category/ai-agents","path":"/mdb-aws-agents-lab/docs/category/ai-agents","sidebar":"tutorialSidebar"},{"id":"/category/mongodb-atlas","path":"/mdb-aws-agents-lab/docs/category/mongodb-atlas","sidebar":"tutorialSidebar"},{"id":"/category/aws","path":"/mdb-aws-agents-lab/docs/category/aws","sidebar":"tutorialSidebar"},{"id":"/category/create-agent-tools","path":"/mdb-aws-agents-lab/docs/category/create-agent-tools","sidebar":"tutorialSidebar"},{"id":"/category/create-agent","path":"/mdb-aws-agents-lab/docs/category/create-agent","sidebar":"tutorialSidebar"},{"id":"/category/add-memory-to-the-agent","path":"/mdb-aws-agents-lab/docs/category/add-memory-to-the-agent","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/mdb-aws-agents-lab/docs/intro","label":"intro"}}}}],"breadcrumbs":true}},"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-ZJ28V71VTQ"],"anonymizeIP":true,"id":"default"}},"docusaurus-lunr-search":{"default":{"fileNames":{"searchDoc":"search-doc-1731352524346.json","lunrIndex":"lunr-index-1731352524346.json"}}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","es"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"es":{"label":"Espa\xf1ol","direction":"ltr","htmlLang":"es","calendar":"gregory","path":"es"}}}');var s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.5.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.5.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.5.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.5.2"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.5.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.5.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.5.2"},"docusaurus-lunr-search":{"type":"package","name":"docusaurus-lunr-search","version":"3.5.0"}}}');var c=n(4848);const u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(u);function f(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});var r=n(6540),a=n(8193),o=n(5260),i=n(440),s=n(2402),l=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function f(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function p(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(f,{children:(0,c.jsxs)(h,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const g=e=>(0,c.jsx)(p,{...e});class h extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var r=n(6540),a=n(4625),o=n(440),i=n(4586),s=n(6654),l=n(8193),c=n(3427),u=n(6025),d=n(4848);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:g,isActive:h,"data-noBrokenLinkCheck":m,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,u.hH)(),E=(0,c.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=f||p;const A=(0,s.A)(C),T=C?.replace("pathname://","");let N=void 0!==T?(j=T,b&&(e=>e.startsWith("/"))(j)?S(j):j):void 0;var j;"hash"===x&&N?.startsWith("./")&&(N=N?.slice(1)),N&&A&&(N=(0,o.Ks)(N,{trailingSlash:w,baseUrl:k}));const O=(0,r.useRef)(!1),P=n?a.k2:a.N_,R=l.A.canUseIntersectionObserver,L=(0,r.useRef)(),I=()=>{O.current||null==N||(window.docusaurus.preload(N),O.current=!0)};(0,r.useEffect)((()=>(!R&&A&&l.A.canUseDOM&&null!=N&&window.docusaurus.prefetch(N),()=>{R&&L.current&&L.current.disconnect()})),[L,N,R,A]);const F=N?.startsWith("#")??!1,M=!y.target||"_self"===y.target,D=!N||!A||!M||F&&"hash"!==x;m||!F&&D||E.collectLink(N),y.id&&E.collectAnchor(y.id);const z={};return D?(0,d.jsx)("a",{ref:_,href:N,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...y,...z}):(0,d.jsx)(P,{...y,onMouseEnter:I,onTouchStart:I,innerRef:e=>{_.current=e,R&&e&&A&&(L.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(L.current.unobserve(e),L.current.disconnect(),null!=N&&window.docusaurus.prefetch(N))}))})),L.current.observe(e))},to:N,...n&&{isActive:h,activeClassName:g},...z})}const p=r.forwardRef(f)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return o(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:a=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,o.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(a)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},6588:(e,t,n)=>{"use strict";n.d(t,{P_:()=>i,kh:()=>o});var r=n(4586),a=n(7065);function o(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}function i(e,t,n){void 0===t&&(t=a.W),void 0===n&&(n={});const r=o(e),i=r?.[t];if(!i&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return i}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:s,children:t})}},3886:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>m,g1:()=>y});var r=n(6540),a=n(8295),o=n(7065),i=n(6342),s=n(679),l=n(9532),c=n(4848);const u=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,s.Wf)(u(e),{persistence:t}).set(n)},read:(e,t)=>(0,s.Wf)(u(e),{persistence:t}).get(),clear:(e,t)=>{(0,s.Wf)(u(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function g(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,c.jsx)(p.Provider,{value:n,children:t})}function m(e){let{children:t}=e;return(0,c.jsx)(h,{children:t})}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},609:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(6540),a=n(9532),o=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},4718:(e,t,n)=>{"use strict";n.d(t,{d1:()=>C,Nr:()=>p,w8:()=>b,$S:()=>g,cC:()=>f,B5:()=>_,Vd:()=>x,QB:()=>E,fW:()=>S,OF:()=>k,Y:()=>v});var r=n(6540),a=n(6347),o=n(2831),i=n(8295),s=n(9169);function l(e){return Array.from(new Set(e))}var c=n(3886),u=n(3025),d=n(609);function f(e){const t=(0,u.r)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function p(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=p(t);if(e)return e}}(e):void 0:e.href}function g(){const{pathname:e}=(0,a.zy)(),t=(0,d.t)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=w({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,s.ys)(e,t),m=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||m(e.items,t))}function y(e,t){switch(e.type){case"category":return b(e,t)||e.items.some((e=>y(e,t)));case"link":return!e.unlisted||b(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>y(e,t)))),[e,t])}function w(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,s.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,s.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function k(){const e=(0,d.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?w({sidebarItems:e.items,pathname:t}):null}function x(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,c.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>l([t,n,a].filter(Boolean))),[t,n,a])}function S(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=x(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${l(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function _(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,u.r)(),i=t.routes,s=i.find((e=>(0,a.B6)(n.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?r.docsSidebars[l]:void 0;return{docElement:(0,o.v)(i),sidebarName:l,sidebarItems:c}}function C(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!p(e)))}},3025:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},8295:(e,t,n)=>{"use strict";n.d(t,{zK:()=>p,vT:()=>u,Gy:()=>l,HW:()=>g,ht:()=>c,r7:()=>f,jh:()=>d});var r=n(6347),a=n(6588);const o=e=>e.versions.find((e=>e.isLast));function i(e,t){const n=function(e,t){return[...e.versions].sort(((e,t)=>e.path===t.path?0:e.path.includes(t.path)?-1:t.path.includes(e.path)?1:0)).find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const s={},l=()=>(0,a.kh)("docusaurus-plugin-content-docs")??s,c=e=>{try{return(0,a.P_)("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function u(e){void 0===e&&(e={});const t=l(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function d(e){return c(e).versions}function f(e){const t=c(e);return o(t)}function p(e){const t=c(e),{pathname:n}=(0,r.zy)();return i(t,n)}function g(e){const t=c(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=o(e);return{latestDocSuggestion:i(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},1911:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";var r=n(8181),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(6719)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8215),a=n(1312),o=n(6342),i=n(8774),s=n(3427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:f}}=(0,o.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const p=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",f?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":p,title:p,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},2402:(e,t,n)=>{"use strict";n.d(t,{A:()=>yt});var r=n(6540),a=n(8215),o=n(7489),i=n(1003),s=n(6347),l=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const g=(0,l.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??g,{containerRef:n,onClick:r}=p();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var m=n(7559),b=n(4090);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(h,{className:y.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:A.announcementBarPlaceholder}),(0,u.jsx)(C,{className:A.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var N=n(9876),j=n(3104);var O=n(9532),P=n(5600);const R=r.createContext(null);function L(e){let{children:t}=e;const n=function(){const e=(0,N.M)(),t=(0,P.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,O.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(R.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function F(){const e=(0,r.useContext)(R);if(!e)throw new O.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=F();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var D=n(5293),z=n(2303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function W(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,l.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(W),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,D.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(3465);function K(){return(0,u.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Y(){const e=(0,N.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Q(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(K,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Y,{})]})}var Z=n(8774),X=n(6025),J=n(6654);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Ay)(r),f=(0,X.Ay)(t),p=(0,X.Ay)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.A)(a),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,g&&(0,u.jsx)(te.A,{...s&&{width:12,height:12}})]})};return a?(0,u.jsx)(Z.A,{href:l?p:a,...c,...h}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(f)},...c,...h})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),se=n(9169),le=n(4586);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(je,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function fe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[c,d,g]),(0,u.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":f}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.A)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),p()},children:l.children??l.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:f,children:t.map(((e,t)=>(0,r.createElement)(je,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const r=t?fe:de;return(0,u.jsx)(r,{...n})}var ge=n(2131);function he(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const me="iconLanguage_nlXk";var be=n(53),ye=n(6588),ve=n(689),we=n.n(ve);function ke(){const e=(0,s.zy)(),t=(0,s.W6)(),{siteConfig:{baseUrl:n}}=(0,le.A)(),[a,o]=(0,r.useState)({wordToHighlight:"",isTitleSuggestion:!1,titleText:""});return(0,r.useEffect)((()=>{if(!e.state?.highlightState||0===e.state.highlightState.wordToHighlight.length)return;o(e.state.highlightState);const{highlightState:n,...r}=e.state;t.replace({...e,state:r})}),[e.state?.highlightState,t,e]),(0,r.useEffect)((()=>{if(0===a.wordToHighlight.length)return;const e=document.getElementsByTagName("article")[0]??document.getElementsByTagName("main")[0];if(!e)return;const t=new(we())(e),n={ignoreJoiners:!0};return t.mark(a.wordToHighlight,n),()=>t.unmark(n)}),[a,n]),null}const xe=e=>{const t=(0,r.useRef)(!1),a=(0,r.useRef)(null),[o,i]=(0,r.useState)(!1),l=(0,s.W6)(),{siteConfig:c={}}=(0,le.A)(),d=(c.plugins||[]).find((e=>Array.isArray(e)&&"string"==typeof e[0]&&e[0].includes("docusaurus-lunr-search"))),f=(0,z.A)(),{baseUrl:p}=c,g=d&&d[1]?.assetUrl||p,h=(0,ye.P_)("docusaurus-lunr-search"),m=()=>{t.current||(Promise.all([fetch(`${g}${h.fileNames.searchDoc}`).then((e=>e.json())),fetch(`${g}${h.fileNames.lunrIndex}`).then((e=>e.json())),Promise.all([n.e(972),n.e(577)]).then(n.bind(n,5765)),Promise.all([n.e(869),n.e(278)]).then(n.bind(n,9278))]).then((e=>{let[t,n,{default:r}]=e;const{searchDocs:a,options:o}=t;a&&0!==a.length&&(((e,t,n,r)=>{new n({searchDocs:e,searchIndex:t,baseUrl:p,inputSelector:"#search_input_react",handleSelected:(e,t,n)=>{const a=n.url||"/";document.createElement("a").href=a,e.setVal(""),t.target.blur();let o="";if(r.highlightResult)try{const e=(n.text||n.subcategory||n.title).match(new RegExp("\\w*","g"));if(e&&e.length>0){const t=document.createElement("div");t.innerHTML=e[0],o=t.textContent}}catch(i){console.log(i)}l.push(a,{highlightState:{wordToHighlight:o}})},maxHits:r.maxHits})})(a,n,r,o),i(!0))})),t.current=!0)},b=(0,r.useCallback)((t=>{a.current.contains(t.target)||a.current.focus(),e.handleSearchBarToggle&&e.handleSearchBarToggle(!e.isSearchBarExpanded)}),[e.isSearchBarExpanded]);let y;return f&&(m(),y=window.navigator.platform.startsWith("Mac")?"Search \u2318+K":"Search Ctrl+K"),(0,r.useEffect)((()=>{e.autoFocus&&o&&a.current.focus()}),[o]),(0,u.jsxs)("div",{className:"navbar__search",children:[(0,u.jsx)("span",{"aria-label":"expand searchbar",role:"button",className:(0,be.A)("search-icon",{"search-icon-hidden":e.isSearchBarExpanded}),onClick:b,onKeyDown:b,tabIndex:0}),(0,u.jsx)("input",{id:"search_input_react",type:"search",placeholder:o?y:"Loading...","aria-label":"Search",className:(0,be.A)("navbar__search-input",{"search-bar-expanded":e.isSearchBarExpanded},{"search-bar":!e.isSearchBarExpanded}),onClick:m,onMouseOver:m,onFocus:b,onBlur:b,ref:a,disabled:!o}),(0,u.jsx)(ke,{})]},"search-box")},Se={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Ee(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.A)(n,Se.navbarSearchContainer),children:t})}var _e=n(8295),Ce=n(4718);var Ae=n(3886);function Te(e,t){return t.alternateDocVersions[e.name]??function(e){return e.docs.find((t=>t.id===e.mainDocId))}(e)}const Ne={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.A)(),f=(0,ge.o)(),{search:p,hash:g}=(0,s.zy)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${g}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],m=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(pe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(he,{className:me}),m]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Ee,{className:n,children:(0,u.jsx)(xe,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,_e.zK)(r),i=(0,Ce.QB)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,_e.zK)(r),i=(0,Ce.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,Ce.Vd)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,s.zy)(),f=(0,_e.zK)(n),p=(0,_e.jh)(n),{savePreferredVersionName:g}=(0,Ae.g1)(n),h=[...a,...p.map((function(e){const t=Te(e,f);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...o],m=(0,Ce.Vd)(n)[0],b=t&&h.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):m.label,y=t&&h.length>1?void 0:Te(m,f).path;return h.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,u.jsx)(pe,{...i,mobile:t,label:b,to:y,items:h,isActive:r?()=>!1:void 0})}};function je(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ne[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function Oe(){const e=(0,N.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(je,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Pe(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Re(){const e=0===(0,w.p)().navbar.items.length,t=F();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Pe,{onClick:()=>t.hide()}),t.content]})}function Le(){const e=(0,N.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(Q,{}),primaryMenu:(0,u.jsx)(Oe,{}),secondaryMenu:(0,u.jsx)(Re,{})}):null}const Ie={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Fe(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Me(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,N.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,j.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Ie.navbarHideable,!d&&Ie.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Fe,{onClick:i.toggle}),(0,u.jsx)(Le,{})]})}var De=n(440);const ze={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Be(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function $e(e){let{error:t}=e;const n=(0,De.rA)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:ze.errorBoundaryError,children:n})}class Ue extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const We="right";function He(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Ve(){const{toggle:e,shown:t}=(0,N.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(He,{})})}const Ge={colorModeToggle:"colorModeToggle_DEke"};function qe(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(Ue,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(je,{...e})},t)))})}function Ke(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ye(){const e=(0,N.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??We)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(Ke,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(Ve,{}),(0,u.jsx)(K,{}),(0,u.jsx)(qe,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(qe,{items:r}),(0,u.jsx)(G,{className:Ge.colorModeToggle}),!a&&(0,u.jsx)(Ee,{children:(0,u.jsx)(xe,{})})]})})}function Qe(){return(0,u.jsx)(Me,{children:(0,u.jsx)(Ye,{})})}function Ze(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,s=(0,X.Ay)(n),l=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?l:r}:{to:s},...i,children:[a,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function Xe(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(Ze,{item:t})},t.href??t.to)}function Je(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(Xe,{item:e},t)))})]})}function et(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(Je,{column:e},t)))})}function tt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function nt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(Ze,{item:t})}function rt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(nt,{item:e}),t.length!==n+1&&(0,u.jsx)(tt,{})]},n)))})})}function at(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(et,{columns:t}):(0,u.jsx)(rt,{links:t})}var ot=n(1122);const it={footerLogoLink:"footerLogoLink_BH7S"};function st(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(ot.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function lt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:it.footerLogoLink,target:t.target,children:(0,u.jsx)(st,{logo:t})}):(0,u.jsx)(st,{logo:t})}function ct(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ut(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function dt(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(ut,{style:a,links:n&&n.length>0&&(0,u.jsx)(at,{links:n}),logo:r&&(0,u.jsx)(lt,{logo:r}),copyright:t&&(0,u.jsx)(ct,{copyright:t})})}const ft=r.memo(dt),pt=(0,O.fM)([D.a,k.o,j.Tv,Ae.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(P.y_,{children:(0,u.jsx)(N.e,{children:(0,u.jsx)(L,{children:t})})})}]);function gt(e){let{children:t}=e;return(0,u.jsx)(pt,{children:t})}var ht=n(1107);function mt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(ht.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Be,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)($e,{error:t})})]})})})}const bt={mainWrapper:"mainWrapper_z2l0"};function yt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.J)(),(0,u.jsxs)(gt,{children:[(0,u.jsx)(i.be,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(T,{}),(0,u.jsx)(Qe,{}),(0,u.jsx)("div",{id:d,className:(0,a.A)(m.G.wrapper.main,bt.mainWrapper,r),children:(0,u.jsx)(o.A,{fallback:e=>(0,u.jsx)(mt,{...e}),children:t})}),!n&&(0,u.jsx)(ft,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),a=n(6025),o=n(4586),i=n(6342),s=n(1122),l=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Ay)(t.src),dark:(0,a.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...f}=e,p=(0,a.Ay)(s?.href||"/"),g=n?"":t,h=s?.alt??g;return(0,l.jsxs)(r.A,{to:p,...f,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),a=n(5066),o=n(2303),i=n(5293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,o.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>c});var r=n(6540),a=n(8193),o=n(205),i=n(3109),s=n(4848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function f(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function p(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return f(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.A.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return p({collapsibleRef:u,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:u,style:c?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(f(u.current,n),i?.(n))},className:l,children:a})}function m(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&c(t)}),[a,t]),a?(0,s.jsx)(h,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?m:h;return(0,s.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{M:()=>h,o:()=>g});var r=n(6540),a=n(2303),o=n(679),i=n(9532),s=n(6342),l=n(4848);const c=(0,o.Wf)("docusaurus.announcement.dismiss"),u=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),f=e=>c.set(String(e)),p=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{f(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&f(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(p.Provider,{value:n,children:t})}function h(){const e=(0,r.useContext)(p);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>m});var r=n(6540),a=n(8193),o=n(9532),i=n(679),s=n(6342),l=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),f={light:"light",dark:"dark"},p=e=>e===f.dark?f.dark:f.light,g=e=>a.A.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),h=e=>{d.set(p(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[a,o]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?f.dark:f.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===f.dark},setLightTheme(){i(f.light)},setDarkTheme(){i(f.dark)}})),[a,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},9876:(e,t,n)=>{"use strict";n.d(t,{e:()=>p,M:()=>g});var r=n(6540),a=n(5600),o=n(4581),i=n(6347),s=n(9532);function l(e){!function(e){const t=(0,i.W6)(),n=(0,s._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var c=n(6342),u=n(4848);const d=r.createContext(void 0);function f(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,c.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const u=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:i})),[e,n,u,i])}function p(e){let{children:t}=e;const n=f();return(0,u.jsx)(d.Provider,{value:n,children:t})}function g(){const e=r.useContext(d);if(void 0===e)throw new s.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",blogAuthorsListPage:"blog-authors-list-page",blogAuthorsPostsPage:"blog-authors-posts-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",draftBanner:"theme-draft-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1003:(e,t,n)=>{"use strict";n.d(t,{e3:()=>p,be:()=>d,Jx:()=>g});var r=n(6540),a=n(5066),o=n(5260),i=n(3102);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(6025),c=n(4586);var u=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=function(e){const{siteConfig:t}=(0,c.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.hH)(),f=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.A,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),f&&(0,u.jsx)("meta",{property:"og:image",content:f}),f&&(0,u.jsx)("meta",{name:"twitter:image",content:f}),i]})}const f=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(f),s=(0,a.A)(i,t);return(0,u.jsxs)(f.Provider,{value:s,children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function g(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(p,{className:(0,a.A)(r,o),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(6540),a=n(205),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>c,gk:()=>p});var r=n(6540),a=n(8193),o=n(2303),i=(n(205),n(9532)),s=n(4848);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},679:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c});n(6540);const r=JSON.parse('{"N":"localStorage","M":""}'),a=r.N;function o(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function i(e){if(void 0===e&&(e=a),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${r.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const a=i(t?.persistence);return null===a?l:{get:()=>{try{return a.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=a.getItem(n);a.setItem(n,e),o({key:n,oldValue:t,newValue:e,storage:a})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=a.getItem(n);a.removeItem(n),o({key:n,oldValue:e,newValue:null,storage:a})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===a&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),a=n(6347),o=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),c=(0,o.Ks)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,c=n,c?a(l):o(l));var l,c;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o;const r=n(2566);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=function e(t){if(t.cause)return[t,...e(t.cause)];return[t]}},440:(e,t,n)=>{"use strict";t.rA=t.Ks=void 0;const r=n(1635);var a=n(2983);Object.defineProperty(t,"Ks",{enumerable:!0,get:function(){return r.__importDefault(a).default}});var o=n(2566);var i=n(253);Object.defineProperty(t,"rA",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){if(""===t)return e;return e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},53:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>p,sC:()=>T,AO:()=>f});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(1561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=p(n);a&&a!==g&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),m=0;m{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},689:function(e){e.exports=function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=a,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach((function(t){var n=e.filter((function(e){return e.contains(t)})).length>0;-1!==e.indexOf(t)||n||e.push(t)})),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var a=e.contentWindow;if(r=a.document,!a||!r)throw new Error("iframe inaccessible")}catch(o){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,a=!1,o=null,i=function i(){if(!a){a=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",i),r.getIframeContents(e,t,n))}catch(s){n()}}};e.addEventListener("load",i),o=setTimeout(i,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(r){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,(function(){return!0}),(function(e){r++,n.waitForIframes(e.querySelector("html"),(function(){--r||t()}))}),(function(e){e||t()}))}},{key:"forEachIframe",value:function(t,n,r){var a=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},i=t.querySelectorAll("iframe"),s=i.length,l=0;i=Array.prototype.slice.call(i);var c=function(){--s<=0&&o(l)};s||c(),i.forEach((function(t){e.matches(t,a.exclude)?c():a.onIframeReady(t,(function(e){n(t)&&(l++,r(e)),c()}),c)}))}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:(null===t||e.nextNode())&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var a=!1,o=!1;return r.forEach((function(e,t){e.val===n&&(a=t,o=e.handled)})),this.compareNodeIframe(e,t,n)?(!1!==a||o?!1===a||o||(r[a].handled=!0):r.push({val:n,handled:!0}),!0):(!1===a&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var a=this;e.forEach((function(e){e.handled||a.getIframeContents(e.val,(function(e){a.createInstanceOnIframe(e).forEachNode(t,n,r)}))}))}},{key:"iterateThroughNodes",value:function(e,t,n,r,a){for(var o=this,i=this.createIterator(t,e,r),s=[],l=[],c=void 0,u=void 0,d=function(){var e=o.getIteratorNode(i);return u=e.prevNode,c=e.node};d();)this.iframes&&this.forEachIframe(t,(function(e){return o.checkIframeFilter(c,u,e,s)}),(function(t){o.createInstanceOnIframe(t).forEachNode(e,(function(e){return l.push(e)}),r)})),l.push(c);l.forEach((function(e){n(e)})),this.iframes&&this.handleOpenIframes(s,e,n,r),a()}},{key:"forEachNode",value:function(e,t,n){var r=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),i=o.length;i||a(),o.forEach((function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,(function(){--i<=0&&a()}))};r.iframes?r.waitForIframes(o,s):s()}))}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var a=!1;return n.every((function(t){return!r.call(e,t)||(a=!0,!1)})),a}return!1}}]),e}(),o=function(){function o(e){t(this,o),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(o,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createRegExp",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var a in t)if(t.hasOwnProperty(a)){var o=t[a],i="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(a):this.escapeStr(a),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==i&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(i)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynomyms(i)+"|"+this.processSynomyms(s)+")"+r))}return e}},{key:"processSynomyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,(function(e){return"\\"===e.charAt(0)?"?":"\x01"}))).replace(/(?:\\)*\*/g,(function(e){return"\\"===e.charAt(0)?"*":"\x02"}))}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,(function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"}))}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105","A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010d","C\xc7\u0106\u010c","d\u0111\u010f","D\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119","E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012b","I\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142","L\u0141","n\xf1\u0148\u0144","N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014d","O\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159","R\u0158","s\u0161\u015b\u0219\u015f","S\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163","T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016b","U\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xff","Y\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017a","Z\u017d\u017b\u0179"]:["a\xe0\xe1\u1ea3\xe3\u1ea1\u0103\u1eb1\u1eaf\u1eb3\u1eb5\u1eb7\xe2\u1ea7\u1ea5\u1ea9\u1eab\u1ead\xe4\xe5\u0101\u0105A\xc0\xc1\u1ea2\xc3\u1ea0\u0102\u1eb0\u1eae\u1eb2\u1eb4\u1eb6\xc2\u1ea6\u1ea4\u1ea8\u1eaa\u1eac\xc4\xc5\u0100\u0104","c\xe7\u0107\u010dC\xc7\u0106\u010c","d\u0111\u010fD\u0110\u010e","e\xe8\xe9\u1ebb\u1ebd\u1eb9\xea\u1ec1\u1ebf\u1ec3\u1ec5\u1ec7\xeb\u011b\u0113\u0119E\xc8\xc9\u1eba\u1ebc\u1eb8\xca\u1ec0\u1ebe\u1ec2\u1ec4\u1ec6\xcb\u011a\u0112\u0118","i\xec\xed\u1ec9\u0129\u1ecb\xee\xef\u012bI\xcc\xcd\u1ec8\u0128\u1eca\xce\xcf\u012a","l\u0142L\u0141","n\xf1\u0148\u0144N\xd1\u0147\u0143","o\xf2\xf3\u1ecf\xf5\u1ecd\xf4\u1ed3\u1ed1\u1ed5\u1ed7\u1ed9\u01a1\u1edf\u1ee1\u1edb\u1edd\u1ee3\xf6\xf8\u014dO\xd2\xd3\u1ece\xd5\u1ecc\xd4\u1ed2\u1ed0\u1ed4\u1ed6\u1ed8\u01a0\u1ede\u1ee0\u1eda\u1edc\u1ee2\xd6\xd8\u014c","r\u0159R\u0158","s\u0161\u015b\u0219\u015fS\u0160\u015a\u0218\u015e","t\u0165\u021b\u0163T\u0164\u021a\u0162","u\xf9\xfa\u1ee7\u0169\u1ee5\u01b0\u1eeb\u1ee9\u1eed\u1eef\u1ef1\xfb\xfc\u016f\u016bU\xd9\xda\u1ee6\u0168\u1ee4\u01af\u1eea\u1ee8\u1eec\u1eee\u1ef0\xdb\xdc\u016e\u016a","y\xfd\u1ef3\u1ef7\u1ef9\u1ef5\xffY\xdd\u1ef2\u1ef6\u1ef8\u1ef4\u0178","z\u017e\u017c\u017aZ\u017d\u017b\u0179"],r=[];return e.split("").forEach((function(a){n.every((function(n){if(-1!==n.indexOf(a)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0}))})),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xa1\xbf",r=this.opt.accuracy,a="string"==typeof r?r:r.value,o="string"==typeof r?[]:r.limiters,i="";switch(o.forEach((function(e){i+="|"+t.escapeStr(e)})),a){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr(n)))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach((function(e){t.opt.separateWordSearch?e.split(" ").forEach((function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)})):e.trim()&&-1===n.indexOf(e)&&n.push(e)})),{keywords:n.sort((function(e,t){return t.length-e.length})),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort((function(e,t){return e.start-t.start})).forEach((function(e){var a=t.callNoMatchOnInvalidRanges(e,r),o=a.start,i=a.end;a.valid&&(e.start=o,e.length=i-o,n.push(e),r=i)})),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,a=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?a=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:a}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,a=!0,o=n.length,i=t-o,s=parseInt(e.start,10)-i;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(a=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:a}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,(function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})}),(function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),(function(){e({value:n,nodes:r})}))}},{key:"matchesExclude",value:function(e){return a.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",a=e.splitText(t),o=a.splitText(n-t),i=document.createElement(r);return i.setAttribute("data-markjs","true"),this.opt.className&&i.setAttribute("class",this.opt.className),i.textContent=a.textContent,a.parentNode.replaceChild(i,a),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,a){var o=this;e.nodes.every((function(i,s){var l=e.nodes[s+1];if(void 0===l||l.start>t){if(!r(i.node))return!1;var c=t-i.start,u=(n>i.end?i.end:n)-i.start,d=e.value.substr(0,i.start),f=e.value.substr(u+i.start);if(i.node=o.wrapRangeInTextNode(i.node,c,u),e.value=d+f,e.nodes.forEach((function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=u),e.nodes[n].end-=u)})),n-=u,a(i.node.previousSibling,i.start),!(n>i.end))return!1;t=i.end}return!0}))}},{key:"wrapMatches",value:function(e,t,n,r,a){var o=this,i=0===t?0:t+1;this.getTextNodes((function(t){t.nodes.forEach((function(t){t=t.node;for(var a=void 0;null!==(a=e.exec(t.textContent))&&""!==a[i];)if(n(a[i],t)){var s=a.index;if(0!==i)for(var l=1;l{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=f(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5302:(e,t,n)=>{var r=n(4634);e.exports=g,e.exports.parse=o,e.exports.compile=function(e,t){return l(o(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,s=0,l="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(l+=e.slice(s,p),s=p+d.length,f)l+=f[1];else{var g=e[s],h=n[2],m=n[3],b=n[4],y=n[5],v=n[6],w=n[7];l&&(r.push(l),l="");var k=null!=h&&null!=g&&g!==h,x="+"===v||"*"===v,S="?"===v||"*"===v,E=h||c,_=b||y,C=h||("string"==typeof r[r.length-1]?r[r.length-1]:"");r.push({name:m||o++,prefix:h||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":i(E,C)})}}return s-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function s(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var n=new Array(e.length),a=0;a{!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism)},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],f="string"==typeof c?c:c.content,p=t(r,u),g=f.indexOf(p);if(g>-1){++a;var h=f.substring(0,g),m=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(g+p.length),y=[];h&&y.push.apply(y,i([h])),y.push(m),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},905:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},4793:()=>{Prism.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},Prism.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=Prism.languages.swift}))},6719:(e,t,n)=>{var r={"./prism-kotlin":9913,"./prism-powershell":905,"./prism-swift":4793};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6719},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n