diff --git a/_preview/1/.buildinfo b/_preview/1/.buildinfo new file mode 100644 index 0000000..93bcc42 --- /dev/null +++ b/_preview/1/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 4bae946789b1c5fa2474ebf852fd7055 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_preview/1/README.html b/_preview/1/README.html new file mode 100644 index 0000000..c425562 --- /dev/null +++ b/_preview/1/README.html @@ -0,0 +1,900 @@ + + + + + + + + + + + Great Circle Cookbook — Project Pythia Cookbook Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + +
+ + + + + + + + + + + + + +
+ + +
+ + +
+ +
+ + + + + +
+ + thumbnail +
+

Great Circle Cookbook

+

nightly-build +Binder +DOI

+

This Project Pythia Cookbook covers the mathematics of working with Great Circles

+
+

Motivation

+

A great circle is the largest circle that can be drawn onto a sphere (like the Earth) that is the same diameter of the sphere. Great Circle arcs connect two positions on the curved surface of a planet like Earth and are commonly used for navigation that relies on “as-the crow flies” directions like planes, ships, and satellites

+

+ +

+

Image Source: Wolfram MathWorld

+
+
+

Authors

+

Cora Schneck

+
+

Contributors

+ + + +
+
+
+

Structure

+

This cookbook is broken into two main sections:

+
    +
  • Foundations and Terminology

  • +
  • Working with Great Circles

  • +
+

Where avaiable, this cookbook will demonstrate how to determine the features of a great circle with both existing open-source Python packages and through spherical trigonometry and mathematics

+
+

Foundations and Terminology

+
    +
  • “Great Circle Terminology”: Breakdown of terminology important for working with and understanding great circles including WGS-84

  • +
  • “Coordinate Systems”: Understanding and converted to different types of coordinate systems like Cartesian, Spherical, Polar, and Geodesic (Latitude/Longitude)

  • +
  • “Geodesic and Python”: General overview of powerful open-source Python packages for working with geodesic data like pyproj and geopy

  • +
+

Each section will make use of plotting to visually demonstrate concepts with matplotlib and cartopy

+
+
+

Working with Great Circles

+
    +
  • Generating a great circle arc and path

  • +
  • Midpoint (and additional intermediate points) of a great circle arc

  • +
  • Length of a great circle arc (the distance between two points)

  • +
  • Bearing of a great circle arc

  • +
  • Compare great circle arc to rhumb line

  • +
  • Determine when a great circle path crosses parallels

  • +
  • Determine if a point lies on a great circle arc and path (with and without tolerances)

  • +
  • Determine the distance of a point to a great circle arc with error analysis

  • +
  • Determine the maximum and minimum latitude coordinates along a great circle path

  • +
  • Find the intersection of two great circle arcs (if it exists)

  • +
  • Find the intersection of two great circle paths (always exists)

  • +
  • Calculate the acute and obtuse angle of two great circle paths

  • +
  • Calculate the directed angle of two great circle paths based on an intersection point

  • +
  • Working with Spherical Triangles formed by great circle arcs

  • +
  • Indiana Jones and the Great Circle

  • +
+
+
+
+

Running the Notebooks

+

You can either run the notebook using Binder or on your local machine.

+
+

Running on Binder

+

The simplest way to interact with a Jupyter Notebook is through +Binder, which enables the execution of a +Jupyter Book in the cloud. The details of how this works are not +important for now. All you need to know is how to launch a Pythia +Cookbooks chapter via Binder. Simply navigate your mouse to +the top right corner of the book chapter you are viewing and click +on the rocket ship icon, (see figure below), and be sure to select +“launch Binder”. After a moment you should be presented with a +notebook that you can interact with. I.e. you’ll be able to execute +and even change the example programs. You’ll see that the code cells +have no output at first, until you execute them by pressing +Shift+Enter. Complete details on how to interact with +a live Jupyter notebook are described in Getting Started with +Jupyter.

+
+
+

Running on Your Own Machine

+

If you are interested in running this material locally on your computer, you will need to follow this workflow:

+
    +
  1. Clone the https://github.com/ProjectPythia/great-circle-cookbook repository:

    +
     git clone https://github.com/ProjectPythia/great-circle-cookbook.git
    +
    +
    +
  2. +
  3. Move into the great-circle-cookbook directory

    +
    cd great-circle-cookbook
    +
    +
    +
  4. +
  5. Create and activate your conda environment from the environment.yml file

    +
    conda env create -f environment.yml
    +conda activate cookbook-gc
    +
    +
    +
  6. +
  7. Move into the notebooks directory and start up Jupyterlab

    +
    cd notebooks/
    +jupyter lab
    +
    +
    +
  8. +
+
+
+
+
+
+
+
+ + + + +
+ + + + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ +
+ + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+ + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/_preview/1/_images/7721b4f2aad3a0580769f49fbc8ea7f80b4500481cbd6f1e597fa23cb8c7ad76.png b/_preview/1/_images/7721b4f2aad3a0580769f49fbc8ea7f80b4500481cbd6f1e597fa23cb8c7ad76.png new file mode 100644 index 0000000..3223f15 Binary files /dev/null and b/_preview/1/_images/7721b4f2aad3a0580769f49fbc8ea7f80b4500481cbd6f1e597fa23cb8c7ad76.png differ diff --git a/_preview/1/_images/NSF-NCAR_Lockup-UCAR-Dark_102523.svg b/_preview/1/_images/NSF-NCAR_Lockup-UCAR-Dark_102523.svg new file mode 100644 index 0000000..538f8ec --- /dev/null +++ b/_preview/1/_images/NSF-NCAR_Lockup-UCAR-Dark_102523.svg @@ -0,0 +1 @@ + diff --git a/_preview/1/_images/ProjectPythia_Logo_Final-01-Blue.svg b/_preview/1/_images/ProjectPythia_Logo_Final-01-Blue.svg new file mode 100644 index 0000000..961efc2 --- /dev/null +++ b/_preview/1/_images/ProjectPythia_Logo_Final-01-Blue.svg @@ -0,0 +1 @@ + diff --git a/_preview/1/_images/UAlbany-A2-logo-purple-gold.svg b/_preview/1/_images/UAlbany-A2-logo-purple-gold.svg new file mode 100644 index 0000000..4fdfe3a --- /dev/null +++ b/_preview/1/_images/UAlbany-A2-logo-purple-gold.svg @@ -0,0 +1,1125 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/_preview/1/_images/Unidata_logo_horizontal_1200x300.svg b/_preview/1/_images/Unidata_logo_horizontal_1200x300.svg new file mode 100644 index 0000000..0d9fd70 --- /dev/null +++ b/_preview/1/_images/Unidata_logo_horizontal_1200x300.svg @@ -0,0 +1,891 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/_preview/1/_images/afc4ef818e465ecaf4ed58a1656062c86fe9bd3ede360e0d8f191d7d828ff4d4.png b/_preview/1/_images/afc4ef818e465ecaf4ed58a1656062c86fe9bd3ede360e0d8f191d7d828ff4d4.png new file mode 100644 index 0000000..ba4f289 Binary files /dev/null and b/_preview/1/_images/afc4ef818e465ecaf4ed58a1656062c86fe9bd3ede360e0d8f191d7d828ff4d4.png differ diff --git a/_preview/1/_images/thumbnail.png b/_preview/1/_images/thumbnail.png new file mode 100644 index 0000000..8d49fc2 Binary files /dev/null and b/_preview/1/_images/thumbnail.png differ diff --git a/_preview/1/_sources/README.md b/_preview/1/_sources/README.md new file mode 100644 index 0000000..05355ac --- /dev/null +++ b/_preview/1/_sources/README.md @@ -0,0 +1,108 @@ +thumbnail + +# Great Circle Cookbook + +[![nightly-build](https://github.com/ProjectPythia/cookbook-template/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/ProjectPythia/cookbook-template/actions/workflows/nightly-build.yaml) +[![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/cookbook-template/main?labpath=notebooks) +[![DOI](https://zenodo.org/badge/475509405.svg)](https://zenodo.org/badge/latestdoi/475509405) + +This Project Pythia Cookbook covers the mathematics of working with Great Circles + +## Motivation + +A great circle is the largest circle that can be drawn onto a sphere (like the Earth) that is the same diameter of the sphere. Great Circle arcs connect two positions on the curved surface of a planet like Earth and are commonly used for navigation that relies on "as-the crow flies" directions like planes, ships, and satellites + +

+ +

+ +_Image Source: [Wolfram MathWorld](https://mathworld.wolfram.com/GreatCircle.html)_ + +## Authors + +[Cora Schneck](https://github.com/cyschneck) + +### Contributors + + + + + +## Structure + +This cookbook is broken into two main sections: +- Foundations and Terminology +- Working with Great Circles + +Where avaiable, this cookbook will demonstrate how to determine the features of a great circle with both existing open-source Python packages and through spherical trigonometry and mathematics + +### Foundations and Terminology + +- "Great Circle Terminology": Breakdown of terminology important for working with and understanding great circles including WGS-84 +- "Coordinate Systems": Understanding and converted to different types of coordinate systems like Cartesian, Spherical, Polar, and Geodesic (Latitude/Longitude) +- "Geodesic and Python": General overview of powerful open-source Python packages for working with geodesic data like `pyproj` and `geopy` + +Each section will make use of plotting to visually demonstrate concepts with `matplotlib` and `cartopy` + +### Working with Great Circles +- Generating a great circle arc and path +- Midpoint (and additional intermediate points) of a great circle arc +- Length of a great circle arc (the distance between two points) +- Bearing of a great circle arc +- Compare great circle arc to rhumb line +- Determine when a great circle path crosses parallels +- Determine if a point lies on a great circle arc and path (with and without tolerances) +- Determine the distance of a point to a great circle arc with error analysis +- Determine the maximum and minimum latitude coordinates along a great circle path +- Find the intersection of two great circle arcs (if it exists) +- Find the intersection of two great circle paths (always exists) +- Calculate the acute and obtuse angle of two great circle paths +- Calculate the directed angle of two great circle paths based on an intersection point +- Working with Spherical Triangles formed by great circle arcs +- Indiana Jones and the Great Circle + +## Running the Notebooks + +You can either run the notebook using [Binder](https://binder.projectpythia.org/) or on your local machine. + +### Running on Binder + +The simplest way to interact with a Jupyter Notebook is through +[Binder](https://binder.projectpythia.org/), which enables the execution of a +[Jupyter Book](https://jupyterbook.org) in the cloud. The details of how this works are not +important for now. All you need to know is how to launch a Pythia +Cookbooks chapter via Binder. Simply navigate your mouse to +the top right corner of the book chapter you are viewing and click +on the rocket ship icon, (see figure below), and be sure to select +“launch Binder”. After a moment you should be presented with a +notebook that you can interact with. I.e. you’ll be able to execute +and even change the example programs. You’ll see that the code cells +have no output at first, until you execute them by pressing +{kbd}`Shift`\+{kbd}`Enter`. Complete details on how to interact with +a live Jupyter notebook are described in [Getting Started with +Jupyter](https://foundations.projectpythia.org/foundations/getting-started-jupyter.html). + +### Running on Your Own Machine + +If you are interested in running this material locally on your computer, you will need to follow this workflow: + +1. Clone the `https://github.com/ProjectPythia/great-circle-cookbook` repository: + + ```bash + git clone https://github.com/ProjectPythia/great-circle-cookbook.git + ``` + +1. Move into the `great-circle-cookbook` directory + ```bash + cd great-circle-cookbook + ``` +1. Create and activate your conda environment from the `environment.yml` file + ```bash + conda env create -f environment.yml + conda activate cookbook-gc + ``` +1. Move into the `notebooks` directory and start up Jupyterlab + ```bash + cd notebooks/ + jupyter lab + ``` diff --git a/_preview/1/_sources/notebooks/foundations/coordinates.ipynb b/_preview/1/_sources/notebooks/foundations/coordinates.ipynb new file mode 100644 index 0000000..cd75315 --- /dev/null +++ b/_preview/1/_sources/notebooks/foundations/coordinates.ipynb @@ -0,0 +1,1057 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "\"Great" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Coordinate Types" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "If you have an introductory paragraph, lead with it here! Keep it short and tied to your material, then be sure to continue into the required list of topics below,\n", + "\n", + "1. This is a numbered list of the specific topics\n", + "1. These should map approximately to your main sections of content\n", + "1. Or each second-level, `##`, header in your notebook\n", + "1. Keep the size and scope of your notebook in check\n", + "1. And be sure to let the reader know up front the important concepts they'll be leaving with" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "This section was inspired by [this template](https://github.com/alan-turing-institute/the-turing-way/blob/master/book/templates/chapter-template/chapter-landing-page.md) of the wonderful [The Turing Way](https://the-turing-way.netlify.app) Jupyter Book.\n", + "\n", + "Following your overview, tell your reader what concepts, packages, or other background information they'll **need** before learning your material. Tie this explicitly with links to other pages here in Foundations or to relevant external resources. Remove this body text, then populate the Markdown table, denoted in this cell with `|` vertical brackets, below, and fill out the information following. In this table, lay out prerequisite concepts by explicitly linking to other Foundations material or external resources, or describe generally helpful concepts.\n", + "\n", + "Label the importance of each concept explicitly as **helpful/necessary**.\n", + "\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [Intro to Cartopy](https://foundations.projectpythia.org/core/cartopy/cartopy.html) | Necessary | |\n", + "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", + "| Project management | Helpful | |\n", + "\n", + "- **Time to learn**: estimate in minutes. For a rough idea, use 5 mins per subsection, 10 if longer; add these up for a total. Safer to round up and overestimate.\n", + "- **System requirements**:\n", + " - Populate with any system, version, or non-Python software requirements if necessary\n", + " - Otherwise use the concepts table above and the Imports section below to describe required packages as necessary\n", + " - If no extra requirements, remove the **System requirements** point altogether" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Geodesic Coordinates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cartesian Coordinates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cartesian coordinates describe points in space based on perpendicular axis lines that meet at a singlle point of orign, where any point's position is described based on the distance to the orgin along xyz axis" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Geodesic to Cartesian Coordinates\n", + "Assuming the earth's radius is 6378137 meters\n", + "```\n", + "x = radius * cos(latitude) * cos(longitude)\n", + "y = radius * cos(latitude) * sin(longitude)\n", + "z = radius * sin(latitude)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Spherical Coordinates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Spherical coordinates describe points in space based on three values: radial distance (rho, r) along the radial line between point and the origin, polar angle (theta, θ) between the radial line and the polar axis, and azimuth angle (phi, φ) which is the angle of rotation of the radial line around the polar axis. With a fixed radius, the 3-point coordinates (r, θ, φ) provide a coordiante along a sphere\n", + "\n", + "- Radial distance: distance from center to surface of sphere\n", + "- Polar angle: angle between radial line and polar axis\n", + "- Azimuth angle: angle around polar axis\n", + "\n", + "

\n", + " \"Spherical\n", + "

\n", + "\n", + "Image Source: [Wikipedia - Spherical Coordinate System](https://simple.wikipedia.org/wiki/Spherical_coordinate_system)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Polar Coordinates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Convert Coordinates to All Coordinate Types" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Display Coordinates of Cities" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namelatitudelongitude
0arecibo18.3441-66.7527
1boulder40.0150-105.2705
2boston42.3601-71.0589
3red woods41.4017-124.0417
4houston29.5518-95.0982
5greenwich51.49340.0098
6svalbard77.875020.9752
7mcmurdo-77.5000165.0000
8cairo30.044431.2357
9johannesburg-26.205628.0337
10stonehedge51.1789-1.8262
11machu picchu-13.1632-72.5453
12cape canaveral28.3922-80.6077
13uluru-25.3444131.0369
14tunguska event60.5411101.5435
15hanle32.790879.0002
16reykjavík64.1470-21.9408
17al-qarawiyyin34.0649-4.9734
18zambezi-18.341436.2813
19timbuktu16.7666-3.0026
\n", + "
" + ], + "text/plain": [ + " name latitude longitude\n", + "0 arecibo 18.3441 -66.7527\n", + "1 boulder 40.0150 -105.2705\n", + "2 boston 42.3601 -71.0589\n", + "3 red woods 41.4017 -124.0417\n", + "4 houston 29.5518 -95.0982\n", + "5 greenwich 51.4934 0.0098\n", + "6 svalbard 77.8750 20.9752\n", + "7 mcmurdo -77.5000 165.0000\n", + "8 cairo 30.0444 31.2357\n", + "9 johannesburg -26.2056 28.0337\n", + "10 stonehedge 51.1789 -1.8262\n", + "11 machu picchu -13.1632 -72.5453\n", + "12 cape canaveral 28.3922 -80.6077\n", + "13 uluru -25.3444 131.0369\n", + "14 tunguska event 60.5411 101.5435\n", + "15 hanle 32.7908 79.0002\n", + "16 reykjavík 64.1470 -21.9408\n", + "17 al-qarawiyyin 34.0649 -4.9734\n", + "18 zambezi -18.3414 36.2813\n", + "19 timbuktu 16.7666 -3.0026" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Read in location coordinates\n", + "import pandas as pd\n", + "\n", + "location_df = pd.read_csv(\"../location_coords.txt\")\n", + "location_df = location_df.rename(columns=lambda x: x.strip()) # strip excess white space from column names and values\n", + "location_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add Columns for Additional Coordinate Types" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [], + "source": [ + "def cartesian_coordinates(latitude=None, longitude=None):\n", + " earth_radius = 6378137 # meters\n", + " latitude = np.deg2rad(latitude)\n", + " longitude = np.deg2rad(longitude)\n", + " cart_x = earth_radius * np.cos(latitude) * np.cos(longitude)\n", + " cart_y = earth_radius * np.cos(latitude) * np.sin(longitude)\n", + " cart_z = earth_radius * np.sin(latitude)\n", + " return cart_x, cart_y, cart_z" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "def cartesian_to_spherical_coordinates(cart_x=None, cart_y=None, cart_z=None):\n", + " rho = np.sqrt(cart_x**2 + cart_y**2 + cart_z**2)\n", + " theta = np.arctan(cart_y/cart_x)\n", + " phi = np.arccos(cart_z / rho)\n", + " return rho, theta, phi " + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [], + "source": [ + "def polar_coordinates(latitude=None, longitude=None):\n", + " latitude = np.deg2rad(latitude)\n", + " longitude = np.deg2rad(longitude)\n", + " polar_x = np.cos(latitude) * np.sin(longitude)\n", + " polar_y = np.cos(latitude) * np.cos(longitude)\n", + " polar_z = np.sin(latitude)\n", + " return polar_x, polar_y, polar_z" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namelatitudelongitudecart_xcart_ycart_zrhothetaphipolar_xpolar_ypolar_z
0arecibo18.3441-66.75272.389526e+06-5.562495e+062.007347e+066378137.0-1.1650541.250631-0.8721190.3746430.314723
1boulder40.0150-105.2705-1.286558e+06-4.712394e+064.101066e+066378137.01.3042760.872403-0.738835-0.2017140.642988
2boston42.3601-71.05891.529809e+06-4.457769e+064.297512e+066378137.0-1.2402120.831473-0.6989140.2398520.673788
3red woods41.4017-124.0417-2.678169e+06-3.964322e+064.218080e+066378137.00.9766570.848200-0.621549-0.4198980.661334
4houston29.5518-95.0982-4.930480e+05-5.526456e+063.145762e+066378137.01.4818161.055020-0.866469-0.0773030.493210
5greenwich51.49340.00983.971059e+066.792189e+024.991125e+066378137.00.0001710.6720670.0001060.6226050.782536
6svalbard77.875020.97521.250923e+064.795630e+056.235851e+066378137.00.3660860.2116210.0751890.1961270.977692
7mcmurdo-77.5000165.0000-1.333443e+063.572949e+05-6.226950e+066378137.0-0.2617992.9234260.056019-0.209065-0.976296
8cairo30.044431.23574.720816e+062.863050e+063.193348e+066378137.00.5451661.0464230.4488850.7401560.500671
9johannesburg-26.205628.03375.051141e+062.689551e+06-2.816544e+066378137.00.4892802.0281700.4216830.791946-0.441594
10stonehedge51.1789-1.82623.996364e+06-1.274201e+054.969252e+066378137.0-0.0318730.677556-0.0199780.6265720.779107
11machu picchu-13.1632-72.54531.862866e+06-5.924585e+06-1.452465e+066378137.0-1.2661541.800538-0.9288900.292071-0.227726
12cape canaveral28.3922-80.60779.156669e+05-5.535712e+063.032833e+066378137.0-1.4068701.075259-0.8679200.1435630.475504
13uluru-25.3444131.0369-3.784488e+064.347897e+06-2.730215e+066378137.0-0.8545672.0131400.681688-0.593353-0.428058
14tunguska event60.5411101.5435-6.277033e+053.073315e+065.553499e+066378137.0-1.3693240.5141550.481852-0.0984150.870709
15hanle32.790879.00021.023062e+065.263296e+063.454228e+066378137.01.3788140.9984890.8252090.1604010.541573
16reykjavík64.1470-21.94082.579828e+06-1.039219e+065.739786e+066378137.0-0.3829390.451220-0.1629350.4044800.899916
17al-qarawiyyin34.0649-4.97345.263779e+06-4.580586e+053.572596e+066378137.0-0.0868020.976252-0.0718170.8252850.560132
18zambezi-18.341436.28134.880354e+063.582524e+06-2.007062e+066378137.00.6332281.8909140.5616880.765169-0.314678
19timbuktu16.7666-3.00266.098605e+06-3.198918e+051.839925e+066378137.0-0.0524051.278164-0.0501540.9561730.288474
\n", + "
" + ], + "text/plain": [ + " name latitude longitude cart_x cart_y \\\n", + "0 arecibo 18.3441 -66.7527 2.389526e+06 -5.562495e+06 \n", + "1 boulder 40.0150 -105.2705 -1.286558e+06 -4.712394e+06 \n", + "2 boston 42.3601 -71.0589 1.529809e+06 -4.457769e+06 \n", + "3 red woods 41.4017 -124.0417 -2.678169e+06 -3.964322e+06 \n", + "4 houston 29.5518 -95.0982 -4.930480e+05 -5.526456e+06 \n", + "5 greenwich 51.4934 0.0098 3.971059e+06 6.792189e+02 \n", + "6 svalbard 77.8750 20.9752 1.250923e+06 4.795630e+05 \n", + "7 mcmurdo -77.5000 165.0000 -1.333443e+06 3.572949e+05 \n", + "8 cairo 30.0444 31.2357 4.720816e+06 2.863050e+06 \n", + "9 johannesburg -26.2056 28.0337 5.051141e+06 2.689551e+06 \n", + "10 stonehedge 51.1789 -1.8262 3.996364e+06 -1.274201e+05 \n", + "11 machu picchu -13.1632 -72.5453 1.862866e+06 -5.924585e+06 \n", + "12 cape canaveral 28.3922 -80.6077 9.156669e+05 -5.535712e+06 \n", + "13 uluru -25.3444 131.0369 -3.784488e+06 4.347897e+06 \n", + "14 tunguska event 60.5411 101.5435 -6.277033e+05 3.073315e+06 \n", + "15 hanle 32.7908 79.0002 1.023062e+06 5.263296e+06 \n", + "16 reykjavík 64.1470 -21.9408 2.579828e+06 -1.039219e+06 \n", + "17 al-qarawiyyin 34.0649 -4.9734 5.263779e+06 -4.580586e+05 \n", + "18 zambezi -18.3414 36.2813 4.880354e+06 3.582524e+06 \n", + "19 timbuktu 16.7666 -3.0026 6.098605e+06 -3.198918e+05 \n", + "\n", + " cart_z rho theta phi polar_x polar_y polar_z \n", + "0 2.007347e+06 6378137.0 -1.165054 1.250631 -0.872119 0.374643 0.314723 \n", + "1 4.101066e+06 6378137.0 1.304276 0.872403 -0.738835 -0.201714 0.642988 \n", + "2 4.297512e+06 6378137.0 -1.240212 0.831473 -0.698914 0.239852 0.673788 \n", + "3 4.218080e+06 6378137.0 0.976657 0.848200 -0.621549 -0.419898 0.661334 \n", + "4 3.145762e+06 6378137.0 1.481816 1.055020 -0.866469 -0.077303 0.493210 \n", + "5 4.991125e+06 6378137.0 0.000171 0.672067 0.000106 0.622605 0.782536 \n", + "6 6.235851e+06 6378137.0 0.366086 0.211621 0.075189 0.196127 0.977692 \n", + "7 -6.226950e+06 6378137.0 -0.261799 2.923426 0.056019 -0.209065 -0.976296 \n", + "8 3.193348e+06 6378137.0 0.545166 1.046423 0.448885 0.740156 0.500671 \n", + "9 -2.816544e+06 6378137.0 0.489280 2.028170 0.421683 0.791946 -0.441594 \n", + "10 4.969252e+06 6378137.0 -0.031873 0.677556 -0.019978 0.626572 0.779107 \n", + "11 -1.452465e+06 6378137.0 -1.266154 1.800538 -0.928890 0.292071 -0.227726 \n", + "12 3.032833e+06 6378137.0 -1.406870 1.075259 -0.867920 0.143563 0.475504 \n", + "13 -2.730215e+06 6378137.0 -0.854567 2.013140 0.681688 -0.593353 -0.428058 \n", + "14 5.553499e+06 6378137.0 -1.369324 0.514155 0.481852 -0.098415 0.870709 \n", + "15 3.454228e+06 6378137.0 1.378814 0.998489 0.825209 0.160401 0.541573 \n", + "16 5.739786e+06 6378137.0 -0.382939 0.451220 -0.162935 0.404480 0.899916 \n", + "17 3.572596e+06 6378137.0 -0.086802 0.976252 -0.071817 0.825285 0.560132 \n", + "18 -2.007062e+06 6378137.0 0.633228 1.890914 0.561688 0.765169 -0.314678 \n", + "19 1.839925e+06 6378137.0 -0.052405 1.278164 -0.050154 0.956173 0.288474 " + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "location_df[\"cart_x\"], location_df[\"cart_y\"], location_df[\"cart_z\"] = cartesian_coordinates(location_df[\"latitude\"],\n", + " location_df[\"longitude\"])\n", + "location_df[\"rho\"], location_df[\"theta\"], location_df[\"phi\"] = cartesian_to_spherical_coordinates(location_df[\"cart_x\"],\n", + " location_df[\"cart_y\"],\n", + " location_df[\"cart_z\"])\n", + "location_df[\"polar_x\"], location_df[\"polar_y\"], location_df[\"polar_z\"] = polar_coordinates(location_df[\"latitude\"],\n", + " location_df[\"longitude\"])\n", + "\n", + "location_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot Points on Map" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "from cartopy import crs as ccrs, feature as cfeature" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7lyee+45atWqxezZs1m7di0bNmygY8eONzxowLWUjSq6fft2bSTR1q1b065dO+Li4oiJiSE8PJywsLCr1vV6GBsb37Y632lPP/00M2fOZPjw4fz999+sX7+etWvXAtzWc38tVztf6orBFKZNm8axY8d4//33KSgo4LXXXqNRo0ZcvHjxrtRRCCGEELeXBMmEEEIIUU5Zy7AdO3awc+dObeRKgODgYMzNzdm6dSt79+4t95qvry8Gg4GzZ8+W215SUhKZmZn4+vreVH18fX0rbBPQuifeqAEDBpCYmMiZM2eu2tUSYPHixQQEBPD333/z7LPP0rVrVzp37kxhYWGly1dWxzNnzmgjUF5LWdfK8PBwmjZtiq2tLUFBQdjb27N27VoOHTpE+/btr7mN6w1O3gllf9t//02Ki4uJiorSXq9VqxbANUf9zMjIYNOmTbz77rtMmDCBPn360KVLlwrBWLixY/b19a30PVM22unNvj8DAwMZO3Ys27dvJzw8nPj4eH788ceb2pYQQgghqpYEyYQQQghRTosWLbCwsGDevHnEx8eXa0lmbm5O8+bNmT59Onl5eeXyO3Xv3h2Ar7/+utz2vvzyS4BKR5C8Ht27d2fPnj3s27dPm5eSksK8efNuanu1atXi66+/ZurUqeXynP1bWUuiK1sO7d27l927d1e6/LJly4iPj9ee79u3j71799KtW7f/rFO7du2Ijo5m4cKFWvdLIyMjwsLC+PLLLykpKfnPfGRWVlYAZGZm/uf+brfOnTtjZmbGt99+W+58zZ49m6ysLO1v37x5c/z9/fn6668r1LNsvcrOO1R8XwFYW1sD13fM3bt3Z9++feX+fnl5efz888/4+fnRsGHD/9zGlbKzsyktLS03LzAwECMjI4qKim5oW0IIIYS4N5hUdQWEEEIIcW8xMzMjJCSE8PBwzM3NCQ4OLvd6WFgY06ZNAygXJAsKCmLIkCH8/PPPZGZm8tBDD7Fv3z7mzJlD79696dChw03V5+233+aPP/7g0UcfZdSoUVhbW/Pzzz/j6+vLsWPHbmqbo0aN+s9lHnvsMf7++2/69OlDjx49iIqK4scff6Rhw4bk5uZWWL527dq0bduWl19+maKiIr7++mucnZ15++23/3NfZQGwyMhIpkyZos1v3749a9aswdzcnJCQkGtuw9LSkoYNG7Jw4ULq1q2L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843KyclRY8aMUcbGxsrV1VV5enoqExMT7YKyZs2a6tNPP1VpaWn/WZ9XXnlF+fr63vUAS0FBgdqzZ4+6dOnSLe27sLBQLV++XPXr109ZWVkpZ2dnlZ+fr/R6vbp48aLauXOnmj9/vpo2bdoDd5EdFhamADVy5EiVnp6uIiIi1NKlS9X333+vTp48WdXVqzau9p2dlJSkfv75Z1WnTh0FqIcffvi6PyeEEPeG2bNnK0CtWrXqum/e/f333wpQR48evcO1u3EFBQVq+vTpqmbNmkqn06lnn332un535OfnqyeffFLpdDr15ZdfqoKCAvXHH3+ojh07KkBZW1uroUOHqm3btqn4+HhlYmKivL29FaCefPJJ9ddff/1nC7wyBoNBHT58WI0fP141a9ZMAeqRRx651UMXolI//PCDMjc3V35+fmrNmjXXXPbkyZPKyclJAcrc3Fx16dJFTZs2TZ04cUKVlJSoyMhItXz5cvXJJ5+o5557TrVp00b16tVLvfPOO+rXX39Ve/bsUZmZmUqpy9cI06ZNU7169VJDhgxRb7/9tnr77bcVoFq3bq2KioruxuFXUFRUpD744ANlZGSkWrZsqX755ReVmJhYJXWpzvbv31/1QbL4+HgFqF27dpWbP2bMGBUaGnrV9b755htlamqq/TgdPnz4Nfczbty4Sps6urm5KTc3N6XT6RSgLCwsVJMmTdTrr79epcGCe0FpaalatmyZGjNmjHr99dfV66+/rt577z31xRdfqIULF95QFzFx+5SWlqojR46o6dOnq4EDByo/P79yd/xmzpxZbnmDwaCio6PV8uXL1ccff6z69u2r7OzsVN++fZVSSkVGRmrd7K4M9HTq1En1799fPfzww8rR0VF77a+//rqjx1dYWKgmTpyozpw585/LGgwGFRwcfFMXcAaDQe3fv189/vjjWuuysmMeOHCgdle27O7r0KFD1dy5c1XNmjWVhYWFmjRpknZHW6/Xq4SEBLV161b13HPPKTMzM2VlZaXef//9a94Z27BhgwLUpEmT1IwZM9SPP/6ofvrpp/8MDt6LIiIiFKC8vLyUqalpufeTmZmZMjc3V+PGjVMFBQVVXdVbZjAY1OTJk8u9R67s3ld2kTVz5kztgkzcfhcvXlRmZmaqd+/eavfu3ZUuU1paqhYvXqxatGihALVhw4a7XEshLissLFTn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fXR1db1rxzA2NoaxsTFkMtktP666uhpZWVnIyspCeXk5nJ2dxVDMxsaGXSaJiIiIiIiI6J7EkIxaxcrKCiEhIQgJCenoUoiIiIiIiIiI2oz+v29CRERERERERER0f2NIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPElHF9AaSqWyo0sgIiIiIiIiIqIOdLfyoXsiJDM0NAQAyOXyDq6EiIiIiIiIiIg6g2t5UVu5J0IyY2NjAIBCoYClpWUHV0NERERERERERB1FqVRCLpeLeVFbuSdCsmssLS0ZkhERERERERERUZvjwP1ERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc5jSEZERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ677ZCstWrV8PT0xPGxsYICwvD2bNn/3H7X3/9Ff7+/jA2NkZQUBD2799/W8USERERERERERHdDa0OyX7++We88cYbWLRoEeLj49GjRw+MHDkSJSUlN9w+OjoaTz31FGbOnIkLFy5g3LhxGDduHBITE++4eCIiIiIiIiIioragJwiC0JoHhIWFITQ0FKtWrQIAaLVayOVyvPrqq5g/f/5120+cOBF1dXXYu3evuC48PBwhISFYu3btLR1TqVTCysoK1dXVsLS0bE25RERERERERER0H7lbOZGkNRurVCrExcVhwYIF4jp9fX0MGzYMMTExN3xMTEwM3njjjRbrRo4ciZ07d970OE1NTWhqahL/XV1dDeDPJ4GIiIiIiIiIiHTXtXyole2+/lWrQrKysjJoNBo4Ojq2WO/o6IgrV67c8DFFRUU33L6oqOimx/n000/xwQcfXLdeLpe3plwiIiIiIiIiIrpPlZeXw8rKqs3216qQrL0sWLCgReuzqqoqeHh4IDc3t01PnojunFKphFwuh0KhYHdook6I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ijB//nxx+9OnTwsSiURYvny5kJKSIixatEiQSqVCQkJCR50C0X2rtdfnZ599JhgaGgrbtm0TCgsLxaWmpqajToHovtbaa/Tvpk2bJowdO7adqiXSLa29PnNzcwULCwvhlVdeEVJTU4W9e/cKDg4Owscff9xRp0B0X2vtNbpo0SLBwsJC2LJli5CZmSkcOnRI8Pb2FiZMmNBRp0B036qpqREuXLggXLhwQQAgfPnll8KFCxeEnJwcQRAEYf78+cKUKVPE7TMzMwVTU1Ph7bffFlJSUoTVq1cLBgYGwoEDB1p13A7vbgkAEydORGlpKd5//30UFRUhJCQEBw4cEAddy83NbZHY9+vXD5s3b8bChQvxzjvvwNfXFzt37kRgYGBHnQLRfau11+eaNWugUqnw+OOPt9jPokWLsHjx4vYsnUgntPYaJaL209rrUy6X4+DBg5gzZw6Cg4Ph6uqK1157DfPmzeuoUyC6r7X2Gl24cCH09PSwcOFC5Ofnw97eHg8//DA++eSTjjoFovvW+fPnERkZKf77jTfeAABMmzYNGzZsQGFhIXJzc8X7u3Tpgn379mHOnDlYsWIF3Nzc8O2332LkyJGtOq6eILBdKBERERERERER6TZ+tUxERERERERERDqPIRkREREREREREek8hmRERERERERERKTzGJIREREREREREZHOY0hGREREREREREQ6jyEZERERERERERHpPIZkRERERERERESk8xiSERERERERERGRzmNIRkREREREREREOo8hGRERERERERER6TyGZEREREREREREpPMYkhERERERERERkc77f4i4SuMpgh0ZAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set up world map plot\n", + "fig = plt.subplots(figsize=(15, 10))\n", + "projection_map = ccrs.PlateCarree()\n", + "ax = plt.axes(projection=projection_map)\n", + "lon_west, lon_east, lat_south, lat_north = -180, 180, -90, 90\n", + "ax.set_extent([lon_west, lon_east, lat_south, lat_north], crs=projection_map)\n", + "ax.coastlines(color=\"black\")\n", + "ax.add_feature(cfeature.BORDERS, edgecolor='grey')\n", + "ax.add_feature(cfeature.STATES, edgecolor=\"grey\")\n", + " \n", + "# Plot Latitude/Longitude Location\n", + "longitudes = location_df[\"longitude\"] # longitude\n", + "latitudes = location_df[\"latitude\"] # latitude\n", + "plt.scatter(longitudes, latitudes, c=\"red\")\n", + "\n", + "plt.title(\"World Map with Locations\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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xN/fn+3bt9O2bVvgdoFIrVZz7NgxkpOTMRqNOJ1Odu/eTd++fe96nHLlyvHFF1/w+eef07dvXxo0aABA3bp1XfskJCTw4osv0r59ezp16sTvv//OoEGDqFSpEi+99NIDH78H6dOnD3PnzqVjx458/PHH7Nu3j/Hjx/P333+zfPly134///wzvXv3pkKFCgwePBh/f3+OHDnC2rVrXcXKJUuWYDKZePfdd8mXLx/79+/nm2++ISoqiiVLlgDwn//8h+vXr7NhwwbmzZv3wHynTp2iQYMGGI1GPv30Uzw8PPjhhx9o3Lgx27Zty1SABHj//fcJCAhgxIgRREZGMm3aNPr168fixYuB26MtW7RoQXBwMJ999hn+/v5ERkaybNmyJ34shRBCiDxLyQGSkpIUQElKSnJ3FCGEEOKpGTFihAIosbGxd729QoUKSqNGjVxfb9myRQGUcuXKKRaLxbX9f//7nwIoJ06ccG3r2bOnUqxYMdfXsbGxCqCMGDHijvM0a9ZMqVSpkmI2m13bnE6nUrduXaVUqVKubR999JECKPv27XNti4mJUfz8/BRAuXTp0n2vd9asWQqg6HQ6pUmTJsrw4cOVHTt2KA6HI9N+98tqMpnu2LZw4UIFULZv3+7aNmnSpLtmioyMVDQajTJ27NhM20+cOKFotVrX9iNHjiiAsmTJkvte09307NlTMRgMiqIoSseOHZVmzZopiqIoDodDCQkJUUaNGqVcunRJAZRJkya57mc2m+94LC5duqR4enoqX3zxhWtbxvOgcOHCSnJysmv7b7/9pgDK//73v/vma926tVKzZk3X1+3bt1fat2+vaDQaZc2aNYqiKMrhw4cVQFm5cqVrv0aNGmV6Ph44cEABlDlz5txxjkaNGimA8ssvv7i2WSwWJSQkROnQocN98ymKohQrVkxp3br1PW8/evSoAih9+vTJtH3gwIEKoGzevFlRFEVJTExUfH19lVq1ainp6emZ9nU6na5/3+15NX78eEWlUimXL192bXvvvfeUe72c/vdztl27dopOp1MiIiJc265fv674+voqDRs2dG2bM2eOAijNmzfPlKl///6KRqNREhMTFUVRlOXLlyuAcuDAgXs+LkIIIURu9bTqRDLdUgghhMjhevXqlWnKYsYonosXLz7yseLj49m8eTOdOnUiJSWFW7ducevWLeLi4mjZ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CxfSokUL2rRpkyXn8vLyonz58ixevJjSpUsTGBhIxYoVqVixItOnT6d+/fpUqlSJt99+m+LFixMdHc2ePXuIiori2LFjAHz66afMmzePF198kQ8//BCDwcDMmTMpVqwYx48ff2CGV155hfDwcNq0aUOJEiVIS0tj48aNrFq1iho1ariu9X5ZGzZsyMSJE7HZbBQuXJj169dz6dKlO85VrVo1AIYOHUqXLl3w8PBwnXfMmDEMHjyYyMhI2rVrh6+vL5cuXWL58uX07duXgQMHsnnzZvr168drr71G6dKlsdvtzJs3D41GQ4cOHR7psVer1QwbNuyB+7388st88cUX9OrVi7p163LixAnmz5+fqfH7PwUGBlK/fn169epFdHQ006ZNo2TJkrz99tsPPFeDBg0YO3YsV69ezVQMa9iwIT/88ANhYWEPnFJaokQJ/P39mTFjBr6+vhgMBmrVquXqEfekLly4cNcRe1WrVqV169b07NmTmTNnkpiYSKNGjdi/fz9z586lXbt2NGnSBACj0cjUqVPp06cPNWrUoGvXrgQEBHDs2DFMJhNz586lbNmylChRgoEDB3Lt2jWMRiNLly69a++0jOfVBx98QMuWLdFoNPccHThmzBg2bNhA/fr1+e9//4tWq+WHH37AYrEwceLER3485s6dy3fffcerr75KiRIlSElJ4ccff8RoNLqKhkIIIYR4RFm6VuZT8rSW9hRCCCGyo19//VWpXbu2YjAYFE9PT6Vs2bLKqFGjFLPZnGm/LVu2KICyZMmSTNsvXbqkAMqcOXNc23r27KkUK1Ys0367d+9WqlWrpuh0OgVQRowY4botIiJC6dGjhxISEqJ4eHgohQsXVl5++WXl999/z3SM48ePK40aNVL0er1SuHBhZfTo0cqsWbMUQLl06dJ9r3PhwoVKly5dlBIlSiheXl6KXq9XypcvrwwdOlRJTk5+qKxRUVHKq6++qvj7+yt+fn7Ka6+9ply/fv2O61EURRk9erRSuHBhRa1W35Fv6dKlSv369RWDwaAYDAalbNmyynvvvaecPXtWURRFuXjxotK7d2+lRIkSil6vVwIDA5UmTZooGzduvO81Zjz2BoPhvvtk/J9NmjTJtc1sNisff/yxUrBgQcXLy0upV6+esmfPHqVRo0ZKo0aNXPtlPA8WLlyoDB48WMmfP7/i5eWltG7dWrl8+fID8ymKoiQnJysajUbx9fVV7Ha7a/uvv/6qAEr37t3vuM+/cyiKoqxcuVIpX768otVqMz0HGzVqpFSoUOGOY9zteXk3xYoVU4C7/nnrrbcURVEUm82mjBo1SgkPD1c8PDyU0NBQZfDgwXd83yiKovzxxx9K3bp1FS8vL8VoNCo1a9ZUFi5c6Lr99OnTSvPmzRUfHx8lKChIefvtt5Vjx47d8X1lt9uV999/XwkODlZUKpXyz5fWd3sOHj58WGnZsqXi4+OjeHt7K02aNFF2796daZ85c+YogHLgwIFM2zP+n7ds2eI61uuvv64ULVpU8fT0VPLnz6+8/PLLysGDBx/4eAohhBA53dOqE6kUJQu7pT4lycnJ+Pn5kZSU9MhD0YUQQgghcrOtW7fSpEkTlixZQseOHd0dRwghhBDiqXtadSLpSSaEEEIIIYQQQggh8jwpkgkhhBBCCCGEEEKIPE+KZEIIIYQQQgghhBAiz5PVLYUQQgghcrDGjRuTA1rMCiGEEEJkezKSTAghhBBCCCGEEELkeVIkE0IIIYQQQgghhBB5Xo6abpmcnOzuCEIIIYQQQgghhBDCjZ5WfShHFMnMZjNGo5HQ0FB3RxFCCCGEEEIIIYQQ2UBGvSir5IgimdVqJTk5matXr2bpxQvxJL788kuKFi1K165d3R1FCJeJEycSFBRE79693R1FZBPjx4+nYsWKtGnTxt1RRBY7ePAgGzZsoGrVqrz44ovujiOEeEIRERGsWbOGlJQUSpQoQYcOHdBoNO6OdV8jR47EYrEwfvx4d0cRjyEtLY2zZ88SHR1NYmKia7vZbCY9PR2z2YzFYsFms2Gz2XA4HDidTtRqNb6+viQnJzN48GB5j/4AixYt4tKlS4SEhNCrVy/XdqvVys6dO9m3bx8AJUuW5LXXXrvrMQYPHoxer2fEiBHPJHNOkJycTGhoKFarNUuPmyOKZBmMRqN8A4psQ6/X4+XlJc9Jka3I81L8m16vx9vbW54TuVBgYCB6vR4PDw/5/xUih5s1axaXLl3Cw8MDvV7PtWvX+OOPP+jZs6e7o92Xoij4+vricDgICAhwdxzxiIxGIwULFnzk+zmdTmbPns2lS5eYMmUKkydPRq2WducZnE4nmzdv5vDhw6SmppKWlobRaCRfvnwYDIZMxe9z586h1+sJCQnhtddeu+fvc51Oh0ql4quvvuK5556jQ4cOz+py8hx5JgshhBBC5EA6nQ4Am83m5iRCiCdx4MABoqKi8PDwQFEU4PYIn7Zt27o52f2tWbMGtVqNh4cHaWlp7o4jniG1Wk2fPn0ICwvDz8+P9evXuztStjJs2DB27dpFSkoK6enprsJXREQEY8aMcY0ci4+PJz09napVq/Kf//znngWyWbNm4e/vj6+vL3a7nePHjzN9+vRndj15TY4aSSaEEEIIIW7z9PQEpEgmRE7ldDqZO3cuV65cASAxMRE/Pz9eeOEF6tat6+Z0mUVFRXHmzBnS09MpUaIEy5Ytc029q169OkWKFHF3ROEGvXv35tNPP2Xjxo0y7f//27lzp+tDrKFDh6LX60lOTmbx4sVcvHgRvV6Pj48PANHR0QAPHM134cIF9Ho9JUqUoGPHjgwZMoT09HTX1FeRtaRIJoQQQgiRA2W8CLfb7W5OIoR4HJ9//jkeHh4AJCQkMG3aNPcGuocbN27w3XffuQrzBw4ccE0Xe+eddyhTpow74wk30mg0KIqC0+l0d5RsY926ddhsNkaOHIlerwduT2t9++2379g3Li4OgODg4PseM6MPWcbxGjRowPHjxxk9ejTDhw+XQlkWk0dTCCGEECIHynjDKkUyIXImk8nk+nv48OFuTnNvqampeHp64nA4ePHFF10FerjdkPyHH35wYzrhTr/88gu+vr4PLPLkJb6+vnh6erJu3boH7puQkABA/vz577ufXq93FcgAXn31Vde/P/nkE+Lj4x8zrbgbGUkmxBNQqVTujiCEECKPkumWQuRsX3zxBVarlcDAQHdHuafo6Gi+++47/P39qVWrlutPREQE33zzDQEBAVy/ft3dMYUbxMXF8ffff2M2m5k4caK742Qb77//PoMHD2bfvn0cOXKEypUr06xZs7v2G0tJSQH+78Ou2NhYTpw4QUREBCkpKYSEhNClS5e7jhQbMWIEP/zwA1arlXHjxtG2bVsaNmz4dC8uj5AimRBCCCFEDpRRJHM4HG5OIoR4HBl9ibIrm83GxIkT8ff3p1ixYrRu3dp1W4kSJbLt9FDxbMybNw8PDw969OjhmjYsYPv27ajVatfv6OPHj3P8+HFSUlLo3LkzNWrUcO1bq1Ytzp8/z7Rp01CpVHdMW01JSSEyMpLixYvfcR6n00mFChX4+++/CQgIYPfu3VIkyyJSJBNCCCGEyIEyPoHOeCEuhBBZSaPRuN60x8bGujmNyG6uXbuG3W6nXLly7o6SrezYsQM/Pz+SkpLw8vLC4XDg5eWFr68vq1evZsGCBUyePBmNRkOJEiXo3LkzW7duxel0EhYWRlhYGCtXrsRqtRIUFEShQoXuOMfu3btZs2YNWq0WT09PChUqxFtvveWGq82dpEgmhBBCCJEDZfQgye6jUYQQOZNarebtt99myZIlrlX4hMigKAo6nY5PPvkElUrl+pM/f3769euXqXddXhEZGUlaWhr+/v6oVCpGjx6NWq1mz549LF26FF9fX/z9/YmMjKREiRIAlC1blrJly7qOsWTJEqxWK23atOH555+/63k8PDzQarWuf58+fZojR46watUqzGYz+fLl4/3338/Ux0w8PCmSCSGEEELkQBkNf+/W50QIIZ7EuXPnWLBgASaTCbVaTcuWLd0dSWQzPXr0YM6cOZm2qVQqUlJSGDp0KJMmTXJTMvf55ptv8Pf3B2438E9JScHPz486depQp04d12qW+fLlu+cxkpOTUavV9yyQAdSoUYOQkBB27tzJ33//jb+/P3/++Sc2mw2r1UpqairDhg1j4sSJsvLlY5AimRBCCCFEDhQREQFw16kYQgjxOG7cuMH//vc/dDqdq9/h66+/TuXKld2cTGQ3zz33HFOnTs207csvv8RisRAQEOCmVM+ezWZjyJAh2Gw2AgIC8Pb2pl+/fly5cgU/P79M+96vOJZBUZSHOm9oaCivv/468fHxfPHFF6jVavr160fx4sX54YcfuHnzJiNGjGD06NGPdV15mRTJhBBCCCFyoJMnT2K323nuuefcHUUIkQvs3LmTFStWoNPp8PT0pG/fvgQHB7s7lsgh5syZg8ViwWaz8dxzzzF9+nTXgg8qlcrd8Z4ai8WCt7c3arWaxMREBg4ciJeXF2XKlHms4/n6+nLt2jVSU1Mfqp1CYGDgHYto9OnTh4EDB+Lv709ERIRraqd4OFIkE0IIIYTIQa5cucL69evRaDQAMpVCCPHEtm7dyrp163A4HHTt2pWKFSu6O5LIYW7dugXcbgFw/Phx1zaj0ZirV1308fHBw8MDh8OBoiiMGTOG8PBwXnrpJUJDQx/5eHXq1OHMmTPMmjWLTp06UbBgwXvum5ycjEajQaPRcPnyZU6dOsXx48dJSkrC39+fpKQk9uzZw99//02tWrWk6P2QpEgmhBBCCJGDZPSA8fDwQK/Xk5aWhsFgcHMqIUROtXHjRjZu3IjFYmHw4MHkz5/f3ZFEDlSuXDkOHTpEXFwc3t7eFClShKioKJYtW5ari2TXr19Hp9Nx/fp1jEYjGo2GGzduMHv2bEJDQ+ndu/c97xsREcGff/6J1Wp1NfXPnz8/BQsW5MaNG8ycOZPg4GD++9//Zrrf1q1b2bZt212PqVKpXH3R/Pz8XK0ZDh06RM2aNXnppZey5sJzMSmSCSGEEELkIFWrVmX37t1YrVZ8fHwYOXJknmyQLIR4Mg6HgwkTJmA2m7FYLHz66adSIBMP5fjx45QoUSLTBzQbN25EpVIRFBSE3W7n9OnTGI3GXLvK5bp169i8eTPe3t4AmfqwpaenA1C+fPl73t/pdLJgwQIURcHLy4tbt24RHR3N2bNnM+0XGxuLyWRynQfu3YvUYrGQnp6OXq+ncOHCPPfccxw+fJikpCQAGSH6kKRIJoQQQgiRg7Rt25a2bdsCMHnyZNRqNUeOHKFq1apuTiaEyCkiIiL45ptvCAgIwOl0Mm7cOLy8vNwdS+QAY8aMweFwkJSUxODBgwkODubvv/8mICCA4OBgIiIiMBqNaLVaEhISqFu3LsuWLcPX15fg4GAsFgtxcXEkJiaSkpJCwYIFadasWY4aET1jxgyio6NxOBzY7XbMZjP//e9/iY2NpWDBgg81zdLpdOJ0OoHbbRMCAwMxGAx4eHi4tqlUKqpUqZKpQAZQunRpRowY8VBZGzZsyBdffIGiKOzdu/expoDmNVIkE0IIIYTIofr27cuYMWNYvHgxv/76Kx4eHvTv358CBQq4O5oQIptKSkriu+++Q6fTUaFCBTp27OjuSCIHSE9P57fffiMlJQWr1YqXlxdffvklnTt3ZsGCBej1esqWLcv169dJSkrCz88Pb29v/v777/se9+bNm+zZsweA7t2733f0lbs5nU4OHTpEdHQ0ADqdLtPqkeHh4Q99LK1WS6tWrdi7dy9ms5mEhARiY2Pv2C8iIoIqVarQqlWrO7JcuXKF8+fPc/XqVVJTU/H396datWpUqFAh074JCQn4+/tz6NAhdu/ejVarxcfHh+HDh0tf07uQIpkQQgghRA5lNBrp2rUrS5YsAW73IpkwYQI9e/akcuXKd72PzWYjMTGRxMREkpOTcTqdFCtWjKCgIHmxLEQe8OOPP2IwGGjTpg01atRwdxyRTZnNZr7++mtiY2Ox2Wx4eXmh1+uxWq288847bNy4kVu3brFmzRoCAgKwWq1s374du92OWq2mQIEClChRwvW7JTExkVu3buHp6UlgYCBBQUHky5ePkydPsnHjRmw2G4sWLcLDw4MhQ4a4Fqdxh6tXr/Lrr7+Snp7Oc889R/v27VGr1Xz88ceufl/wf9MqH1eNGjXu+B5MTk7mypUrXL9+nZiYGK5fv86BAwfw8fHBy8uLv//+m5s3b2Y6t0qlco3cu3TpEqtXr6ZHjx6uD8z8/f0xm82YzWa0Wq1rtdERI0ZkKvKJ26RIJoQQQgiRg1WpUoUqVaoAcPDgQRYtWsTChQtZvHgxJUuWpGPHjtjtdr788kvUavU9p1TZbDbMZjN2ux2VSoVKpcLpdKLValEUhVq1atGpU6dneGVCiKchKioKlUolBTJxX2fPniU9PR0fHx8ArFYrRYoUcY0+MhgMfP31165pkmazmeDgYHr37o3RaHzo8zRq1IhGjRoRFxfHtGnTcDgcjB07ls8///ypXNf9WK1Wxo0bh81mQ6VSYbPZOHXqFDt37qRv376oVCrS0tJ49913KViwIHq9PsszGI1GKlas6OofZjabmTJlClu2bHHt4+3tTXh4OEWLFqVMmTJ4enpy/fp1rl+/zuHDhzGZTMydO5dPP/0U4K5TM7/88ksAfvrpJ/r06ZPl15GTSZFMCCGEECKXqF69OiEhIUybNg24/Wn41KlTSU5ORq/Xo1arCQgIwMvLC29vb9ebn9jYWOLj41GpVKSnp+NwOHA6najVajw8PLBYLJw+fZrNmzfTtGlTN16hEOJJeXh4SP8x8UCVKlVi9+7dXLt2jbS0NLy9vYmKimLw4MHY7XZ8fX0xGAwkJCRQtWpV3njjjSca/ZUvXz5Gjx7NkCFDUBSF1NRU1++oZ2Xo0KF4eXmhUql45513KFSoEL/99huHDh3i559/xtvbGw8PD5YsWeIqQD1ter2eTz/9lKNHj6LX6/Hz82Pz5s1ER0dz5cqVu65yqdFoKFmy5H2P+9lnn9G/f39SU1Nllex/kSKZEEIIIUQuUqRIESZPngzAgAED8Pb2xmg0Urhw4cf+tNhqtTJy5Eh27dolRTIhcjiHw0FycjJbt26lVq1aUjATd6VWq3n33XddX6emprJixQouXLiA2WwmX758tGzZktKlS2fpedu1a8eaNWtYvHgxb731VpYe+35+/vlnfHx8CAoK4r333nNt79KlC7Vq1eLrr79GrVaTlpaG0+lk27ZtNGrU6Jlk02q1VK9enatXrzJ79mzg9miy4OBgjEYjgYGBBAcHU7BgQQoUKPDA1glxcXGuUYA2m42kpCQpkv2DFMmEEEIIIXIhh8Ph+tQ7MTHxoVfCuhudTofJZHri/itCCPdr2rQpe/bsYdu2bWzYsAG1Wk2/fv1kwQ9xXz4+PrzxxhtP/Tw1a9ZkwYIFWK1WJkyYwKBBg576OS9dusTJkydxOBwMHz78jtvDw8P59NNP+eqrr1CpVFgsFjZv3vzMimQZLl++DEBwcLCrwFWjRo0HjhqD268JDh48yLZt24iLi0On06FSqfj444/Jnz//046eo0iRTAghhBAiFzp16pRrKfmCBQs+8fGCgoIwm83ExcWRL1++Jz6eEMI9Xn75ZerVq8eePXvYvXs3iqIwdepU/Pz8eP/995/5FDch/u3TTz9l6tSpmM1mTp48SWJiIqdPnyY8PJwXXnjhiY+fnJzMsWPHOHPmDBcvXkSj0eDh4UGXLl3uOQqrYMGCeHh4oNfrcTqd+Pn5PXGOR1W7dm327NlDbGwst27dQlEUFixYwMCBA/H29r7rfQ4dOsTy5ctxOByu7Ha7nZ49e1K2bFn27NnDkiVLiIuLw2Kx4HA4aNSoES+99NIzvrrsQ4pkQgghhBC50IkTJ1z/rlu37hMfr0OHDixYsIApU6YwduzYJz6eEMJ9AgICaNWqFa1ateL8+fP8+OOPmM1mRo0aRbFixfjPf/7jKrIL8awVKlSIDh06sG7dOmbPnu0qSN24cYO///6bDz74ALi94MzDPk9Pnz7Nb7/9RmJiIkaj0dU/zel04unpSb9+/QgJCbnvMQwGAw6Hg5SUlGfWk+yftFotn3zyCQkJCWzdupWTJ0/idDqJi4u7o0hmtVoZPHgwRqMRDw8P1+Nkt9sJDw9n9uzZrgUYAEwmE3a7HaPRyLp166RIJoQQQojcS1EUd0cQbnDlyhXg9hL1derUeeLjlStXDr1ej9VqZd26dbRs2fKJjymEcL9SpUoxceJEDhw4wMKFC4mLi3O9uW7fvr1rlT0hnqWbN28C4Ofnh8Vi4f3332fKlClYrVYOHjzIypUrcTqd1K1bl9atW9/1GGlpaaxcuZKDBw/i6+uLzWZDrVbj5+dHuXLlqFy5MoULF37oTJUrV2bLli288sorbunhFRMTw9KlS4mJiQFuN/WvUqUKoaGhmfaLjIxk2rRpBAQEALdHzgUHB3Pz5k0CAgKIi4vD4XDg6elJ+fLladasGYGBgezYsYPNmzcTFhb2rC8tW5EimRBCCCFELhQdHU1AQAAqleqJVhz7p08++YRBgwaxbt066tWrJ9OyhMhFatSoQY0aNdiwYQPr1q3DYrGwdOlSZs+ejcFgoE6dOrRs2TLLfp4IcT/bt2/Hz8+PxMREJk+ejEajYciQIYwZM4YVK1a4RkZt3rw5U5HMarWycOFCjh8/jqenJ56engD4+vrSu3dvAgMDHztTmzZtaNOmzZNd2GPatGkTO3fuBHBNO71bK4WoqCjmzp3rKpB5enoyfvx4dDodNpuNPXv2EBYWRtGiRTPdz2w2s3TpUjQazTPpA5edSZFMCCGEECIXynhj8Nlnn2XZMXU6HR07dmTdunVMmDCB0aNHZ9mxhRDZwwsvvMALL7xAfHw8y5cvJyUlBZvNxoEDB9i0aRMBAQH07dtXmn2Lp+bo0aOuKZbPP/+8qzBrt9tdUweTk5MxGo3o9XqSk5NRFIUff/yRmzdv4uvr65pG2bx5c+rUqfPAFR+zq+TkZObOnUt8fDw+Pj507979vt97/v7+mEwmnE4nb775JhUqVHDd5uHhQcOGDe+4T0xMDOPGjcNoNFKmTBn0ev1TuZacQopkQgghhBC50Lhx47BarXh5eWXpcevVq8emTZtwOBzs2rWLevXqZenxhRDZQ2BgIG+99RZwu/fT6tWr2bFjB2azmUmTJvHcc8/RrVu3HFt8ENnXvHnzMBqNJCUl0a1bNwBOnjzJ0qVLXb/TXn/9dRITE9m1axczZ84kNjYWvV6Poig0aNCApk2buvMSssSBAwdYu3YtTqeTypUr07Zt2wd+v/n4+DBhwoSHOv7p06dZu3YtUVFReHl5UbVqVV599dWsiJ6jSZFMCCGEECIX0mg0WV4gy/DJJ58wbNgwfv/9dymSCZEHeHh48Morr/DKK69w6tQpfvzxRy5evMiAAQNo1qyZ26agidzFZrMxZswYjEYjcHsKsFqt5ujRo6xcuRK4PbJq0KBB5M+fn7179wK3e49ZrVa6devGc88957b8WWnv3r2sW7cOnU7H66+/nmV9wo4ePcrSpUtJS0tzjdbLmNa6bds2du/ejU6nw+FwADB27Ng8N8Vayv5CCCGEEOKReHl5UalSJfz9/Vm0aJG74wghnqEKFSowZcoUypUrh0ql4vDhw/Tv35/t27e7O5rIoRISEpg7dy6ffPKJa6RUSkoKr7/+OgAWi4Xk5GTUajUTJ050TTcMDg52HaNixYq5pkAGcPHiRQAKFCiAv7//Ex/vypUrfPLJJ6xcuRKtVusqkMHtlS0VRUGj0eDt7Y2fnx9arRZPT08+++wzV8Esr5CRZEIIIYQQ4pH16NGDjz/+mL1799KlSxd3xxFCPENqtZpOnTrRoUMH5syZQ3JyMps3b+aPP/7g888/d40EEuLfrl69yqZNm7h8+TIJCQmuBvOA699JSUkMHTrUtb1WrVrUqlXrjmNFRka6/v3SSy89vdBu0LZtW+bPn8/Vq1f53//+R5UqVXjllVce61i///47p06dci22oygKqamplC1blrp161K2bNm7TuP87rvviImJ4bPPPuPLL7/MMyPKpEgmhBBCCCEemVqtpmLFikRFRbF58+Zc0f9FCPFoNBoNffr0wWw28/3332O32/n8888ZNWpUppEqIm+z2WzMmjWLK1euuBaVATIVyOD2iLIGDRrQoUOHhzpuxnPM6XRSqFChrAucDfj4+PCf//yHGzdusHjxYo4ePUqpUqUoX778Ix/r5s2bwO2pqsWKFaNbt27ky5fvgff773//y/Tp04HbbRZUKhVOpxONRkOlSpV49dVXc2VBXIpkQgghhBDisXTv3p0hQ4awevVqKZIJkYfp9Xr69+/PihUrOHDgACNGjGDEiBF3FEFE3vTll1+6VpuE2yPF8uXLR5EiRQgPD6dMmTIUKFDgkY9bvXp1ChQoQOHChbM6crZRsGBB3nnnHSZPnsyKFSsoXbo0Wu2jlXH69ev32Od/7733mD9/PkePHsVms7kKZZGRkUyYMIHAwEA+/vjjxz5+diRFMiGEEEII8Vh0Oh358uUjPT2ds2fPUqZMGXdHEkK4Ubt27dBoNOzdu5dRo0YxfPjwhxqxInK3ypUrs3PnTqpUqULr1q2zdJRhaGholh0ru9Lr9bRq1YpVq1bx008/0adPH6xWK97e3s/k/N26dXOtMpph//79LFiwAJ1Ox2+//UanTp2eSZZnQRr3CyGEEEKIx9anTx8sFgszZ850dxQhRDbQpk0b6tWrh7e3N6NHjyY2NtbdkYSbtW3blokTJ9K1a1eZhvuYnn/+eSpWrEh0dDRjx45l0qRJ/PDDDzidTrfkiYqKwt/fn/T0dKpWreqWDE+LjCQTQgghhBCPLTg4mCJFihAfH8+8efPo3r27uyMJIdysVatWaLVatmzZwrhx45g4cSIeHh7ujiVEjtahQwd8fX25ceMGcHvhgq+++orQ0FC8vb25dOkSdrud9957D71e/1SznD59GpVKxUsvvUSpUqWe6rmeNRlJJsRjUhTF3RGEEEKIbOG9994jMTGRkydPcuXKFXfHEUJkAy1atKBKlSoYjUbGjh3r7jhC5AotWrSgZ8+e9OzZkzp16mC1Wjl79ixHjhwhMTGR1NRUEhISnnqO999/n5SUFFasWPHUz/WsSZFMCCGEEEI8EbVaTb9+/VCpVEybNs1t0z+EyE2cTiejR4/mo48+4uTJk+6O81g6d+6Mw+HAZrPJtEshsliLFi0YOnQonTt3RqVSAVCmTBkKFiz4VM977tw5Jk+ejK+vLzqdjtmzZ3PgwIFc87tfplsKIYQQQognVqJECUqVKkVUVBQzZ87knXfecXckIXK0yZMn43Q6CQgIYMWKFVSsWNHdkR5Ljx49mDt3LlOnTmXcuHHujiNErrNs2TJUKhUdOnSgQoUKWX78pKQkfvzxR2JjY7FYLPj7+7tW2PT29ubq1atcvXqVJUuWoNVqGTRoUI7uPSdFMiGEEEIIkSXeeustPv74Y8xmM+fOnaN06dLujiREjnXjxg38/f0BMBqN7g3zBEqXLo2Xlxc2m41du3ZRr149d0cSIlex2WyEhYVlaYHs448/xmg0kp6ejpeXF3C7IKbVaklNTUWj0eDt7Y3JZKJGjRo4HA6OHj2KVqtl5syZfPLJJ1mW5VmT6ZZCCCGEECLLDBw4EEVRmDVrlrujCJEr+Pn58d5777k7xhP5+OOPSU1NZcmSJblmSpYQ2YVOpyMxMTFLj5lRGMv4+5/n8vX1xdvbG7hdODt16hR79+7FbDbjcDiIjo7O0izPmowkE0IIIYQQWaZgwYIYDAasVitxcXHky5fP3ZGEyJFGjhzJgQMHaN68ubujPDEvLy9q167N6dOnmTNnDm+99Za7IwmRK6SmpmK327Hb7Vl63DFjxpCcnMzevXuJjo7G09OT4sWL4+vrS3JyMidOnCAyMhKNRgOAVqvFbreTlpZGiRIlsjTLsyZFMiGEEEIIkaWaNm3Kxo0b2bFjB+3atXuq53I6najVMjlC5D5+fn65okCW4bXXXuOjjz4iKSkJh8PhenMthHh8y5cvx+l00rZt2yw/ttFopEWLFne9rUaNGqxfv549e/aQlJTE6NGjMRgMWZ7BHaRIJoQQQgghstTRo0cBKFKkyBMfy2azcfjwYY4cOcKVK1cwmUyo1Wq0Wi06nQ4As9mM3W5Ho9Gg1+vJnz8/rVq1olSpUk98fiFE1mnevDmHDh1i+fLldOzY0d1xhMjxfHx8AIiJiXmmv/OOHj3Knj17APjkk09yTYEMpEgmhBBCCCGyUGRkJJcvX8Zut1O9evVHuq/ZbGb//v0cO3aMa9euYTabMRgMrmKY1WpFpVKh0+nQ6/WunigA6enpOBwOzGYz8fHxLFiwgMTERAICAmjatCn169fP0usUQjy6Vq1asXXrVg4ePChFMiGyQKNGjTh+/DjXr19/puctWrQoiYmJ+Pv78/3335Oeno5er3f1JevWrRvVqlV7ppmyihTJhBBCCCFElrBarUybNg1PT88HNhpPTU1l7969nDhxghs3bmCz2fDx8UGr1aIoClarFY1Gg4+PD2XLlqV27doULFjwoXJERUWxatUqkpKSMJvNbNq0iWXLlpEvXz46duxImTJlsuJyhRCPKGNqtMVicXMSIXKHv/76C+CZfxAUGBjI1KlTOXnyJOvWrcPpdOLj44NKpcJkMrFy5UqWL19O//79c1xvUimSCSGEEEKIJ+ZwOBg6dCh+fn7o9XrWrl1LWloaFouFTp06AbB161YuXryI1WrF19cXjUaD0+l0TZX09fWlfPny1KlT54leVBcpUoR3330XgLS0NJYtW8aRI0dIT09n4cKFJCYmEhISQu3atalXrx4eHh5Z8hgIIR4sMDCQtLQ06ScoxBPasWMHFy9epFChQg/9IVJWq1ixIhUrVsy0LTk5malTp+J0OpkwYQLh4eH85z//yTHf71IkE0IIIYQQTyQiIoJvv/0Wf39/4PaIslu3brluX7RokevfdrsdrVaLv78/FStWpHbt2hiNxqeWzWAw0L17d7p3705sbCyLFy8mMTGRtLQ0tm3bxrp16zCbzQQHBxMWFkbZsmWpUKECnp6eTy2TEHlZ0aJFiYiI4OzZs5QrV87dcYTIsbZt24Zer892q8UajUZGjBjBqVOnmDVrFjExMXz22WdMnDjR3dEeihTJhBBCCCHEY0lOTmbEiBH4+/u7CmSJiYnUrFmT5s2b89133wGQlJREpUqVaNKkCWFhYW7LGxwcTL9+/YDb0z03b97M0aNHSU9Px2Qycf78ec6fP8+KFStcI128vLwICgqifPnyNG7cGL1e77b8QuQGlSpVIiIiguPHj0uRTIjHlLFKbOXKlbPtCK0KFSowZcoUPvroo2yb8W6kSCaEEEIIIR5LXFycaxRYamoqbdu2pUGDBq7b//vf/+Lt7Z0tV73y8fGhbdu2tG3bFrg9XfTs2bOcPn2ay5cvY7PZMJvNWCwWkpKS2LdvHzt27CAtLQ2NRoO3tzeBgYEUKFCAl19++amOhhN5i8PhYMaMGaSnp/PWW28REBDg7khZqmLFiixZsoTIyEh3RxEiR7JarSxevBjgqa9o6XQ6AR67yHXgwAF8fX1z1OhsKZIJIYQQQojHEh4ezqhRo+55e3Bw8DNM82Q0Gg3ly5enfPnyd9yWnp7Ojh07OHjwoGvlLrg9ki45OZmJEyeSlpZG+/btMxUJhXgcP/zwg2u68sSJExk/fjwAN27cYPXq1bz22ms5uiir0WiwWq2YzWZ3RxEixzGbzfzvf//DbDZTtGhRSpcu/VTOM3v2bE6ePImfnx9wu7/n40yX/Ouvv3A6nbz//vtZHfGpyTlj3oQQQgghhHADLy8vWrRowZAhQxg+fDilS5dGq9Wi1WqpWLEiXl5eqNVqNm7cyJAhQ4iNjXV3ZJGDXbhwwfXvfzbEnjJlClFRUYwcOZLk5GR3RMsyTqcTm83m7hhC5CiRkZFMmTIFs9lMy5Yt6dWr11Obxnj8+HFXgQzAZrMxd+5cLl269EjHKVy4MDqdLkf9zJKRZEIIIYQQQjyA0+lk9erVHDp0CIAyZcrQsWNHtNrbL6fT09OZMmUKdrudr776Ch8fH959990nWqVT5E1du3Zl2bJlhIaG0q1bN9d2b29vAPz8/Fi+fDk9e/Z0V8Qn5nQ6XSMyhRAPZ8mSJdhsNtq2bUvVqlWf6rmGDh3KhAkT8PX1BcDf35/IyEgiIyOxWq2YTCa0Wi2enp4YDAaMRiOBgYHkz5+fggULUrhwYSIjI4mJiQEgISGB0NDQp5o5q0iRTAghhBBCiPs4f/48y5Ytw2w2YzQa6dy5M4UKFcq0j5eXF0OHDuXs2bPMnj0bi8XCpEmT8PHx4T//+U+Omnoq3Kt69epUr179ju3/HDGS8fxzOBxYrVa8vLyeWb6soFKpclQjbyGyA6PRiMlkIj4+/qmfKzg4mMmTJ7Nv3z727t1LVFQUOp0u05/ExEScTidOp9O1qvW5c+fuOJbJZKJAgQJPPXNWkSKZEEIIIYQQd2E2m1m4cCFXrlxBrVbTpEkTGjZseN/7lClThgkTJvD333/z888/Y7FYmDZtGna7nTZt2lC/fv1nlF7kNo0bN2bDhg3UrVuXevXqATBu3DhsNhtVq1blxRdfzDHFMo1Gg06nc3cMIXKUt956i2+++YadO3fi4eHxwN9HWaFWrVrUqlXL9fWVK1f4/vvv0el0eHl5YbPZSE9Px9PTk5dffpmkpCRiYmJISEggMDCQ5557jjJlyuSoorgUyYQQQgghhPiXHTt2sHXrVpxOJ6GhoXTp0sU13e1hlCtXjgkTJnD+/HkWLFiAzWZj06ZNLF26lPz589O+fXvKlCnzFK9A5DaNGjWiUaNGDBw4kC1btjBs2DDi4+Px9/fn+PHj7Nmzh1deecVVQMvOPDw8ctRqd0JkB1qtlvfee4///e9/bNmyheDgYMqVK/dMMxQtWpTx48ezY8cO1qxZg16vd7UdmD9/PpMmTUKj0TzTTFlNimRCPAGVSuXuCEIIIYTIQjdu3GDRokUkJyej1+tp3749pUqVeuzjlSpVihEjRrhGpSUlJWEymVi4cCHJycm88847T211MpF7HDx4kKVLl7r6/6jVavbs2YOvry96vZ5KlSqxefNmli5dyvbt22nTpo2r6f+hQ4fYsmULzZs3p0qVKu69EG6vkqfT6TAYDO6OIkSOc/XqVcqVK8ehQ4dYv379My+SZdi+fbur0J2cnIynpyc+Pj45vkAGUiQTQgghhBACu93O8uXLOX36NADPP/88rVu3zrIpInq9nl69egEQExPDwoULMZlM/Pzzz+TLl4+PPvooV7y5EFln7dq1nDt3jujoaHQ6HXq9Hvi/D2n37duHWq2mdevWVKxYEU9PT1atWkVaWhoLFizgv//9Lzt37uTUqVNotVoWLVqULYpk58+fB7ijr58Q4t5MJhPTp0/HZDK5tt2td+GzYrPZXD+LfH19MZlMpKen079/f1QqFSqVCl9fX5o3b57j2gxIkUwIIYQQQuRpJ06cYNWqVdhsNoKCgnj99dcJDAx8aufLnz8/H374ITdv3mTKlCmkpqby8ccfM3DgQIoUKfLUziuyvzVr1rBz505MJhP+/v4Art5diYmJhIeHk5CQgM1mw2Qy4XQ6XSPGmjVrRrNmzTh16hS///47M2bMwGKxYLfbKViwIE6nE5vNhoeHh7suD4BTp04BULx4cbfmECInyfiez/gd5e/v79Y+XyNHjuTSpUvs27ePmJgYVCoVaWlpWK1WvL29XT+3Nm3ahMFgeOqrcWYlKZIJIYQQQog8KTk5mQULFhAdHY1Wq+Xll1+mWrVqz+z8ISEhTJw4kRUrVrBnzx6mTp1K7969qVChwjPLILKPCRMmYDabsVqtKIpCYmIiHh4eGAwGTCYT1apVIyIiAri9qISfnx9169a94zgZ0680Gg0+Pj6UK1eOq1evApCenu72ItmRI0dQFIXKlSu7NYcQOYmfnx8qlYr4+Hg2bNhAlSpVKFWqlFsLZeHh4YSHh7u+/vjjjwkICABuj85OTU0lNDQ0x32v55wlBoQQQgghhMgiGzZsYNq0aURHR1OqVCkGDRr0TAtk/9SuXTs6deqESqVi7ty57Nixwy05hPvYbDZSUlIAcDgcGI1GDAYDiqJQq1YtfHx8OHfunGv/jOlNL7zwAnFxcQwdOpT169cDMHnyZOD2tEyTyURISAg3b94kOTkZo9H47C/uHxISEvD09MTPzy9HrXYnRHbQqFEjdDodZ86cYdGiRYwbNw6r1eruWC4Z39OpqamuaaFXr17l448/dhX4cwIZSSaEEEIIIfKMGzdusHDhQlJSUvDx8aFTp06Ehoa6OxbVqlUjICCAb775hjVr1hAXF0e7du3cHUs8I2q1mvT0dJxOJ4qi4O3tTY8ePbh69SqLFi3CaDRiMpnw9fUFwGq1ut4gjx49moCAALZv305CQgJpaWnYbDY8PT1RqVSsX78ep9PJu+++6+arhB9//BGtVkv79u3dHUWIHCdjhds//viDI0eOALdHbGVMbXS36tWrc/z4cex2u2ubVqtFr9ezdOlSPv30U9LS0lixYgXx8fG0adOGsLAw9wW+BymSCSGEEEKIXM/pdLJy5UqOHz8OQO3atXnhhRey1WiW4sWLM2zYMEaPHs2hQ4eIi4vjrbfecncs8QxoNBq++uqrTNt+/PFHrly5glqtpnLlyuzcudN1W58+fdBoNIwYMQI/Pz9SUlLw9vbm0KFDWK1W8ufPj81mw+Fw4OXlRf/+/cmXL9+zvqxMTp48SVxcHA6Hw9VHTQjx6I4ePQqAj48P+/fv5/nnn3f7KFGAzp0707lz5zu2f/TRR6SkpBAXF8eYMWNc/Rbnzp1LWloaEydOfMZJ70+KZEIIIYQQIle7ePEiS5YswWw2ExgYSLdu3Z5qY/4nkS9fPsaPH8+wYcOIioqif//+lCtXjsaNG1O6dGl3xxPPgNPpZNy4cTgcDkwmE127duXXX391vbFMTU0lf/78zJ07Fw8PDxITE/H398dkMqHT6ejatSvPPfcct27dIigoKFsUgo8fP868efNwOp2888477o4jRI4WHh7OzZs3SU1NZdu2bWzbtg2VSoVOp8PHx4eWLVtSqlQpd8fk4MGD/P77764+ZfPmzXP9rHI4HPj6+uLh4YHD4chWqztLkUwIIYQQQuRKdrudxYsXc+HCBdRqNc2bN6devXrujvVAXl5eTJw4ke+//57ExMRMU0QVRcHPz48iRYpQoUIFKleujF6vd3dkkUXMZjPDhw/Hx8cHRVFo0aIFixcvxtvbG7hdIOvduzfnzp3j7NmzpKeno1KpSE5Odj0PqlSpAtxeRTU7WLZsGXv37sXpdNK3b99s8eZdiJyse/fuwO2C+qlTp7hy5QrR0dFcvXoVi8XCihUr+OSTT9ycElatWoWXl5fr65iYGIBM0zG9vb2JiYlh2bJlFClShBYtWmS6jztIkUwIIYQQQuQ6J06c4I8//sBut1OwYEG6du2Kj4+Pu2M9NI1GQ79+/QC4dOkSW7Zs4fz586Snp2Mymbh69SpXr17lr7/+IjU1FZVKRWhoKE2aNMlxK4mJ/zNq1ChXgcxisbBr1y7sdjuKoqAoCh07diQ6OppVq1YBEBQUhN1uJyEhAYC+ffu6M34mVquVMWPGoFarsVqtfPDBBxQvXtzdsYTINdRqNZUqVaJSpUpMmjQJAJ1OR6NGjdyc7LY+ffqwaNEibt68idPpRKvVYjAYsNvtfPTRR+TPn5/Zs2czZcoUfHx8uHXrFvv372fs2LFuzS1FMiGEEEIIkWuYTCYWLFjAtWvX0Gq1vPLKK66RNTlVeHg44eHhmbZduXKFw4cPExERgdVqxWKxkJCQwIoVK5g3bx4qlYqSJUvywgsvSGEiB/Hy8kJRFFQqFSqVCrVaja+vr2vK5Nq1awFQFIUePXoQGxvL1q1bCQgIwOFwULRoUXfGd7ly5QpTpkzBz88PrVbLpEmT8PDwcHcsIXIlu92OyWTC39+fDz/80N1xXEJDQ+8Y0bZ161Y2b97Mt99+i8PhwNvbG7vdTrt27Zg7dy5eXl6MHj2avn37UqBAAbfkliKZEEIIkcs5nU53RxDimdi7dy8bNmzA6XRSvHhxOnfunG1W/cpqRYsWvaMgEh0dzbp16zh9+jRWq5WbN28yb948kpKS8PT0pGzZsjRp0iTbFFLEnT7//HNOnjzJvn37aNasGUuXLiU1NRUADw8PfHx8MBqNdOnSxTW9smjRokRFRdGkSRN3RnfZsWMHK1euxNPTkxo1avDyyy+7O5IQuZpWq6VQoUJcv36dn376id69e2eLXoR307hxY+x2u2uUbK1atXjxxRcBGDx4MNOmTcNutzN16lR8fX25desWarUag8HARx999Ez6iUqRTAghhMjlTCaTuyMI8VQlJiby66+/EhcXh6enJx06dMiTfY8KFChAjx49XF9fvHiR9evXk5qais1mIzIykjlz5pCcnIxaraZgwYIUK1aMcuXKUbZs2Wz7piqvqVixomv1x27durFp0yY6dep0z5FYZcqUoUyZMs8y4j399ddf7N69G4fDwVtvvUW5cuXcHUmIPOGtt95i8eLFnDt3jm+++YZ33303235I1Lx5c5o3b37H9uDgYMaOHcuOHTvYvHlzpt5lGo2GS5cuSZFMCCGEEE9Go9GQlpbm7hhCPDUbNmxgz549KIpCxYoVefXVV6XY8/8VL14800qCp0+fZseOHZhMJqxWK0lJSZw8eZKTJ0+SlpaGw+EgLCyMzp07Z5um73ldSEgI3bp1c3eMh/L7779z5MgR0tLS+Pzzz7PtCrJC5EZqtZrXX3+dtWvXsm/fPr7++mv69euXIxd2adCgAZs3b0av1zNhwgQ+/fRTkpKSqFq16jM5vxTJhBBCiFxMp9ORnp7u7hhCZLl/rvhoMBh4/fXXKVy4sLtjZWvly5enfPnyrq/T09M5ffo0p0+f5uzZs6SlpREXF8c333xDWloaTZs2laly4oESEhKYMGECXl5epKWlMWLECAICAtwdS4g86cUXX8Tb25stW7bw7bff0rdvX4xGo7tjPbIRI0YAcOTIEQICAkhMTCQpKemZ/GzJcUWy77//nmvXrjFmzBh3RxFCCCGyPU9PTymSiVzF6XTyxx9/cOzYMQBq1qxJy5YtZfTYY/Dy8qJatWpUq1bNte38+fP8/vvvpKWlcejQITZu3Ei3bt2oUaOGG5OK7MjpdLJw4UIOHz6Ml5cXXl5eDBs2DI1G4+5oQuRpDRs2BGDLli1MmzaNkJAQwsLCKF26NEWLFs1Rvy+rVq3KxYsXOXz4MF988QUDBgwgNDT0qZ4zxxXJYmJi8PDw4M8//6RFixacOnWKokWLki9fPndHE0IIIbIdb29vkpOT3R1DiCxx8eJFlixZgtlsJiAggG7duslrwCxWqlQpBg8ejMPh4OeffyYlJYXly5dz5swZunfv7u54IpvYvn07y5Ytc62q2a5dO6pXr+7uWEKI/69hw4aEhYWxatUqbt68yY0bN9izZw+lSpWia9eu7o73SDp06IDVauXYsWPMmDGDKlWq8Nprrz218+W4IllaWhoGg4E9e/Zw6NAh17aJEye6OZkQQgiR/fj4+MjqliLHs9vtLF68mAsXLqBWq2natCkNGjRwd6xcTaPR8NZbbxEbG8u4ceO4ePEi/fv3p27durRv315GC+VRERERzJgxA4PBgEajoXjx4nTr1i1HjUwRIq8oWrQo7733HnB79eMZM2bk2D617dq149SpU3h4eHDkyBEpkmVIT0/H09MTlUqF2Wx2rdbQq1cvNycTQgghsic/Pz8AUlNT8fHxcXMaIR7dyZMnWblyJXa73dXEXJ7Lz05wcDBfffUVM2fOJCkpidOnT7Nv3z5KlSrFf/7zH3fHE89IUlIS06ZNw2q1otFo8PHx4bPPPsuRTcGFyIsKFCiAh4cH8fHxOJ3OHFXY3rZtG3/88Qc+Pj6YTCaGDh36VM+Xo4pkW7ZsQavVkpCQgL+/P8nJyYwYMSJHNqITQgghngV/f38AYmNjpbAgchSr1cqvv/7K1atX0Wg0tG3b9pmtbCUyU6vVvPPOOzidTtatW8f69eu5efMmp0+fJj09ncjISLRaLXq9nqJFi1KiRAnXh9n/FB8fz4kTJ7h58yYJCQmugovZbCYmJgaLxYJKpSIgIIAyZcpQr149ihQp4oYrFv+0ceNGVq9ejcFgAKB///4UKFDAzamEeDKRkZHMmzcPjUZDjRo1aNasWY4qHD0Kp9PJoUOHUKvVmM1mLl26RIkSJdwd66HYbDZWrFiBSqXihRdeoH79+k/9nDmqSLZt2zZCQkLw9/dHo9EwadKkXPtEFkIIIbJCRr+mW7duER4e7uY0Qjyc06dPs3z5cux2O2FhYbz++ut3LbqIZ0utVvPSSy+xc+dOAH755Re8vLwy7bN3716cTicmkwmHw+HartVqXUWWf3M6nTgcDtRqNU6nk/T0dM6cOcOZM2cwmUw4nU7sdjsqlQofHx+CgoIIDQ2lRIkSWCwWbt26RVxcHGazmQYNGlCmTJmn9yDkEVarlWXLlrFv3z78/f1RFIXWrVtTu3Ztd0cTIktcv34dp9OJ0+lk9+7dHDx4kFdffZWyZcu6O1qWiYiIYPv27URFReF0OlGpVFSpUiXHFMgAvv32W/z9/alduzb58+dn6tSpxMfHYzabn9rU0RxVJMv4NNzf358PP/zQvWGEEEKIHCA4OBiAhIQENycR4sHsdjuLFi0iIiICjUZD+/btqVSpkrtjiX+YN2+eq2BpNpupUKEClStXxmazkZqayrVr14iOjkZRFGw2m+t+Op2O/PnzU7x4cYoWLUqhQoXw8fHBbDaj1+sz9ThzOp0cO3aM/fv3ExMTg91ux2QyYbPZSE9PJz4+noSEBI4fP35Hvl9++YWCBQtSv3594uPjSU5OplSpUpQtW1b6qD2A0+lk06ZNbN68GafTibe3NwAhISEMHjxYCtUiV6lbty6nTp3i+vXrlCxZkkuXLrF48WLCw8Pp0qVLjn6+nzlzhlWrVmEymQAIDAykRo0a1KxZM0cNMoqKiuL69esArFmzxrVQSHp6eqYPYbJajiqSwe2l7KVAJoQQQjycjA+YkpKS3BtEiAe4ePEiixcvxmq1UqhQIbp37y79jrKZU6dOcfHiRQB8fX0ZMWLEEx/zbqPL1Go1VatWvef02rS0NM6cOUNERASenp4EBQUREhKCWq3m22+/JS4ujpUrV7r2P3bsGOnp6eh0Ot544w1Kly79xLlzE5vNxi+//MLJkyfx9/fH4XCg1Wpp0KABjRs3zlFvqoV4FIUKFeL69evUrFmTDh06MH/+fC5dusSkSZNo27ZtjvyQJiYmhsWLF6NWq3n++edp1qyZq+Cdk5w8eZJff/3V1SokMTGRoKAg2rdvT8GCBQFITk7m+++/z/Jz56giWUpKCuPHj3d3DCGEECLHUKvVqFQqUlJS3B1FiLtyOp0sW7aMU6dOuabz1axZ092xxF389NNP+Pv7o9frGTBggNtyGAwGqlWrRrVq1e64bdKkSezevZuYmBj8/Pzw9fUlIiKC48ePY7fb+fXXXzGZTHz66afkz5/fDemzj1OnTvHHH39w69YtjEYjiqJQunRpOnbsiIeHh7vjCfFY1q5dy/Hjx1GpVK4i0b1kjEby9PREr9fz1ltvcezYMf7880+WLVvG/v376datW476wObAgQMAdOvWjeLFi7s5zeP59ddfiYiIcE3nz5cvH8OGDXtmo4FzVJHso48+cncEIYQQIsfRarWuIfdCZCfXrl1j/vz5pKenExQURM+ePWWBiWysQYMGOJ1OOnbs6O4o96RWq+9o7FyzZk1ef/11YmNjmT17NjabjQkTJtCrVy8qVqzopqTPnt1uZ/Pmzezdu9e1EJrdbkdRFOrUqUOLFi3cHVGIJ7Z//34APDw82LlzJ4mJiXTo0OGu+zZv3pwjR46wfv16+vTpA0DlypUpV64cCxcuJDIyksmTJ1O3bt0cM6ryueee4+DBg/zxxx85tn5y+fJl4Pao4YEDBz7zDzRyVJEsr3/aI4QQQjwOnU5Henq6u2MI4eJ0Olm9ejWHDh1CpVLRpEkTGjZs6O5Y4gHat2/v7ghPJDg4mEGDBnHo0CEWLVrErFmz+Oqrr3LEG9/Hdf78edauXculS5fQ6XR4eXlhsVgAKFCgAK+99pprgRchcgOj0UhycjLvvvsuixYt4uTJk6SkpNClS5c7RoR5e3uj0+lITk7OtF2n09GzZ0/+/vtvVq5cyY4dO9i1axcFCxakcOHChIWF3XMVX3cLDQ2lQoUKnDp1isjISMLCwtwd6ZENHTrUrefPUUUyIYQQQjw6vV5/xwtAIdwlNjaWefPmkZKSgr+/Pz169CAgIMDdsUQeUq1aNU6ePElkZCSLFi2ia9eu7o6UZZxOJ3v37mXPnj1cvXqVgIAAFEVBURR0Oh3PP/88L7zwQo6aPibEo2jfvj1z5sxh1qxZfPjhh8yfP5/IyEgmTpxIlSpVaNWqFVrt/5VBNBoN6enpOJ3OOwrm5cqVo1y5cuzbt499+/Zx/fp1rl275hqtVqNGDVq1avVMr+9hxMfHAzLI6HFJkUwIIYTI5by9vV0vmIRwp82bN7Njxw4Amd4l3Kp79+4MGDCA/fv35+gimc1mY8eOHRw4cICbN2/i6emJl5eXq9dScHAwbdq0ITQ01M1JhXg2ihYtSoMGDdixYwc//fQT77zzDmfPnuWvv/7iyJEjHD9+nBo1avDCCy+gVqtp0qQJq1evZtu2bTRp0uSux6xVqxa1atUCbhegLly4wM6dOzlw4ABhYWGUL1/+WV7ifV25coUbN25QrFixHNmwPzuQIpkQQgiRy/n6+qIoyl0/JRXiWUhOTmbu3LnEx8djMBjo3r07BQoUcHcskYep1eoc+fPQbDazZcsWDh8+zK1bt/Dy8sLT09PVW8zT05OKFSvStGlTGaEp8qymTZsSFxfH6dOn2bp1K40bN6ZMmTKcOHGCtWvXsnfvXvbv309AQIBrVOXDjrgPDAykZs2aVKxYkalTp7JkyRKKFi1KqVKl8Pb2xsvLC4PBgLe3Nz4+Puh0urv+rLFaraSmpmKxWNBoNGi12jv+PM7PqKVLl6JSqbJ178jsTopkQgghRC7n5+cH3F4+OzAw0M1pRF6zZ88eNmzYgKIoVKlShTZt2uTI4oTIXU6cOIGvry++vr7ujvJAMTExzJw5k1u3bmEwGNDpdFitVhRFwcvLi6pVq9KkSRMMBoO7owqRbXTo0IHIyEi2b99OpUqVyJcvH5UqVaJSpUocOHCA/fv3k5CQgMPhoGDBgrRs2fKRju/t7c3777/PggULuHLlCleuXLnv/iqVCgBFUR75Wry9vcmfPz/h4eFUqlTpngXwjRs3kpyczPPPPy+L4DwBKZIJIYQQuVzGi6nY2FgpkolnxmQy8csvvxAdHY1er+f111+naNGi7o4lBAALFixAURQGDBjg7igPNG7cOAICAvDx8cFgMFCtWjUaNmwofcWEuA+1Wk3Xrl356aefmD59Ou+8846rR1eNGjWoUaMGwBONsjcajbzzzjuYzWZiYmJIS0sjPT3d9cdsNmOxWLBYLFitVpxOJzqdDr1ej6enJ3q9Hq1Wi6IoOBwOHA4HTqcz099JSUnExsYSGRlJZGQkW7ZsQa1WYzQaCQkJoUCBAhQuXBiLxcLu3bsxGAy0bt06yx7HvEiKZEIIIUQuFxQUBEBcXJybk4i84siRI/z55584nU7Kli3La6+9JqPHRLYRFRWFWq3Gw8PDNdI2OwsPD+fy5cv4+flhMBikl58Q/2Iymdi+fTsAVatWdU3nP336NHB79FZSUtJdG9lnxe8mvV7/1D8EcjqdXLx4kb///puoqCgSEhI4c+YMZ86cce2jVqvp1q2b/L59QlIkE0IIIXK54OBgABISEtycROR2VquVX3/9latXr+Lh4UGXLl0oVaqUu2MJkcns2bNRqVT07t3b3VEeyocffojT6WTQoEHYbDYOHDjgGgUjhIDp06djMpkA2LdvH2q1Gl9fX5KSkvD29qZ+/fo5/neRWq2mZMmSlCxZ0rXNbrdz48YNoqKicDgcVKlSRaZZZgEpkgkhhBC5XMYLpodtSivE4zh//jy//fYbdrudsLAwunXrhlYrLzVF9pKenk5aWhpAjpr+q1arGTJkCGPGjGH+/PlSJBPi/3M6nZhMJsLCwnjxxRc5fPgwFy9eJCEhAYPBQL9+/XLt1GStVktoaKisXpvF5JWLEEIIkQeo1WpSU1PdHUPkQk6nk5UrV3L8+HHUajXt2rWjcuXK7o4lxF399ttveHt707x5c3dHeWQBAQFUqlSJy5cvs3btWl588UV3RxLC7TKmTkdHR1OgQAFeeukld0cSOZxMVhVCCCHyAK1W65qKIERWiY+PZ9q0aRw/fpx8+fLRv39/KZCJbO3YsWMkJiZSr149d0d5LN26dSMpKYn169cTExPj7jhCZAtVq1YlPT2dXbt2uTuKyAWkSCaEEELkAZ6enlgsFnfHELnI3r17+fbbb0lJSaFOnTr069dPeqGIbE9RFHQ6nbtjPLaMXn+enp6MHz+eGzduuDuSEG7XsmVLPD092bx5M3a73d1xRA6Xo6ZbfvbZZ3h6eqJSqVwr0YSHh9OjRw83JxNCCCGyNy8vL+Lj490dQ+QCVquVefPmERUVhaenJ2+88QZFihRxdywhHoparUalUrk7xhOpWbMmqamprF+/nsmTJ1OtWjVee+01PDw83B1NCLdwOp34+fkRExPD2bNnqVChgrsjiRwsRxXJ/Pz87mi6l1ub8AkhhBBZyWAwyNQc8cQuXbrEwoULsdlsFC9enNdff12a84scRavVolKp2Lp1K40bN3Z3nMfWtGlTAgMDmTt3LufPn+eLL77AYrHw5ZdfolbLZCGRd+zcuZOtW7ficDgICAjI8atYCvd7rJ+g06dPJywsDL1eT61atdi/f/999582bRplypTBy8uL0NBQ+vfvj9lsfuTzWq1WEhMTSUlJoVKlSgwbNoxOnTo9ziUIIUSupSiKuyOIbMjX1xdApiGIx+J0Olm1ahW//PILDoeDNm3a0L17dymQiRzn3XffxWw2s2HDBmbNmuXuOE+kSpUqfPXVVyQkJKDVatHr9fIzXuQpc+fOZdOmTWi1Wl555RU++OCDHD2dWmQPj/zKZvHixQwYMIAZM2ZQq1Ytpk2bRsuWLTl79iz58+e/Y/8FCxbw2WefMXv2bOrWrcu5c+d48803UalUTJky5ZHOPXz4cPz9/R81shBCCJHnZfz+jI2NpWDBgu4NI3KUpKQk5syZQ1JSEv7+/vTq1Quj0ejuWEI8lrCwMEaNGsWoUaOIiopi9uzZ9O7d292xHptarXaNHNNoNHz22WeEhobywQcfoNFo3JxOiKfnwIEDREZGUqRIEXr16iUjKEWWeeRn0pQpU3j77bfp1asX5cuXZ8aMGXh7ezN79uy77r97927q1atH165dCQsLo0WLFrz++usPHH1217DyxBdCCCEeS2BgIAC3bt1ycxKRkxw6dIivv/6apKQkatSowYcffigFMpHjGY1GJk2aRGJiIqdPn8Zqtbo70hOZMmUKb775JgULFkSv15OcnMzPP//s7lhCPFUGgwG4/bomOTnZzWlEbvJIVSer1cqhQ4do3rz5/x1AraZ58+bs2bPnrvepW7cuhw4dchXFLl68yOrVq2nVqtU9z2OxWEhOTnb9SUlJeZSYD+R0OlmwYAGDBw9mwoQJJCQkZOnxhRBCiOwmX758ANK8XzwUu93O3Llz+fPPP9FqtfTq1eu+r92EyGnUajXt2rXD19eXn376yd1xnlixYsWoUqUKnp6eJCcn06xZM3dHEuKpKl++PC1btsRsNvPtt98SGRnp7kgil3ik6Za3bt3C4XBQoECBTNsLFCjAmTNn7nqfrl27cuvWLerXr4+iKNjtdt555x2GDBlyz/OMHz+eUaNGPUq0B4qIiODmzZv8/fffnDp1Cn9/f+x2O2azma+//ppixYrx5ptvZuk5hRBCiOwiKCgIuD11Toj7uXr1KvPnz8disVC0aFHpPSZyrUaNGrFixYpc83MxLCyM1NRUjEYjv/76K4MHD5YplyJXq127Nvny5WPRokXMnTuXNm3a8Pzzz7s7lsjhnvr8xa1btzJu3Di+++47Dh8+zLJly/jrr78YPXr0Pe8zePBgkpKSXH9Onz792Od3OBx8//33zJo1i40bN3Lt2jUURSExMTHTC75Lly499jlE3qRWq7lx44aMyhBC5AgZq0HLlARxP2vXrmX27NlYrVZatWpFr169pEAmcrUqVarg5+fHsWPH3B3lieXPn9/VuN/hcLB27Vo3JxLi6StVqhTvvPMOOp2OVatWsWzZMndHEjncI73qCQoKQqPREB0dnWl7dHQ0ISEhd73P8OHD6d69O3369AGgUqVKpKWl0bdvX4YOHXrXPmOenp54enq6vn7cF/RpaWkMHz4cPz8/0tPTUavV1KpVC4vFwqlTpzCZTNSsWZPKlStTqFChxzqHyLvq1KnDrl27+O677xgyZIj0zBNCZHsajYa0tDR3xxDZUExMDAsXLiQxMRGj0UivXr1ksSSRJ/j4+AC5Y2Xov/76C6PRiM1mo27durRs2dLdkYR4JoKDg+nfvz8zZszgxIkTtGvXTt6b5XJnz55l2rRpT+XYj1Qk0+l0VKtWjU2bNtGuXTvgdn+vTZs20a9fv7vex2Qy3fEEzRj2+zR/GcXExDB+/Hj8/f2xWq14e3vj4eHB4cOHSUxMxGAwMG7cOBmCLB5b8+bN8fT0ZPPmzYwePZrAwEDefvtt12gNIYTIbjw8PDCZTO6OIbIRu93OihUrOHXqFABVq1bl5ZdfljcXIs/IaNxfpkwZd0d5Yhs3bsTDw4NRo0bh5eXl7jhCPFN6vZ7w8HCOHj3qmnYscoeoqCgKFCiAh4eHa9v333+f6eus9Mjj5wcMGEDPnj2pXr06NWvWZNq0aaSlpdGrVy8AevToQeHChRk/fjwAbdq0YcqUKVStWpVatWpx4cIFhg8fTps2bZ5qgWrcuHEEBAQAYLPZ8PX1JSgoiJiYGNRqNR4eHkyfPp0PPvjgqWUQuV+hQoXQ6/WYzWbi4+OZPn06H3/8sbtjCSHEXXl6emI2m90dQ2QThw8fZs2aNdjtdvLly0fnzp0JDg52dywhnqn4+HhUKlWuKCqpVCrsdjsqlcrdUYRwi+vXrwOQnp4uRbJcwul0MmvWLABSU1MJCwtDr9fj7++Pt7f3UznnIxfJOnfuTGxsLJ9//jk3b96kSpUqrF271tXM/8qVK5k+fRw2bBgqlYphw4Zx7do1goODadOmDWPHjn3ksIsXL+btt99+4H7Hjh1zFcgSExP5/PPPCQgIYPDgwej1eooXL86lS5ewWq1s27aNRo0aPXIWIQB27tyZ6Q1nxpB9IYTIjry9vbN8xWiR88TFxbFw4ULi4uLQarW8/PLLVKtWzd2xhHALg8GQa16/vfzyy2zfvp2vv/6aTz/91N1xhHjmMgbFzJgxA5VKhcFgICgoiEqVKklD/xxKrVaTmJiIv78/Pj4+3Lp1C4CUlBS6d+/OoEGDsvycj9WJtV+/fvecXrl169bMJ9BqGTFiBCNGjHicU2USERHBhg0beOGFF+67399//+36d3h4uKtgZjAYXKvXaLVadDodW7duZfXq1dSqVQtvb2/+/vtv7HY7np6e+Pn50bZtW9f9hfi3GjVqEBkZiVarpWvXroSHh7s7khBC3JPBYMDpdLo7hnATp9PJihUrOHHiBADly5fn1Vdflcb8Ik/LTaNrmzZtyl9//UVKSgpOp1OmTYs857XXXiMyMpKzZ89y9epV4uPjiYyMJDIykpSUFBkck0N99dVXbN++nXXr1qFWq9HpdCiK8tR6p+aoV0U2m401a9ZQv379+w6JjoqKwul0kpaWRmJiomv7sGHDANi8eTOrV692bff29na9YMxgMplISEjg66+/xmq1MmTIEAwGQ9ZekMjxSpcuTXh4OJcvX2bevHl07NiR8uXLuzuWEELcVcbUA7PZLP0T85hjx47x119/YbPZ8Pf3p0uXLq5ZAELkZQ6Hg9TUVHfHyDLVq1fn3Llz7NixQwoCIk8KCwsjLCzM9bXdbmfq1Kls27aNqlWryjTMHEitVtO4cWNq1arFTz/9RHx8PH5+fly8ePGpnC9HFcl0Oh16vZ4hQ4bw4osvZlqxJTo6mjVr1nDmzBng9huA8uXLc+PGDb788kteeOEFqlSpgkajoWnTpjRt2pRz584xb9487Ha7681CQkICwcHBJCYm4u3t7apUjho1ivbt21O7dm23XLvInrRaLT169CA2NpaZM2eyZMkSSpYsiaIoeHh44O3tTXBwMNWrV5dP6oUQbpfxiVtMTAxFixZ1bxjxTCQkJLBw4UJiY2PRaDS89NJL1KxZ092xhMg28uXLh8lkwmazPbUm0A/r1q1b7Nu3j4IFCz721LBXX32VkSNHsmXLFimSCcHt92udO3dmzpw5TJ06lXz58vHGG2/ICs45zN69e1mzZg1qtZqEhARat27NmjVrnsq5ctS79tTUVPR6PXq9nr1797Jx40Y++eQTtm7dyrFjx9DpdNjtdjQaDVqtlpo1a/LLL7/g5+fHn3/+ybJly0hLS6Nw4cJ069aN0qVLM3r0aFJTU9m/fz8FCxakXLlymc65evVqDhw4gMFgYN26dVy5coVOnTq56REQ2VVwcDD9+vVjzpw5XLhw4Y7b9+3bx/vvvy/D3oUQbpUvXz7g9hsxKZLlbk6nkz///JMjR44AUKZMGTp27Cgf2AjxL0WLFuXSpUtcuXKFEiVKuDXLmDFjXG1eDh48SN++fR/5GHq9HovFkqumkQrxpIoWLUqPHj3YsGEDN27cYP78+bz33nvujiUewbJlyzAYDKSkpBAWFsa6deue2muaHPWOvVu3bqSmpmKz2dBoNOh0OiZPnszJkycxmUx06NCBiRMnYrVa8fX1Zd68eXz22WekpaUBt0eiZTyw33//PR9//DHr16/Hx8eHpk2b3lEgA2jVqhW9e/cmOTkZuP0LS4i78fPz46OPPmLw4MGuPnyDBg2icuXKJCYmsmDBgjvuc+HCBaxWqxvSCiHyoqCgIOD26CKRe506dYoJEyZw5MgR/Pz86Nu3L126dJECmRB3cfnyZRwOxyN/cGCz2XA4HFmaJeNnNGTusfyo8uXLh7e3NzabLStiCZErhIeH07dvX7RaLYqiuDuOeATnz593tb7y9fUlKSkJh8PxwF71jytHvVqy2Wx4eXmh0Wjw8fHh1Vdf5aeffkKlUlGhQgVCQ0OZOHEi/v7+pKSkYDQamTFjBgaDgfT0dGw2G0ajEbPZjEqlQq1Ws2vXLo4ePcrAgQPvOconNDSUr776ij/++CNX9SwQT4dOp3P9W6/X065dO+Lj44mIiGDSpEmULl2a2rVrc+TIEfbt2wdASEgIr776Kvnz53dXbCFEHpDxBuyf/TpF7pGUlMSiRYu4efMmGo2GFi1aUKdOHXfHEiLbmjFjBna7HZPJlGmq5enTp1m7di0pKSmYzWasVqtr0ZOMVix6vR6Hw0F6ejp2ux1/f3969+5NaGjoY+cZNmyYa3GNJ/nerVixIseOHWPv3r00aNDgsY8jRG5jtVqx2+2EhIS4O4p4BMWLF8disaBWq6lQoQKNGjWiUKFCroFMWU2l5IAyalRUFKGhoXz22Wfo9XpSUlIYPnw4fn5+AHz88ccYjUYSEhLQaDQ4HA5KlSrFrVu3MJlMWK1Wpk6ditPpZNmyZezatQuj0UhaWhparRYvLy/S09P58ssv3XylIrdyOp2sXbuW48ePY7FYMt1WpEgRoqKiAKhfvz7NmjVzR0SRS4wZM4agoCDeeecdd0cR2dQXX3xB0aJFefPNN90dRWQRp9PJ6tWrOXz4MIqiUKpUKTp27JjpQxshRGZnz55l3rx5mM1mJkyYgEajwWaz8cUXX7g+ODebzdhsNpxOJyqVCq1Wi6enJ15eXvj6+mKz2UhJSSE5ORkPDw8URaFWrVp06NDBrdeWlJTEpEmTMBgMDB482K1ZhMhOLly4wPz583PVh0hOp5PExEQsFgsFChTIU+19kpOT8fPz4+rVqxQpUiTLjpujRpKVKlWKYsWK3VFEyJg+kDGHH273W4HbK1f6+voCtz/56dixIx07dmT37t389ttv+Pj4YLFY0Ov1XL169Yk+/RHiXtRqNa1ataJVq1bExsayZ88eIiIiCA0NpWPHjsTFxTFr1ix27txJlSpVXH2DhBAiq2k0GlcbApHznTlzhhUrVmCxWDAajXTq1InChQu7O5YQ2d6yZctQqVQMGjQIjUZDeno6Q4cOxdfXF61Wy3vvvUdgYOBDH+/8+fNMnz6dEydOcPjwYYYNG4aXl9dTvIJ78/PzIy0tTWbACPEvGa9/fHx83JzkyV25coVly5aRnJzsmj6qVqvp3r17ptU9xaPLUWXGjh073nWUzcCBA++YOpLRVyAxMZH333//jvvUrVuXiRMnkpqaitVqRaVSsXbt2qeSW4h/Cg4Opm3btvTv35+OHTsCt3tHVK9eHYBvv/2WY8eOuTOiECIX0+l00tA5F0hOTmbmzJksXrwYm81Gs2bN6N+/vxTIhHhIsbGxpKSkEBwcDMCPP/6In58fJpOJAQMGPFKBDG5/mP/VV1+h0+nQaDQMGTKEiIiIpxH9oRQrVgw/Pz/X4h1CiNsrJAIUKlTorrdbrVZ++eUXfvnlF6Kjo59ltEe2fPlykpKSKFSoELVr16ZevXoA/PLLL64BQ+Lx5Kgi2b0EBwfz/vvvuwplCQkJrirxyy+/7JqW+W86nY6QkBAMBgM2m41z5849q8hC3KFp06b07dsXlUrFrl273B1HCJFL6fV6WTAkB3M6naxZs4Zp06Zx48YNihcvzieffEL9+vXdHU2IHCUoKAhfX1+2bdsGQOfOnUlMTMTHx4dx48YxYMAAJk+ezMaNGx/6g4WM4liDBg3w8PBgxowZruM/az179iQtLY1ffvmFAwcOuCWDENnJ2bNnuXnzJqVKlbpj1o7T6eTAgQNMnz6dS5cucenSJWbMmMGJEyfclPb+zGYziYmJFCtWjD59+tCyZUuaN29Or169UBSFX375xd0Rc7QcNd3yfooXL87EiRNZt24dpUqVQq1WM3PmTNauXUuBAgWoWLHiXe/39ttvM2HCBDw9PbFYLDidTtRqNenp6axatYpDhw7h7e2NRqNh2LBhz/iqRF5TsGBBQkNDuXLlCj/88AMGg4FatWpRqlQpd0cTQuQSXl5e0rg/hzp//jzLli3DbDbj4+PDa6+99sgr8gkhbuvTpw/jx49n06ZN/Pnnn3Tp0oWvvvqK/fv3s379ekwmE8nJyezatYutW7eSmpqKt7c3JUqUoG7dupQpU+aevX9eeOEFihUrxvfff8/69esJCgqiQoUKz/T6AgICaNOmDX/88QcrV67k0KFD0q9U5Glbt25FpVK5ZvL802+//cbZs2cBqFSpEg0bNmTmzJksW7aMQoUKZatWONHR0WzYsAGA2rVrZ7qtSJEiFCtWjMuXL7sjWq6Ra4pkAB4eHrz88stYrVYuX75Mnz59+Pnnn/n999/vWSTz8/MjPT0dRVHw8fFhwIABaDQaPD098fT0xNvbG8jc7+xxbN26ldWrVzNo0KBs9U0msp/OnTvz448/EhMTg9PpJCIigpYtW97xQ1AIIR6Hr68v165dc30oJLI/p9PJnDlziIqKQq1W07hxYxo1auTuWELkaPnz52fMmDF8/fXXmM1mli9fzq5du/jggw9cr7lSU1PZuXMnx44dcy0GFhUVxW+//UZaWhpOp5OSJUvSunXrO/oaly5dmiFDhjBp0iRmzZrFlClTnvk1NmrUiCpVqjBy5Ei3Tv0UIjuIj4/Hz8/vrovaXLx4EYPBwIABA1yvjfLly8fNmzeJjo7OFu/f9+7dy/r16139x3x8fChduvQd+2UsTigeX6589IYMGYKvry8JCQno9XpMJhPHjh2jcuXKwO1feGvWrKFDhw6o1WrXyLHnnnsu05RLHx8f13ze995774kyHTx4EIPBwPjx45k8efITHUvkbt7e3nz44YcAmEwmpk2bxubNm6lYsWKuaDIphHAvo9EIQEpKyj3bEYjsZf/+/URFRVGkSBG6deuGXq93dyQhcoWM1R+TkpIYM2YMCQkJjBw5kpEjRwK33wu8+OKLvPjii677XLx4kZ07d3Lu3DnS0tKIjo5m1qxZJCUlYTAYCA8Pp0SJEpQrV44CBQpgMBhwOBxuusLb1+Dp6YnNZnNbBiGyA5vNdtf3UqmpqdhstkyjQ00mEzdv3iQ4OJiyZcs+66h3tXHjRjw8PKhWrRolS5YkLCzsrh92WiwW4PZ1yXvHx5Mri2QZv4jUarVrVZnFixeza9cuevfuzciRI/H19aVgwYLUr18fo9GIyWTiwoULwO1m//7+/ty6dQu9Xp/pF+PjCggIIC0tDV9fX3nCiofm7e1No0aN2LhxI19//TUDBgyQN0dCiCeSMTI6NjZWimQ5REYPuZdeekl+BwjxFPj5+TFp0iTGjh2L3W5n5MiRfP7553d9A1q8eHGKFy/u+joiIoI1a9aQnJzsGmkWFRXFtm3bsFgseHp6kpyc/CwvJ5Pr16/j5eWVKbMQeZFWq+X69ev8/vvvFC5cGEVRsFgsrsUtnnvuOde+W7duBW5PZ8wuo+4dDgfFihWjRYsW993v+eefZ9u2bUyZMoU6derwwgsvPKOEuUf2+B/PYhmrBHp5ebleWHp6ehIbG8vo0aPx9fUFbvd/AihQoADe3t44nU6sVitvvfUWcLuxf2JiIrVq1XqiPHv37uX8+fMAJCUluW05aJEz1atXj+bNm2Oz2di9e7e74wghcriMKQNxcXFuTiIeVsbUCiHE0zV06FC0Wi0qlYoRI0Y81AiwEiVK0K9fP6ZMmcKXX35Jr169qFOnDoUKFcJgMBAUFMSgQYOeQfq7K1y4MCaTiStXrrgtgxDZQYcOHdDpdJw6dYr169ezYcMGtm/fTlpaGmXLlnX1gI6Pj+fAgQP4+vpSpUoV94b+l7tNFc2QkJDAiRMnsFqtBAUFoSgKu3fv5tSpU88wYe6QK0eSdevWjTFjxqDT6VCr1VSpUoVdu3bh5eWFt7c38fHxeHt7ExYWBkB4eLhridciRYqwZcsW4PZItPz58z92jrS0NL788ku0Wq2rMNauXTs0Gs2TXaDIc27cuAHcLvYKIcSTyPi9lpCQ4OYk4mFlFMlUKpWbkwiR+w0dOpTx48cDMHDgQPr37//QC2So1WqKFi2arRbUUKvVrp8hX3/9Nf369cs2I2OEeJbKlCnDoEGDSE1NJTo6GovFglqtpnTp0pm+JzJGftaoUSPbfK84nU7gdg/2DBcuXGD79u1ER0ffddVynU5HgQIFKFOmzDPLmVvkyiIZ3O5LNmLECNRqNZs3byZ//vxYrVbef/991qxZw5kzZzhz5gwVKlTI1NjOYrFw9epVjEYjDoeDLl26cPToUX799Ve8vb0pUKDAQ/Un27hxIxs2bHA1/k9NTWXgwIEUKFDgqV2zyL0aNGjAmTNn2LRpE9WqVZPpNkKIx5YxmjopKcnNSYQQInsaPHgwixcv5siRI3zzzTd06tSJGjVquDvWYxs2bBijR48mISGBTz/9lDFjxshrSZFn+fj43Lf1UaFChYDbbSmyi4xiXXp6Omazmblz53Lz5k3gdq/Z0NBQgoKCCAkJITQ0lICAgGxT4MuJcu0jp1arGT16NM899xx6vd5VXVUUxTUd89ChQ9hsNtasWYPT6cRut3Pjxg1XhTYtLY3jx4+zcuVKfH190Wg0BAYG3ve8aWlpDB8+nB07drgKZDVr1mTSpElSIBOPrUCBAnTp0gVFUZg+fToAdrudWbNm8d1338mKRUKIh5axYE1qaqq7o4iHJNMthXj2OnfuTM+ePXE4HCxdupSNGze6O9JjMxqNTJo0ieDgYLy8vBgxYoS7IwmRbel0OlQqFfHx8e6OkonBYODSpUt899133Lx5k1KlSjFo0CD69+/PG2+8wYsvvkiVKlXIly+fFMieUK5/9Dp06EDHjh1JTExEURT8/PwIDw/HbrcTHR3N9OnT8fHxoXDhwpjNZry9vV1TI1UqFYcOHQJuFyQ6dOjA66+/fs9zrV+/nuHDh6NSqbBara6VJQwGw9O/UJHrlSxZEo1Gg8lkYu/evfz4449ERUURGxvLr7/+ysSJE1m0aJH0nBBCPJBWq8VkMrk7hhBCZGvlypVjwIABWCwWtmzZwtGjR90d6Yn897//RavVotVqSUtLc3ccIbItnU5HSkqKu2Nk0rBhQxwOhytXRESEq++5yFq5vkgGUK1aNaZOnepazlmtVmOz2UhPT+fKlSskJSXRsWNH17DLjOKWr68vZrOZtLQ0zGbzHfN5bTabayrmoEGD2LNnD35+fmg0GvR6vat/1F9//cWQIUNYs2aNW5eAFjlfvnz5cDqdrFu3jpiYGEJCQhg0aBCVKlUC4OzZs8yZM8fVY08IIe5Gp9NhNpvdHUMIIbK9IkWKMGzYMACWLFni5jRPrnbt2uh0Ovbt2+fuKEJkS9u3b8disWS7KcnVq1fHw8MDvV5PgwYNcDqd/PHHH5w+fdrd0XKdXNuT7EEsFgs6nQ4/Pz+qVKlCYGAgrVu3JjAwEL1ez7Rp0yhfvjwlS5Zk6dKl+Pv7Ex0dTZEiRYiMjOS7775zFcMA19TKxMRE16IAly9fxsPDw3Xb/v372bZtG82aNZOlWMVjeeutt9i/fz+BgYGULl3a1U+vffv2XLx4kXnz5qFSqVw9h4QQ4m70ej2JiYnujiEekUyfEOLZslqtLFu2jH379uHv7+/qVZSTZaxwfOjQIRo3biw/V4T4l507d6LT6ejZsyc///wzGo2GV1999b59zJ4FtVqNRqNBp9PRtGlTDAYD69atY8mSJeh0Ojp16kSJEiXcmjG3yLM/FT/88EOSk5PJnz8/r7zyCnC7Olu8eHEKFSpEmzZtOH78OJs2bUKj0VCgQAGKFClCTEwM33zzDQaDIVN1OSEhgYoVKzJ16lTGjh3L22+/zahRowgICMBkMrlWEfPy8mLz5s2uFSqEeBQ6nY769etTvnz5TAtOAPz5558AvPjii67CrBBC3I3BYJCRzTmI9CQT4tmbMWMG48eP5+zZs/j7+2O1Wrlw4QJ//PFHjn4dX65cOQBMJhNTp051cxohsh9PT08URSEyMpLLly9z8eJFpkyZwuLFi10rXz5Ixvv/rP5ZYbFYMBqNANSqVYvPPvuMOnXqYLPZWL58eZaeKy/LsyPJwsLCmDZt2h3bjx49yi+//IKfnx9qtZqAgAAGDRrkKohNmjTJ9cS0WCx4eHjw2muvUbFixTuOpdFo+OCDD1xf7927l3Xr1qHX6xkwYADDhw93fZojxJNq3bo18+fPZ82aNezatYuaNWtSrlw5HA4Hdrudy5cv4+Pjc9fnqhAib/H19UVRFJxOp4wiEEKIuzhz5gwBAQEArg+7tVotR44cYdu2bYwdOzbbTcd6GOPGjUOr1WI2m+ndu7e74wiR7VStWpUdO3a4pld369aNv/76izNnznDx4kUGDRp039dOq1at4vDhw66vNRoNfn5+hIaGUqtWLQoWLPhYuW7duoWiKAQFBbm26XQ6WrRogc1m4+DBgxw+fJjnn3/+sY4v/k+eLZLdy+LFi/Hz88NsNt+xPPK6detcwywTExP59NNPH+lJXrt2bUwmEzt27CAgIIBvv/2WTp06uT7REeJJlChRgo8++og1a9Zw/vx5Nm7ceNeVmCwWC9WqVXNDQiFEduHn5wdAXFwcwcHBbk4jhBDZz8SJE7HZbJkW4HI4HMycOROHw8GQIUMoUaIE3bt3d32A/iw5nU527txJdHQ09evXf6j3JF9//TU6nQ5PT09GjRr1DFIKkfM0bdqUixcvcu3aNfLnz0/JkiX58MMP2bNnD+vXr2fBggV06dIFrVbLjRs32Lt3L4GBgVSpUoWrV69y+PBhjEYj5cuXJy4ujoSEBBITEzl27BjHjh3Dx8eHli1bPvTABbvdzu+//865c+cAqFmz5h37tGzZkiNHjrB582YpkmUBKZL9S//+/Rk3bhze3t5s2bKFl156yXXb2rVrMRqNqNVqypcv/1hV4KZNm5I/f37+H3v3HRbVtT18/DuFGQaGoSgICCoWRAUr9m7sGkvUdJNc08u9STTxxhiT602MMWpikpuYXjRFE3uNvSV2UREVVJSO0geY3t4/eDm/EBsqOID78zx5IjNnzlkzMKess/bav/zyCyqViu+//545c+ZU5VsQ7mA6nY777rsPp9PJ0aNHyc/Pl8av63Q6Nm3axIYNG2jSpImoYhSEO1hAQAAAubm5IklWC5QPt5TJZG6ORBDuHCqVCpVKVeExhULBs88+y9atW1m/fj15eXnMnTuXkpISQkNDefTRR2nQoEG1xXTp0iXWrVtHYmIiMplMSuDt3bv3ukMnP/jgA0pKSjAajcyYMaPaYhSEuuCJJ56gtLS0QsFM9+7dOX78OMnJycyaNQudTofBYJDaV+zcuRMoqzh9+umnL2t/U1RUxNatWzl9+jTLly9n586dTJo06bptctavX09SUhIBAQGMHDnyshxEdna2NEGgwWDAarVetu8SboxIkv1NUFAQM2bM4O233+aPP/5Ao9HQr18/Dh06hK+vL3q9Hj8/P5KSkpgxYwYzZsy44T/C6OhoZsyYwcyZM8UfsFAt5HL5FavF/P39Wbx4MZ9++imDBg2ie/fubohOEAR3Ky/VLygocHMkwo0QSTJBqBkGDhzIwIEDOXz4MFu3bqW0tJSSkhI++ugjZDIZkyZNqvIG2r///rs0I6XD4UCj0WCxWFCr1de88blnzx6WL1+Ov78/JpOJ2bNni2H2glAJV2rU/8wzz3D8+HEOHTpEbm4uCoWCIUOGEBgYyOHDhwEYPHjwFRNffn5+jB8/HqvVyurVqzl16hQfffQRTz/9tHTz8kqSkpLw9PTkn//85xWfP3z4MOnp6dLPCxYsqNLzhZrcF7W6ZmoXSbIrqFevHm+99RZvv/02q1evpl+/fixZsgSFQkH//v3ZtWsXOp0Oo9GIwWC4qUSXp6cns2fProboBeHqmjZtypNPPsnixYvZvHkzp06d4h//+Ic4WRKEO0x5kqy8z45Qs9XkE1RBuJPFxsYSGxsLQHJyMt9//z12u51vvvmG4OBgXnjhhSo7x1Kr1dK/FQoFJpMJrVZLYWEhH3zwwRVfs3jxYs6dO4dCoaBx48Y88sgj4pxPEG5Ru3btaNeu3WWPN2nSpFKvV6lUTJgwgSNHjrBu3To+++wzHn30UcLDwy9bNi8vD5PJdM2hmcOGDcNisZCfn4/VasVms1X6vdR2f5/IrsrWWy1rrQP8/f1p1KgRRUVFfPDBB+h0Ovz8/Bg5ciQ7duzAarUybNgwqaGnINQWoaGhTJkyhSVLlpCcnMzXX3/NU0895e6wBEG4jcrvcFZ2liahZhCVZIJQczVr1oy3336b7Oxs5s+fT2FhIZMnT+app56idevWt7z+/v370759e1auXElqaioWiwUfHx9efvnlKya+HA4HCQkJWK1WZs+eXSsnGRCEuqxTp07odDqWLFnCt99+S9OmTRk7dmyFCrb4+Hjgyn3IyimVSsaPH1/t8dZExcXFTJ8+vcrXK24lXMOkSZMwm82UlJRQWFjIP//5T3788Uf8/PyIioqiX79+7g5REG6KUqnk4YcfpkWLFmRnZ3Pw4EHpucTERDZv3kxOTo4bIxQEobrJ5XIMBoO7wxAqQVSSCULtERISwrx584iMjMTDw4Mff/yRBQsW4HQ6b3nd/v7+TJo0iZkzZ/Lee+/x6quvXvGGvdPp5JNPPsHLy4uBAweKBJkg1FAtWrTg2WefpUGDBpw/f54FCxZgtVql5/Pz8wFE/9jbTCTJrkGn0+Hp6YnFYuHJJ59ELpeTmJhISUkJEydOdHd4gnDL7r//flQqFZs2bcJoNPLVV1+xdOlS9u3bx8KFC0lISHB3iIIgVBMPDw+MRqO7wxBugKgkE4Ta44EHHuDVV1/FZrOh1+uZNm1alSTKKmP69Ono9XpKSkoqTEImCELNU79+fTp37gyUJbj/OoSwTZs2APz0009uie1OJYZbXsejjz7K119/zddff02zZs3QarXSLBYKhaLCssnJyfz0008UFBSgVCqRy+Wo1errjpUdOXLkFZusC0J1k8vljB8/np9//pm5c+cCZXdAhw4dyuLFi1m9ejVRUVHVNt5bEAT3UavVWCwWd4chCIJQZwUFBTF37lwWLFgAlDXUnjx5crVvt7z6tF27dqIHmSDUAidOnADK8gLl31mj0ShNBlBdDeqFKxN7zWvIyclh4cKFQNnwtOzsbLy9vaXKm7/avXs3n3/+OS6XC39/f3x8fPD29q5UcsHPz686wheESmnRogUTJkwgKiqKDh068Nhjj9GoUSNGjBiB3W7nf//7H5cuXXJ3mIIgVDGNRnNHNXetC0QlmSDUTi+99BImk4nCwkJphspbVVBQwGeffcY777xDVlZWheemTp1KUVERycnJzJ49+7ZVsAmCcHOGDRuGTCbj999/59y5c6xevZp58+Zx4cIFQkJCeOihh9wd4h1FlIdcQ35+Pl5eXqhUKqZMmcI777xDWloaAFu3bqVx48a0adOG5cuXExcXJzXZ0+v1+Pj44Ofnh0ajwdvbGx8fH3x8fKhfvz4RERHodDp3vjVBqKB169aXNZVt3749aWlpHD16lC+++IJRo0bRvn179wQoCEKV8/b2FgnwWkL0JBOE2u/1119n5syZ/PLLL3Ts2BEPD4+bWs+5c+f4/PPPUavVqFQqAObNm8e8efOkCpSAgADmzZvHzJkzsVqt/Pvf/+btt98WvckEoYZq0KABY8eOZcWKFdLQSp1Ox9ixYys9a6ZQdUSS7BpatWpFcXExcrkcm81G48aNKSoqon///qxZs4Zvv/2WYcOGcfToUekgJZfLmTt37mVDMQWhNho1ahSxsbF89913rF69GpvNJo2ZFwShdiu/WWO1WqVjmFCziUoyQai9dDodffv25ejRo3z88cdMmTLlptazePFiabTKPffcw++//w7AG2+8gdFopEOHDjz66KMoFAr++9//8tlnnwHw1ltvMWfOnCp7P4IgVK2YmBi8vLy4ePEioaGhREREuDukO5YYbnkd9913Hx4eHnz44Yekp6djtVrp2bMno0aNwsvL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Ff1rnoH/JtOfoX9avXp1ZGVlRUlJyckdEFIs03w2NTXFfffdF6NHj46cnJy48MIL/T8XTqJMM/rKK6/ERRddFKecckrk5+fH/Pnz49dff+2haSE9Pvnkk5g+fXqceeaZkZWVFVVVVf96zObNm+OSSy6JnJycuOCCC2LlypUZn7dPlGRr1qyJ8vLyqKysjB07dsSkSZOiuLg4Dh482On+LVu2xIwZM2LWrFlRV1cXJSUlUVJSEl999VUPTw79X6b53Lx5c8yYMSM+/vjjqK2tjfz8/Ljhhhti//79PTw5pEOmGf3Tvn374qGHHoqrr766hyaF9Mk0ny0tLXH99dfHvn374t133409e/bEihUrYsyYMT08OaRDphldtWpVVFRURGVlZezatSveeuutWLNmTSxatKiHJ4f+r7m5OSZNmhTLli07of3ff/99TJs2La677rrYuXNnPPDAAzF79uzYsGFDRufNSpIk6crA3WnKlClx2WWXxdKlSyMioq2tLfLz82Pu3LlRUVHxt/2lpaXR3Nwc69ata1+74ooroqCgIJYvX95jc0MaZJrPv2ptbY1hw4bF0qVL48477zzZ40LqdCWjra2tcc0118Tdd98dn376aTQ1NZ3Qb+eAzGSaz+XLl8cLL7wQu3fvjsGDB/f0uJA6mWb0/vvvj127dsWmTZva1x588MH44osv4rPPPuuxuSFtsrKyYu3atf/49MOCBQti/fr1HW6euu2226KpqSlqampO+Fy9fidZS0tLbN++PYqKitrXBgwYEEVFRVFbW9vpMbW1tR32R0QUFxcfdz/QNV3J51/9/PPP8fvvv8fw4cNP1piQWl3N6JNPPhkjR46MWbNm9cSYkEpdyef7778fhYWFcd9990VeXl6MHz8+nn322Whtbe2psSE1upLRqVOnxvbt29sfydy7d29UV1fHjTfe2CMzA8fXXT3RoO4cqisOHz4cra2tkZeX12E9Ly8vdu/e3ekxDQ0Nne5vaGg4aXNCGnUln3+1YMGCOPPMM//2Dxbw33Ulo5999lm89dZbsXPnzh6YENKrK/ncu3dvfPTRR3HHHXdEdXV1fPvtt3HvvffG77//HpWVlT0xNqRGVzJ6++23x+HDh+Oqq66KJEnijz/+iHvuucfjltAHHK8nOnr0aPzyyy9xyimnnNDr9PqdZED/tWTJkli9enWsXbs2cnNze3scSL1jx45FWVlZrFixIkaMGNHb4wB/0dbWFiNHjow33ngjJk+eHKWlpfHII494OxHoIzZv3hzPPvtsvPbaa7Fjx4547733Yv369fHUU0/19mhAN+n1O8lGjBgRAwcOjMbGxg7rjY2NMWrUqE6PGTVqVEb7ga7pSj7/9OKLL8aSJUviww8/jIkTJ57MMSG1Ms3od999F/v27Yvp06e3r7W1tUVExKBBg2LPnj1x/vnnn9yhISW68jN09OjRMXjw4Bg4cGD72sUXXxwNDQ3R0tIS2dnZJ3VmSJOuZPTRRx+NsrKymD17dkRETJgwIZqbm2POnDnxyCOPxIAB7kGB3nK8nmjIkCEnfBdZRB+4kyw7OzsmT57c4c0P29raYtOmTVFYWNjpMYWFhR32R0Rs3LjxuPuBrulKPiMinn/++XjqqaeipqYmLr300p4YFVIp04yOGzcuvvzyy9i5c2f710033dT+KUD5+fk9OT70a135GXrllVfGt99+215eR0R88803MXr0aAUZdLOuZPTnn3/+WxH2Z6ndBz4PD1Kt23qipA9YvXp1kpOTk6xcuTL5+uuvkzlz5iSnn3560tDQkCRJkpSVlSUVFRXt+z///PNk0KBByYsvvpjs2rUrqaysTAYPHpx8+eWXvXUJ0G9lms8lS5Yk2dnZybvvvpscOHCg/evYsWO9dQnQr2Wa0b+aOXNmcvPNN/fQtJAumeazvr4+Oe2005L7778/2bNnT7Ju3bpk5MiRydNPP91blwD9WqYZraysTE477bTk7bffTvbu3Zt88MEHyfnnn5/ceuutvXUJ0G8dO3YsqaurS+rq6pKISF5++eWkrq4u+eGHH5IkSZKKioqkrKysff/evXuTU089NXn44YeTXbt2JcuWLUsGDhyY1NTUZHTeXn/cMiKitLQ0Dh06FI899lg0NDREQUFB1NTUtL/pWn19fYfGfurUqbFq1apYvHhxLFq0KMaOHRtVVVUxfvz43roE6Lcyzefrr78eLS0tccstt3R4ncrKynj88cd7cnRIhUwzCvScTPOZn58fGzZsiPnz58fEiRNjzJgxMW/evFiwYEFvXQL0a5lmdPHixZGVlRWLFy+O/fv3xxlnnBHTp0+PZ555prcuAfqtbdu2xXXXXdf+fXl5eUREzJw5M1auXBkHDhyI+vr69j8/77zzYv369TF//vx49dVX46yzzoo333wziouLMzpvVpK4LxQAAACAdPOrZQAAAABST0kGAAAAQOopyQAAAABIPSUZAAAAAKmnJAMAAAAg9ZRkAAAAAKSekgwAAACA1FOSAQAAAJB6SjIAAAAAUk9JBgAAAEDqKckAAAAASD0lGQAAAACp93+IJYuo5RfACAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set up United States map plot\n", + "fig = plt.subplots(figsize=(15, 10))\n", + "projection_map = ccrs.PlateCarree()\n", + "ax = plt.axes(projection=projection_map)\n", + "lon_west, lon_east, lat_south, lat_north = -130, -60, 20, 60\n", + "ax.set_extent([lon_west, lon_east, lat_south, lat_north], crs=projection_map)\n", + "ax.coastlines(color=\"black\")\n", + "ax.add_feature(cfeature.BORDERS, edgecolor='grey')\n", + "ax.add_feature(cfeature.STATES, edgecolor=\"grey\")\n", + " \n", + "# Plot Latitude/Longitude Location\n", + "longitudes = location_df[\"longitude\"] # longitude\n", + "latitudes = location_df[\"latitude\"] # latitude\n", + "plt.scatter(longitudes, latitudes, c=\"red\")\n", + "\n", + "plt.title(\"United States Map with Locations\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "Add one final `---` marking the end of your body of content, and then conclude with a brief single paragraph summarizing at a high level the key pieces that were learned and how they tied to your objectives. Look to reiterate what the most important takeaways were.\n", + "\n", + "### What's next?\n", + "Let Jupyter book tie this to the next (sequential) piece of content that people could move on to down below and in the sidebar. However, if this page uniquely enables your reader to tackle other nonsequential concepts throughout this book, or even external content, link to it here!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resources and references\n", + "Finally, be rigorous in your citations and references as necessary. Give credit where credit is due. Also, feel free to link to relevant external material, further reading, documentation, etc. Then you're done! Give yourself a quick review, a high five, and send us a pull request. A few final notes:\n", + " - `Kernel > Restart Kernel and Run All Cells...` to confirm that your notebook will cleanly run from start to finish\n", + " - `Kernel > Restart Kernel and Clear All Outputs...` before committing your notebook, our machines will do the heavy lifting\n", + " - Take credit! Provide author contact information if you'd like; if so, consider adding information here at the bottom of your notebook\n", + " - Give credit! Attribute appropriate authorship for referenced code, information, images, etc.\n", + " - Only include what you're legally allowed: **no copyright infringement or plagiarism**\n", + " \n", + "Thank you for your contribution!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + }, + "nbdime-conflicts": { + "local_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python 3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ], + "remote_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ] + }, + "toc-autonumbering": false + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/_preview/1/_sources/notebooks/foundations/terminology.ipynb b/_preview/1/_sources/notebooks/foundations/terminology.ipynb new file mode 100644 index 0000000..e42c04f --- /dev/null +++ b/_preview/1/_sources/notebooks/foundations/terminology.ipynb @@ -0,0 +1,364 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "\"Great" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Great Circle Terminology" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "If you have an introductory paragraph, lead with it here! Keep it short and tied to your material, then be sure to continue into the required list of topics below,\n", + "\n", + "1. This is a numbered list of the specific topics\n", + "1. These should map approximately to your main sections of content\n", + "1. Or each second-level, `##`, header in your notebook\n", + "1. Keep the size and scope of your notebook in check\n", + "1. And be sure to let the reader know up front the important concepts they'll be leaving with" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "This section was inspired by [this template](https://github.com/alan-turing-institute/the-turing-way/blob/master/book/templates/chapter-template/chapter-landing-page.md) of the wonderful [The Turing Way](https://the-turing-way.netlify.app) Jupyter Book.\n", + "\n", + "Following your overview, tell your reader what concepts, packages, or other background information they'll **need** before learning your material. Tie this explicitly with links to other pages here in Foundations or to relevant external resources. Remove this body text, then populate the Markdown table, denoted in this cell with `|` vertical brackets, below, and fill out the information following. In this table, lay out prerequisite concepts by explicitly linking to other Foundations material or external resources, or describe generally helpful concepts.\n", + "\n", + "Label the importance of each concept explicitly as **helpful/necessary**.\n", + "\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [Intro to Cartopy](https://foundations.projectpythia.org/core/cartopy/cartopy.html) | Necessary | |\n", + "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", + "| Project management | Helpful | |\n", + "\n", + "- **Time to learn**: estimate in minutes. For a rough idea, use 5 mins per subsection, 10 if longer; add these up for a total. Safer to round up and overestimate.\n", + "- **System requirements**:\n", + " - Populate with any system, version, or non-Python software requirements if necessary\n", + " - Otherwise use the concepts table above and the Imports section below to describe required packages as necessary\n", + " - If no extra requirements, remove the **System requirements** point altogether" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports\n", + "Begin your body of content with another `---` divider before continuing into this section, then remove this body text and populate the following code cell with all necessary Python imports **up-front**:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your first content section" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is where you begin your first section of material, loosely tied to your objectives stated up front. Tie together your notebook as a narrative, with interspersed Markdown text, images, and more as necessary," + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello world!\n" + ] + } + ], + "source": [ + "# as well as any and all of your code cells\n", + "print(\"Hello world!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A content subsection\n", + "Divide and conquer your objectives with Markdown subsections, which will populate the helpful navbar in Jupyter Lab and here on the Jupyter Book!" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# some subsection code\n", + "new = \"helpful information\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Another content subsection\n", + "Keep up the good work! A note, *try to avoid using code comments as narrative*, and instead let them only exist as brief clarifications where necessary." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your second content section\n", + "Here we can move on to our second objective, and we can demonstrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Subsection to the second section\n", + "\n", + "#### a quick demonstration\n", + "\n", + "##### of further and further\n", + "\n", + "###### header levels" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "as well $m = a * t / h$ text! Similarly, you have access to other $\\LaTeX$ equation [**functionality**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Typesetting%20Equations.html) via MathJax (demo below from link),\n", + "\n", + "\\begin{align}\n", + "\\dot{x} & = \\sigma(y-x) \\\\\n", + "\\dot{y} & = \\rho x - y - xz \\\\\n", + "\\dot{z} & = -\\beta z + xy\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check out [**any number of helpful Markdown resources**](https://www.markdownguide.org/basic-syntax/) for further customizing your notebooks and the [**Jupyter docs**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html) for Jupyter-specific formatting information. Don't hesitate to ask questions if you have problems getting it to look *just right*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Last Section\n", + "\n", + "If you're comfortable, and as we briefly used for our embedded logo up top, you can embed raw html into Jupyter Markdown cells (edit to see):" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Info

\n", + " Your relevant information here!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Feel free to copy this around and edit or play around with yourself. Some other `admonitions` you can put in:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Success

\n", + " We got this done after all!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Warning

\n", + " Be careful!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Danger

\n", + " Scary stuff be here.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/content/metadata.html#jupyter-cell-tags) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "Add one final `---` marking the end of your body of content, and then conclude with a brief single paragraph summarizing at a high level the key pieces that were learned and how they tied to your objectives. Look to reiterate what the most important takeaways were.\n", + "\n", + "### What's next?\n", + "Let Jupyter book tie this to the next (sequential) piece of content that people could move on to down below and in the sidebar. However, if this page uniquely enables your reader to tackle other nonsequential concepts throughout this book, or even external content, link to it here!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resources and references\n", + "Finally, be rigorous in your citations and references as necessary. Give credit where credit is due. Also, feel free to link to relevant external material, further reading, documentation, etc. Then you're done! Give yourself a quick review, a high five, and send us a pull request. A few final notes:\n", + " - `Kernel > Restart Kernel and Run All Cells...` to confirm that your notebook will cleanly run from start to finish\n", + " - `Kernel > Restart Kernel and Clear All Outputs...` before committing your notebook, our machines will do the heavy lifting\n", + " - Take credit! Provide author contact information if you'd like; if so, consider adding information here at the bottom of your notebook\n", + " - Give credit! Attribute appropriate authorship for referenced code, information, images, etc.\n", + " - Only include what you're legally allowed: **no copyright infringement or plagiarism**\n", + " \n", + "Thank you for your contribution!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + }, + "nbdime-conflicts": { + "local_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python 3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ], + "remote_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ] + }, + "toc-autonumbering": false + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/_preview/1/_sources/notebooks/how-to-cite.md b/_preview/1/_sources/notebooks/how-to-cite.md new file mode 100644 index 0000000..01390db --- /dev/null +++ b/_preview/1/_sources/notebooks/how-to-cite.md @@ -0,0 +1,7 @@ +# How to Cite This Cookbook + +The material in this Project Pythia Cookbook is licensed for free and open consumption and reuse. All code is served under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0), while all non-code content is licensed under [Creative Commons BY 4.0 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/). Effectively, this means you are free to share and adapt this material so long as you give appropriate credit to the Cookbook authors and the Project Pythia community. + +The source code for the book is [released on GitHub](https://github.com/ProjectPythia/cookbook-template) and archived on Zenodo. This DOI will always resolve to the latest release of the book source: + +[![DOI](https://zenodo.org/badge/475509405.svg)](https://zenodo.org/badge/latestdoi/475509405) diff --git a/_preview/1/_sources/notebooks/notebook-template.ipynb b/_preview/1/_sources/notebooks/notebook-template.ipynb new file mode 100644 index 0000000..dad9f26 --- /dev/null +++ b/_preview/1/_sources/notebooks/notebook-template.ipynb @@ -0,0 +1,358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start here! If you can directly link to an image relevant to your notebook, such as [canonical logos](https://github.com/numpy/numpy/blob/main/doc/source/_static/numpylogo.svg), do so here at the top of your notebook. You can do this with Markdown syntax,\n", + "\n", + "> `![](http://link.com/to/image.png \"image alt text\")`\n", + "\n", + "or edit this cell to see raw HTML `img` demonstration. This is preferred if you need to shrink your embedded image. **Either way be sure to include `alt` text for any embedded images to make your content more accessible.**\n", + "\n", + "\"Project" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Project Pythia Notebook Template\n", + "\n", + "Next, title your notebook appropriately with a top-level Markdown header, `#`. Do not use this level header anywhere else in the notebook. Our book build process will use this title in the navbar, table of contents, etc. Keep it short, keep it descriptive. Follow this with a `---` cell to visually distinguish the transition to the prerequisites section." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "If you have an introductory paragraph, lead with it here! Keep it short and tied to your material, then be sure to continue into the required list of topics below,\n", + "\n", + "1. This is a numbered list of the specific topics\n", + "1. These should map approximately to your main sections of content\n", + "1. Or each second-level, `##`, header in your notebook\n", + "1. Keep the size and scope of your notebook in check\n", + "1. And be sure to let the reader know up front the important concepts they'll be leaving with" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Prerequisites\n", + "This section was inspired by [this template](https://github.com/alan-turing-institute/the-turing-way/blob/master/book/templates/chapter-template/chapter-landing-page.md) of the wonderful [The Turing Way](https://the-turing-way.netlify.app) Jupyter Book.\n", + "\n", + "Following your overview, tell your reader what concepts, packages, or other background information they'll **need** before learning your material. Tie this explicitly with links to other pages here in Foundations or to relevant external resources. Remove this body text, then populate the Markdown table, denoted in this cell with `|` vertical brackets, below, and fill out the information following. In this table, lay out prerequisite concepts by explicitly linking to other Foundations material or external resources, or describe generally helpful concepts.\n", + "\n", + "Label the importance of each concept explicitly as **helpful/necessary**.\n", + "\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [Intro to Cartopy](https://foundations.projectpythia.org/core/cartopy/cartopy.html) | Necessary | |\n", + "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", + "| Project management | Helpful | |\n", + "\n", + "- **Time to learn**: estimate in minutes. For a rough idea, use 5 mins per subsection, 10 if longer; add these up for a total. Safer to round up and overestimate.\n", + "- **System requirements**:\n", + " - Populate with any system, version, or non-Python software requirements if necessary\n", + " - Otherwise use the concepts table above and the Imports section below to describe required packages as necessary\n", + " - If no extra requirements, remove the **System requirements** point altogether" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports\n", + "Begin your body of content with another `---` divider before continuing into this section, then remove this body text and populate the following code cell with all necessary Python imports **up-front**:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import sys" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your first content section" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is where you begin your first section of material, loosely tied to your objectives stated up front. Tie together your notebook as a narrative, with interspersed Markdown text, images, and more as necessary," + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# as well as any and all of your code cells\n", + "print(\"Hello world!\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A content subsection\n", + "Divide and conquer your objectives with Markdown subsections, which will populate the helpful navbar in Jupyter Lab and here on the Jupyter Book!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# some subsection code\n", + "new = \"helpful information\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Another content subsection\n", + "Keep up the good work! A note, *try to avoid using code comments as narrative*, and instead let them only exist as brief clarifications where necessary." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Your second content section\n", + "Here we can move on to our second objective, and we can demonstrate" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Subsection to the second section\n", + "\n", + "#### a quick demonstration\n", + "\n", + "##### of further and further\n", + "\n", + "###### header levels" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "as well $m = a * t / h$ text! Similarly, you have access to other $\\LaTeX$ equation [**functionality**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Typesetting%20Equations.html) via MathJax (demo below from link),\n", + "\n", + "\\begin{align}\n", + "\\dot{x} & = \\sigma(y-x) \\\\\n", + "\\dot{y} & = \\rho x - y - xz \\\\\n", + "\\dot{z} & = -\\beta z + xy\n", + "\\end{align}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check out [**any number of helpful Markdown resources**](https://www.markdownguide.org/basic-syntax/) for further customizing your notebooks and the [**Jupyter docs**](https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html) for Jupyter-specific formatting information. Don't hesitate to ask questions if you have problems getting it to look *just right*." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Last Section\n", + "\n", + "If you're comfortable, and as we briefly used for our embedded logo up top, you can embed raw html into Jupyter Markdown cells (edit to see):" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Info

\n", + " Your relevant information here!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Feel free to copy this around and edit or play around with yourself. Some other `admonitions` you can put in:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Success

\n", + " We got this done after all!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Warning

\n", + " Be careful!\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
\n", + "

Danger

\n", + " Scary stuff be here.\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We also suggest checking out Jupyter Book's [brief demonstration](https://jupyterbook.org/content/metadata.html#jupyter-cell-tags) on adding cell tags to your cells in Jupyter Notebook, Lab, or manually. Using these cell tags can allow you to [customize](https://jupyterbook.org/interactive/hiding.html) how your code content is displayed and even [demonstrate errors](https://jupyterbook.org/content/execute.html#dealing-with-code-that-raises-errors) without altogether crashing our loyal army of machines!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Summary\n", + "Add one final `---` marking the end of your body of content, and then conclude with a brief single paragraph summarizing at a high level the key pieces that were learned and how they tied to your objectives. Look to reiterate what the most important takeaways were.\n", + "\n", + "### What's next?\n", + "Let Jupyter book tie this to the next (sequential) piece of content that people could move on to down below and in the sidebar. However, if this page uniquely enables your reader to tackle other nonsequential concepts throughout this book, or even external content, link to it here!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resources and references\n", + "Finally, be rigorous in your citations and references as necessary. Give credit where credit is due. Also, feel free to link to relevant external material, further reading, documentation, etc. Then you're done! Give yourself a quick review, a high five, and send us a pull request. A few final notes:\n", + " - `Kernel > Restart Kernel and Run All Cells...` to confirm that your notebook will cleanly run from start to finish\n", + " - `Kernel > Restart Kernel and Clear All Outputs...` before committing your notebook, our machines will do the heavy lifting\n", + " - Take credit! Provide author contact information if you'd like; if so, consider adding information here at the bottom of your notebook\n", + " - Give credit! Attribute appropriate authorship for referenced code, information, images, etc.\n", + " - Only include what you're legally allowed: **no copyright infringement or plagiarism**\n", + " \n", + "Thank you for your contribution!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.8" + }, + "nbdime-conflicts": { + "local_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python 3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ], + "remote_diff": [ + { + "diff": [ + { + "diff": [ + { + "key": 0, + "op": "addrange", + "valuelist": [ + "Python3" + ] + }, + { + "key": 0, + "length": 1, + "op": "removerange" + } + ], + "key": "display_name", + "op": "patch" + } + ], + "key": "kernelspec", + "op": "patch" + } + ] + }, + "toc-autonumbering": false + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/_preview/1/_sphinx_design_static/design-tabs.js b/_preview/1/_sphinx_design_static/design-tabs.js new file mode 100644 index 0000000..b25bd6a --- /dev/null +++ b/_preview/1/_sphinx_design_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_preview/1/_sphinx_design_static/sphinx-design.min.css b/_preview/1/_sphinx_design_static/sphinx-design.min.css new file mode 100644 index 0000000..860c36d --- /dev/null +++ b/_preview/1/_sphinx_design_static/sphinx-design.min.css @@ -0,0 +1 @@ +.sd-bg-primary{background-color:var(--sd-color-primary) !important}.sd-bg-text-primary{color:var(--sd-color-primary-text) !important}button.sd-bg-primary:focus,button.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}a.sd-bg-primary:focus,a.sd-bg-primary:hover{background-color:var(--sd-color-primary-highlight) !important}.sd-bg-secondary{background-color:var(--sd-color-secondary) !important}.sd-bg-text-secondary{color:var(--sd-color-secondary-text) !important}button.sd-bg-secondary:focus,button.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}a.sd-bg-secondary:focus,a.sd-bg-secondary:hover{background-color:var(--sd-color-secondary-highlight) !important}.sd-bg-success{background-color:var(--sd-color-success) !important}.sd-bg-text-success{color:var(--sd-color-success-text) !important}button.sd-bg-success:focus,button.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}a.sd-bg-success:focus,a.sd-bg-success:hover{background-color:var(--sd-color-success-highlight) !important}.sd-bg-info{background-color:var(--sd-color-info) !important}.sd-bg-text-info{color:var(--sd-color-info-text) !important}button.sd-bg-info:focus,button.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}a.sd-bg-info:focus,a.sd-bg-info:hover{background-color:var(--sd-color-info-highlight) !important}.sd-bg-warning{background-color:var(--sd-color-warning) !important}.sd-bg-text-warning{color:var(--sd-color-warning-text) !important}button.sd-bg-warning:focus,button.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}a.sd-bg-warning:focus,a.sd-bg-warning:hover{background-color:var(--sd-color-warning-highlight) !important}.sd-bg-danger{background-color:var(--sd-color-danger) !important}.sd-bg-text-danger{color:var(--sd-color-danger-text) !important}button.sd-bg-danger:focus,button.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}a.sd-bg-danger:focus,a.sd-bg-danger:hover{background-color:var(--sd-color-danger-highlight) !important}.sd-bg-light{background-color:var(--sd-color-light) !important}.sd-bg-text-light{color:var(--sd-color-light-text) !important}button.sd-bg-light:focus,button.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}a.sd-bg-light:focus,a.sd-bg-light:hover{background-color:var(--sd-color-light-highlight) !important}.sd-bg-muted{background-color:var(--sd-color-muted) !important}.sd-bg-text-muted{color:var(--sd-color-muted-text) !important}button.sd-bg-muted:focus,button.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}a.sd-bg-muted:focus,a.sd-bg-muted:hover{background-color:var(--sd-color-muted-highlight) !important}.sd-bg-dark{background-color:var(--sd-color-dark) !important}.sd-bg-text-dark{color:var(--sd-color-dark-text) !important}button.sd-bg-dark:focus,button.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}a.sd-bg-dark:focus,a.sd-bg-dark:hover{background-color:var(--sd-color-dark-highlight) !important}.sd-bg-black{background-color:var(--sd-color-black) !important}.sd-bg-text-black{color:var(--sd-color-black-text) !important}button.sd-bg-black:focus,button.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}a.sd-bg-black:focus,a.sd-bg-black:hover{background-color:var(--sd-color-black-highlight) !important}.sd-bg-white{background-color:var(--sd-color-white) !important}.sd-bg-text-white{color:var(--sd-color-white-text) !important}button.sd-bg-white:focus,button.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}a.sd-bg-white:focus,a.sd-bg-white:hover{background-color:var(--sd-color-white-highlight) !important}.sd-text-primary,.sd-text-primary>p{color:var(--sd-color-primary) !important}a.sd-text-primary:focus,a.sd-text-primary:hover{color:var(--sd-color-primary-highlight) !important}.sd-text-secondary,.sd-text-secondary>p{color:var(--sd-color-secondary) !important}a.sd-text-secondary:focus,a.sd-text-secondary:hover{color:var(--sd-color-secondary-highlight) !important}.sd-text-success,.sd-text-success>p{color:var(--sd-color-success) !important}a.sd-text-success:focus,a.sd-text-success:hover{color:var(--sd-color-success-highlight) !important}.sd-text-info,.sd-text-info>p{color:var(--sd-color-info) !important}a.sd-text-info:focus,a.sd-text-info:hover{color:var(--sd-color-info-highlight) !important}.sd-text-warning,.sd-text-warning>p{color:var(--sd-color-warning) !important}a.sd-text-warning:focus,a.sd-text-warning:hover{color:var(--sd-color-warning-highlight) !important}.sd-text-danger,.sd-text-danger>p{color:var(--sd-color-danger) !important}a.sd-text-danger:focus,a.sd-text-danger:hover{color:var(--sd-color-danger-highlight) !important}.sd-text-light,.sd-text-light>p{color:var(--sd-color-light) !important}a.sd-text-light:focus,a.sd-text-light:hover{color:var(--sd-color-light-highlight) !important}.sd-text-muted,.sd-text-muted>p{color:var(--sd-color-muted) !important}a.sd-text-muted:focus,a.sd-text-muted:hover{color:var(--sd-color-muted-highlight) !important}.sd-text-dark,.sd-text-dark>p{color:var(--sd-color-dark) !important}a.sd-text-dark:focus,a.sd-text-dark:hover{color:var(--sd-color-dark-highlight) !important}.sd-text-black,.sd-text-black>p{color:var(--sd-color-black) !important}a.sd-text-black:focus,a.sd-text-black:hover{color:var(--sd-color-black-highlight) !important}.sd-text-white,.sd-text-white>p{color:var(--sd-color-white) !important}a.sd-text-white:focus,a.sd-text-white:hover{color:var(--sd-color-white-highlight) !important}.sd-outline-primary{border-color:var(--sd-color-primary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-primary:focus,a.sd-outline-primary:hover{border-color:var(--sd-color-primary-highlight) !important}.sd-outline-secondary{border-color:var(--sd-color-secondary) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-secondary:focus,a.sd-outline-secondary:hover{border-color:var(--sd-color-secondary-highlight) !important}.sd-outline-success{border-color:var(--sd-color-success) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-success:focus,a.sd-outline-success:hover{border-color:var(--sd-color-success-highlight) !important}.sd-outline-info{border-color:var(--sd-color-info) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-info:focus,a.sd-outline-info:hover{border-color:var(--sd-color-info-highlight) !important}.sd-outline-warning{border-color:var(--sd-color-warning) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-warning:focus,a.sd-outline-warning:hover{border-color:var(--sd-color-warning-highlight) !important}.sd-outline-danger{border-color:var(--sd-color-danger) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-danger:focus,a.sd-outline-danger:hover{border-color:var(--sd-color-danger-highlight) !important}.sd-outline-light{border-color:var(--sd-color-light) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-light:focus,a.sd-outline-light:hover{border-color:var(--sd-color-light-highlight) !important}.sd-outline-muted{border-color:var(--sd-color-muted) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-muted:focus,a.sd-outline-muted:hover{border-color:var(--sd-color-muted-highlight) !important}.sd-outline-dark{border-color:var(--sd-color-dark) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-dark:focus,a.sd-outline-dark:hover{border-color:var(--sd-color-dark-highlight) !important}.sd-outline-black{border-color:var(--sd-color-black) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-black:focus,a.sd-outline-black:hover{border-color:var(--sd-color-black-highlight) !important}.sd-outline-white{border-color:var(--sd-color-white) !important;border-style:solid !important;border-width:1px !important}a.sd-outline-white:focus,a.sd-outline-white:hover{border-color:var(--sd-color-white-highlight) !important}.sd-bg-transparent{background-color:transparent !important}.sd-outline-transparent{border-color:transparent !important}.sd-text-transparent{color:transparent !important}.sd-p-0{padding:0 !important}.sd-pt-0,.sd-py-0{padding-top:0 !important}.sd-pr-0,.sd-px-0{padding-right:0 !important}.sd-pb-0,.sd-py-0{padding-bottom:0 !important}.sd-pl-0,.sd-px-0{padding-left:0 !important}.sd-p-1{padding:.25rem !important}.sd-pt-1,.sd-py-1{padding-top:.25rem !important}.sd-pr-1,.sd-px-1{padding-right:.25rem !important}.sd-pb-1,.sd-py-1{padding-bottom:.25rem !important}.sd-pl-1,.sd-px-1{padding-left:.25rem !important}.sd-p-2{padding:.5rem !important}.sd-pt-2,.sd-py-2{padding-top:.5rem !important}.sd-pr-2,.sd-px-2{padding-right:.5rem !important}.sd-pb-2,.sd-py-2{padding-bottom:.5rem !important}.sd-pl-2,.sd-px-2{padding-left:.5rem !important}.sd-p-3{padding:1rem !important}.sd-pt-3,.sd-py-3{padding-top:1rem !important}.sd-pr-3,.sd-px-3{padding-right:1rem !important}.sd-pb-3,.sd-py-3{padding-bottom:1rem !important}.sd-pl-3,.sd-px-3{padding-left:1rem !important}.sd-p-4{padding:1.5rem !important}.sd-pt-4,.sd-py-4{padding-top:1.5rem !important}.sd-pr-4,.sd-px-4{padding-right:1.5rem !important}.sd-pb-4,.sd-py-4{padding-bottom:1.5rem !important}.sd-pl-4,.sd-px-4{padding-left:1.5rem !important}.sd-p-5{padding:3rem !important}.sd-pt-5,.sd-py-5{padding-top:3rem !important}.sd-pr-5,.sd-px-5{padding-right:3rem !important}.sd-pb-5,.sd-py-5{padding-bottom:3rem !important}.sd-pl-5,.sd-px-5{padding-left:3rem !important}.sd-m-auto{margin:auto !important}.sd-mt-auto,.sd-my-auto{margin-top:auto !important}.sd-mr-auto,.sd-mx-auto{margin-right:auto !important}.sd-mb-auto,.sd-my-auto{margin-bottom:auto !important}.sd-ml-auto,.sd-mx-auto{margin-left:auto !important}.sd-m-0{margin:0 !important}.sd-mt-0,.sd-my-0{margin-top:0 !important}.sd-mr-0,.sd-mx-0{margin-right:0 !important}.sd-mb-0,.sd-my-0{margin-bottom:0 !important}.sd-ml-0,.sd-mx-0{margin-left:0 !important}.sd-m-1{margin:.25rem !important}.sd-mt-1,.sd-my-1{margin-top:.25rem !important}.sd-mr-1,.sd-mx-1{margin-right:.25rem !important}.sd-mb-1,.sd-my-1{margin-bottom:.25rem !important}.sd-ml-1,.sd-mx-1{margin-left:.25rem !important}.sd-m-2{margin:.5rem !important}.sd-mt-2,.sd-my-2{margin-top:.5rem !important}.sd-mr-2,.sd-mx-2{margin-right:.5rem !important}.sd-mb-2,.sd-my-2{margin-bottom:.5rem !important}.sd-ml-2,.sd-mx-2{margin-left:.5rem !important}.sd-m-3{margin:1rem !important}.sd-mt-3,.sd-my-3{margin-top:1rem !important}.sd-mr-3,.sd-mx-3{margin-right:1rem !important}.sd-mb-3,.sd-my-3{margin-bottom:1rem !important}.sd-ml-3,.sd-mx-3{margin-left:1rem !important}.sd-m-4{margin:1.5rem !important}.sd-mt-4,.sd-my-4{margin-top:1.5rem !important}.sd-mr-4,.sd-mx-4{margin-right:1.5rem !important}.sd-mb-4,.sd-my-4{margin-bottom:1.5rem !important}.sd-ml-4,.sd-mx-4{margin-left:1.5rem !important}.sd-m-5{margin:3rem !important}.sd-mt-5,.sd-my-5{margin-top:3rem !important}.sd-mr-5,.sd-mx-5{margin-right:3rem !important}.sd-mb-5,.sd-my-5{margin-bottom:3rem !important}.sd-ml-5,.sd-mx-5{margin-left:3rem !important}.sd-w-25{width:25% !important}.sd-w-50{width:50% !important}.sd-w-75{width:75% !important}.sd-w-100{width:100% !important}.sd-w-auto{width:auto !important}.sd-h-25{height:25% !important}.sd-h-50{height:50% !important}.sd-h-75{height:75% !important}.sd-h-100{height:100% !important}.sd-h-auto{height:auto !important}.sd-d-none{display:none !important}.sd-d-inline{display:inline !important}.sd-d-inline-block{display:inline-block !important}.sd-d-block{display:block !important}.sd-d-grid{display:grid !important}.sd-d-flex-row{display:-ms-flexbox !important;display:flex !important;flex-direction:row !important}.sd-d-flex-column{display:-ms-flexbox !important;display:flex !important;flex-direction:column !important}.sd-d-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}@media(min-width: 576px){.sd-d-sm-none{display:none !important}.sd-d-sm-inline{display:inline !important}.sd-d-sm-inline-block{display:inline-block !important}.sd-d-sm-block{display:block !important}.sd-d-sm-grid{display:grid !important}.sd-d-sm-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-sm-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 768px){.sd-d-md-none{display:none !important}.sd-d-md-inline{display:inline !important}.sd-d-md-inline-block{display:inline-block !important}.sd-d-md-block{display:block !important}.sd-d-md-grid{display:grid !important}.sd-d-md-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-md-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 992px){.sd-d-lg-none{display:none !important}.sd-d-lg-inline{display:inline !important}.sd-d-lg-inline-block{display:inline-block !important}.sd-d-lg-block{display:block !important}.sd-d-lg-grid{display:grid !important}.sd-d-lg-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-lg-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}@media(min-width: 1200px){.sd-d-xl-none{display:none !important}.sd-d-xl-inline{display:inline !important}.sd-d-xl-inline-block{display:inline-block !important}.sd-d-xl-block{display:block !important}.sd-d-xl-grid{display:grid !important}.sd-d-xl-flex{display:-ms-flexbox !important;display:flex !important}.sd-d-xl-inline-flex{display:-ms-inline-flexbox !important;display:inline-flex !important}}.sd-align-major-start{justify-content:flex-start !important}.sd-align-major-end{justify-content:flex-end !important}.sd-align-major-center{justify-content:center !important}.sd-align-major-justify{justify-content:space-between !important}.sd-align-major-spaced{justify-content:space-evenly !important}.sd-align-minor-start{align-items:flex-start !important}.sd-align-minor-end{align-items:flex-end !important}.sd-align-minor-center{align-items:center !important}.sd-align-minor-stretch{align-items:stretch !important}.sd-text-justify{text-align:justify !important}.sd-text-left{text-align:left !important}.sd-text-right{text-align:right !important}.sd-text-center{text-align:center !important}.sd-font-weight-light{font-weight:300 !important}.sd-font-weight-lighter{font-weight:lighter !important}.sd-font-weight-normal{font-weight:400 !important}.sd-font-weight-bold{font-weight:700 !important}.sd-font-weight-bolder{font-weight:bolder !important}.sd-font-italic{font-style:italic !important}.sd-text-decoration-none{text-decoration:none !important}.sd-text-lowercase{text-transform:lowercase !important}.sd-text-uppercase{text-transform:uppercase !important}.sd-text-capitalize{text-transform:capitalize !important}.sd-text-wrap{white-space:normal !important}.sd-text-nowrap{white-space:nowrap !important}.sd-text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-fs-1,.sd-fs-1>p{font-size:calc(1.375rem + 1.5vw) !important;line-height:unset !important}.sd-fs-2,.sd-fs-2>p{font-size:calc(1.325rem + 0.9vw) !important;line-height:unset !important}.sd-fs-3,.sd-fs-3>p{font-size:calc(1.3rem + 0.6vw) !important;line-height:unset !important}.sd-fs-4,.sd-fs-4>p{font-size:calc(1.275rem + 0.3vw) !important;line-height:unset !important}.sd-fs-5,.sd-fs-5>p{font-size:1.25rem !important;line-height:unset !important}.sd-fs-6,.sd-fs-6>p{font-size:1rem !important;line-height:unset !important}.sd-border-0{border:0 solid !important}.sd-border-top-0{border-top:0 solid !important}.sd-border-bottom-0{border-bottom:0 solid !important}.sd-border-right-0{border-right:0 solid !important}.sd-border-left-0{border-left:0 solid !important}.sd-border-1{border:1px solid !important}.sd-border-top-1{border-top:1px solid !important}.sd-border-bottom-1{border-bottom:1px solid !important}.sd-border-right-1{border-right:1px solid !important}.sd-border-left-1{border-left:1px solid !important}.sd-border-2{border:2px solid !important}.sd-border-top-2{border-top:2px solid !important}.sd-border-bottom-2{border-bottom:2px solid !important}.sd-border-right-2{border-right:2px solid !important}.sd-border-left-2{border-left:2px solid !important}.sd-border-3{border:3px solid !important}.sd-border-top-3{border-top:3px solid !important}.sd-border-bottom-3{border-bottom:3px solid !important}.sd-border-right-3{border-right:3px solid !important}.sd-border-left-3{border-left:3px solid !important}.sd-border-4{border:4px solid !important}.sd-border-top-4{border-top:4px solid !important}.sd-border-bottom-4{border-bottom:4px solid !important}.sd-border-right-4{border-right:4px solid !important}.sd-border-left-4{border-left:4px solid !important}.sd-border-5{border:5px solid !important}.sd-border-top-5{border-top:5px solid !important}.sd-border-bottom-5{border-bottom:5px solid !important}.sd-border-right-5{border-right:5px solid !important}.sd-border-left-5{border-left:5px solid !important}.sd-rounded-0{border-radius:0 !important}.sd-rounded-1{border-radius:.2rem !important}.sd-rounded-2{border-radius:.3rem !important}.sd-rounded-3{border-radius:.5rem !important}.sd-rounded-pill{border-radius:50rem !important}.sd-rounded-circle{border-radius:50% !important}.shadow-none{box-shadow:none !important}.sd-shadow-sm{box-shadow:0 .125rem .25rem var(--sd-color-shadow) !important}.sd-shadow-md{box-shadow:0 .5rem 1rem var(--sd-color-shadow) !important}.sd-shadow-lg{box-shadow:0 1rem 3rem var(--sd-color-shadow) !important}@keyframes sd-slide-from-left{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes sd-slide-from-right{0%{transform:translateX(200%)}100%{transform:translateX(0)}}@keyframes sd-grow100{0%{transform:scale(0);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50{0%{transform:scale(0.5);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes sd-grow50-rot20{0%{transform:scale(0.5) rotateZ(-20deg);opacity:.5}75%{transform:scale(1) rotateZ(5deg);opacity:1}95%{transform:scale(1) rotateZ(-1deg);opacity:1}100%{transform:scale(1) rotateZ(0);opacity:1}}.sd-animate-slide-from-left{animation:1s ease-out 0s 1 normal none running sd-slide-from-left}.sd-animate-slide-from-right{animation:1s ease-out 0s 1 normal none running sd-slide-from-right}.sd-animate-grow100{animation:1s ease-out 0s 1 normal none running sd-grow100}.sd-animate-grow50{animation:1s ease-out 0s 1 normal none running sd-grow50}.sd-animate-grow50-rot20{animation:1s ease-out 0s 1 normal none running sd-grow50-rot20}.sd-badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.sd-badge:empty{display:none}a.sd-badge{text-decoration:none}.sd-btn .sd-badge{position:relative;top:-1px}.sd-btn{background-color:transparent;border:1px solid transparent;border-radius:.25rem;cursor:pointer;display:inline-block;font-weight:400;font-size:1rem;line-height:1.5;padding:.375rem .75rem;text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:middle;user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none}.sd-btn:hover{text-decoration:none}@media(prefers-reduced-motion: reduce){.sd-btn{transition:none}}.sd-btn-primary,.sd-btn-outline-primary:hover,.sd-btn-outline-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-primary:hover,.sd-btn-primary:focus{color:var(--sd-color-primary-text) !important;background-color:var(--sd-color-primary-highlight) !important;border-color:var(--sd-color-primary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-primary{color:var(--sd-color-primary) !important;border-color:var(--sd-color-primary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary,.sd-btn-outline-secondary:hover,.sd-btn-outline-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-secondary:hover,.sd-btn-secondary:focus{color:var(--sd-color-secondary-text) !important;background-color:var(--sd-color-secondary-highlight) !important;border-color:var(--sd-color-secondary-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-secondary{color:var(--sd-color-secondary) !important;border-color:var(--sd-color-secondary) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success,.sd-btn-outline-success:hover,.sd-btn-outline-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-success:hover,.sd-btn-success:focus{color:var(--sd-color-success-text) !important;background-color:var(--sd-color-success-highlight) !important;border-color:var(--sd-color-success-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-success{color:var(--sd-color-success) !important;border-color:var(--sd-color-success) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info,.sd-btn-outline-info:hover,.sd-btn-outline-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-info:hover,.sd-btn-info:focus{color:var(--sd-color-info-text) !important;background-color:var(--sd-color-info-highlight) !important;border-color:var(--sd-color-info-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-info{color:var(--sd-color-info) !important;border-color:var(--sd-color-info) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning,.sd-btn-outline-warning:hover,.sd-btn-outline-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-warning:hover,.sd-btn-warning:focus{color:var(--sd-color-warning-text) !important;background-color:var(--sd-color-warning-highlight) !important;border-color:var(--sd-color-warning-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-warning{color:var(--sd-color-warning) !important;border-color:var(--sd-color-warning) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger,.sd-btn-outline-danger:hover,.sd-btn-outline-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-danger:hover,.sd-btn-danger:focus{color:var(--sd-color-danger-text) !important;background-color:var(--sd-color-danger-highlight) !important;border-color:var(--sd-color-danger-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-danger{color:var(--sd-color-danger) !important;border-color:var(--sd-color-danger) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light,.sd-btn-outline-light:hover,.sd-btn-outline-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-light:hover,.sd-btn-light:focus{color:var(--sd-color-light-text) !important;background-color:var(--sd-color-light-highlight) !important;border-color:var(--sd-color-light-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-light{color:var(--sd-color-light) !important;border-color:var(--sd-color-light) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted,.sd-btn-outline-muted:hover,.sd-btn-outline-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-muted:hover,.sd-btn-muted:focus{color:var(--sd-color-muted-text) !important;background-color:var(--sd-color-muted-highlight) !important;border-color:var(--sd-color-muted-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-muted{color:var(--sd-color-muted) !important;border-color:var(--sd-color-muted) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark,.sd-btn-outline-dark:hover,.sd-btn-outline-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-dark:hover,.sd-btn-dark:focus{color:var(--sd-color-dark-text) !important;background-color:var(--sd-color-dark-highlight) !important;border-color:var(--sd-color-dark-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-dark{color:var(--sd-color-dark) !important;border-color:var(--sd-color-dark) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black,.sd-btn-outline-black:hover,.sd-btn-outline-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-black:hover,.sd-btn-black:focus{color:var(--sd-color-black-text) !important;background-color:var(--sd-color-black-highlight) !important;border-color:var(--sd-color-black-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-black{color:var(--sd-color-black) !important;border-color:var(--sd-color-black) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white,.sd-btn-outline-white:hover,.sd-btn-outline-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-btn-white:hover,.sd-btn-white:focus{color:var(--sd-color-white-text) !important;background-color:var(--sd-color-white-highlight) !important;border-color:var(--sd-color-white-highlight) !important;border-width:1px !important;border-style:solid !important}.sd-btn-outline-white{color:var(--sd-color-white) !important;border-color:var(--sd-color-white) !important;border-width:1px !important;border-style:solid !important}.sd-stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.sd-hide-link-text{font-size:0}.sd-octicon,.sd-material-icon{display:inline-block;fill:currentColor;vertical-align:middle}.sd-avatar-xs{border-radius:50%;object-fit:cover;object-position:center;width:1rem;height:1rem}.sd-avatar-sm{border-radius:50%;object-fit:cover;object-position:center;width:3rem;height:3rem}.sd-avatar-md{border-radius:50%;object-fit:cover;object-position:center;width:5rem;height:5rem}.sd-avatar-lg{border-radius:50%;object-fit:cover;object-position:center;width:7rem;height:7rem}.sd-avatar-xl{border-radius:50%;object-fit:cover;object-position:center;width:10rem;height:10rem}.sd-avatar-inherit{border-radius:50%;object-fit:cover;object-position:center;width:inherit;height:inherit}.sd-avatar-initial{border-radius:50%;object-fit:cover;object-position:center;width:initial;height:initial}.sd-card{background-clip:border-box;background-color:var(--sd-color-card-background);border:1px solid var(--sd-color-card-border);border-radius:.25rem;color:var(--sd-color-card-text);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;position:relative;word-wrap:break-word}.sd-card>hr{margin-left:0;margin-right:0}.sd-card-hover:hover{border-color:var(--sd-color-card-border-hover);transform:scale(1.01)}.sd-card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem 1rem}.sd-card-title{margin-bottom:.5rem}.sd-card-subtitle{margin-top:-0.25rem;margin-bottom:0}.sd-card-text:last-child{margin-bottom:0}.sd-card-link:hover{text-decoration:none}.sd-card-link+.card-link{margin-left:1rem}.sd-card-header{padding:.5rem 1rem;margin-bottom:0;background-color:var(--sd-color-card-header);border-bottom:1px solid var(--sd-color-card-border)}.sd-card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.sd-card-footer{padding:.5rem 1rem;background-color:var(--sd-color-card-footer);border-top:1px solid var(--sd-color-card-border)}.sd-card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.sd-card-header-tabs{margin-right:-0.5rem;margin-bottom:-0.5rem;margin-left:-0.5rem;border-bottom:0}.sd-card-header-pills{margin-right:-0.5rem;margin-left:-0.5rem}.sd-card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom,.sd-card-img-top{width:100%}.sd-card-img,.sd-card-img-top{border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.sd-card-img,.sd-card-img-bottom{border-bottom-left-radius:calc(0.25rem - 1px);border-bottom-right-radius:calc(0.25rem - 1px)}.sd-cards-carousel{width:100%;display:flex;flex-wrap:nowrap;-ms-flex-direction:row;flex-direction:row;overflow-x:hidden;scroll-snap-type:x mandatory}.sd-cards-carousel.sd-show-scrollbar{overflow-x:auto}.sd-cards-carousel:hover,.sd-cards-carousel:focus{overflow-x:auto}.sd-cards-carousel>.sd-card{flex-shrink:0;scroll-snap-align:start}.sd-cards-carousel>.sd-card:not(:last-child){margin-right:3px}.sd-card-cols-1>.sd-card{width:90%}.sd-card-cols-2>.sd-card{width:45%}.sd-card-cols-3>.sd-card{width:30%}.sd-card-cols-4>.sd-card{width:22.5%}.sd-card-cols-5>.sd-card{width:18%}.sd-card-cols-6>.sd-card{width:15%}.sd-card-cols-7>.sd-card{width:12.8571428571%}.sd-card-cols-8>.sd-card{width:11.25%}.sd-card-cols-9>.sd-card{width:10%}.sd-card-cols-10>.sd-card{width:9%}.sd-card-cols-11>.sd-card{width:8.1818181818%}.sd-card-cols-12>.sd-card{width:7.5%}.sd-container,.sd-container-fluid,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container-xl{margin-left:auto;margin-right:auto;padding-left:var(--sd-gutter-x, 0.75rem);padding-right:var(--sd-gutter-x, 0.75rem);width:100%}@media(min-width: 576px){.sd-container-sm,.sd-container{max-width:540px}}@media(min-width: 768px){.sd-container-md,.sd-container-sm,.sd-container{max-width:720px}}@media(min-width: 992px){.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:960px}}@media(min-width: 1200px){.sd-container-xl,.sd-container-lg,.sd-container-md,.sd-container-sm,.sd-container{max-width:1140px}}.sd-row{--sd-gutter-x: 1.5rem;--sd-gutter-y: 0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(var(--sd-gutter-y) * -1);margin-right:calc(var(--sd-gutter-x) * -0.5);margin-left:calc(var(--sd-gutter-x) * -0.5)}.sd-row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--sd-gutter-x) * 0.5);padding-left:calc(var(--sd-gutter-x) * 0.5);margin-top:var(--sd-gutter-y)}.sd-col{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-auto>*{flex:0 0 auto;width:auto}.sd-row-cols-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}@media(min-width: 576px){.sd-col-sm{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-sm-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-sm-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-sm-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-sm-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-sm-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-sm-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-sm-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-sm-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-sm-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-sm-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-sm-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-sm-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-sm-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 768px){.sd-col-md{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-md-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-md-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-md-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-md-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-md-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-md-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-md-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-md-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-md-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-md-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-md-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-md-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-md-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 992px){.sd-col-lg{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-lg-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-lg-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-lg-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-lg-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-lg-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-lg-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-lg-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-lg-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-lg-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-lg-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-lg-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-lg-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-lg-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}@media(min-width: 1200px){.sd-col-xl{flex:1 0 0%;-ms-flex:1 0 0%}.sd-row-cols-xl-auto{flex:1 0 auto;-ms-flex:1 0 auto;width:100%}.sd-row-cols-xl-1>*{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-row-cols-xl-2>*{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-row-cols-xl-3>*{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-row-cols-xl-4>*{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-row-cols-xl-5>*{flex:0 0 auto;-ms-flex:0 0 auto;width:20%}.sd-row-cols-xl-6>*{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-row-cols-xl-7>*{flex:0 0 auto;-ms-flex:0 0 auto;width:14.2857142857%}.sd-row-cols-xl-8>*{flex:0 0 auto;-ms-flex:0 0 auto;width:12.5%}.sd-row-cols-xl-9>*{flex:0 0 auto;-ms-flex:0 0 auto;width:11.1111111111%}.sd-row-cols-xl-10>*{flex:0 0 auto;-ms-flex:0 0 auto;width:10%}.sd-row-cols-xl-11>*{flex:0 0 auto;-ms-flex:0 0 auto;width:9.0909090909%}.sd-row-cols-xl-12>*{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}}.sd-col-auto{flex:0 0 auto;-ms-flex:0 0 auto;width:auto}.sd-col-1{flex:0 0 auto;-ms-flex:0 0 auto;width:8.3333333333%}.sd-col-2{flex:0 0 auto;-ms-flex:0 0 auto;width:16.6666666667%}.sd-col-3{flex:0 0 auto;-ms-flex:0 0 auto;width:25%}.sd-col-4{flex:0 0 auto;-ms-flex:0 0 auto;width:33.3333333333%}.sd-col-5{flex:0 0 auto;-ms-flex:0 0 auto;width:41.6666666667%}.sd-col-6{flex:0 0 auto;-ms-flex:0 0 auto;width:50%}.sd-col-7{flex:0 0 auto;-ms-flex:0 0 auto;width:58.3333333333%}.sd-col-8{flex:0 0 auto;-ms-flex:0 0 auto;width:66.6666666667%}.sd-col-9{flex:0 0 auto;-ms-flex:0 0 auto;width:75%}.sd-col-10{flex:0 0 auto;-ms-flex:0 0 auto;width:83.3333333333%}.sd-col-11{flex:0 0 auto;-ms-flex:0 0 auto;width:91.6666666667%}.sd-col-12{flex:0 0 auto;-ms-flex:0 0 auto;width:100%}.sd-g-0,.sd-gy-0{--sd-gutter-y: 0}.sd-g-0,.sd-gx-0{--sd-gutter-x: 0}.sd-g-1,.sd-gy-1{--sd-gutter-y: 0.25rem}.sd-g-1,.sd-gx-1{--sd-gutter-x: 0.25rem}.sd-g-2,.sd-gy-2{--sd-gutter-y: 0.5rem}.sd-g-2,.sd-gx-2{--sd-gutter-x: 0.5rem}.sd-g-3,.sd-gy-3{--sd-gutter-y: 1rem}.sd-g-3,.sd-gx-3{--sd-gutter-x: 1rem}.sd-g-4,.sd-gy-4{--sd-gutter-y: 1.5rem}.sd-g-4,.sd-gx-4{--sd-gutter-x: 1.5rem}.sd-g-5,.sd-gy-5{--sd-gutter-y: 3rem}.sd-g-5,.sd-gx-5{--sd-gutter-x: 3rem}@media(min-width: 576px){.sd-col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-sm-0,.sd-gy-sm-0{--sd-gutter-y: 0}.sd-g-sm-0,.sd-gx-sm-0{--sd-gutter-x: 0}.sd-g-sm-1,.sd-gy-sm-1{--sd-gutter-y: 0.25rem}.sd-g-sm-1,.sd-gx-sm-1{--sd-gutter-x: 0.25rem}.sd-g-sm-2,.sd-gy-sm-2{--sd-gutter-y: 0.5rem}.sd-g-sm-2,.sd-gx-sm-2{--sd-gutter-x: 0.5rem}.sd-g-sm-3,.sd-gy-sm-3{--sd-gutter-y: 1rem}.sd-g-sm-3,.sd-gx-sm-3{--sd-gutter-x: 1rem}.sd-g-sm-4,.sd-gy-sm-4{--sd-gutter-y: 1.5rem}.sd-g-sm-4,.sd-gx-sm-4{--sd-gutter-x: 1.5rem}.sd-g-sm-5,.sd-gy-sm-5{--sd-gutter-y: 3rem}.sd-g-sm-5,.sd-gx-sm-5{--sd-gutter-x: 3rem}}@media(min-width: 768px){.sd-col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-md-0,.sd-gy-md-0{--sd-gutter-y: 0}.sd-g-md-0,.sd-gx-md-0{--sd-gutter-x: 0}.sd-g-md-1,.sd-gy-md-1{--sd-gutter-y: 0.25rem}.sd-g-md-1,.sd-gx-md-1{--sd-gutter-x: 0.25rem}.sd-g-md-2,.sd-gy-md-2{--sd-gutter-y: 0.5rem}.sd-g-md-2,.sd-gx-md-2{--sd-gutter-x: 0.5rem}.sd-g-md-3,.sd-gy-md-3{--sd-gutter-y: 1rem}.sd-g-md-3,.sd-gx-md-3{--sd-gutter-x: 1rem}.sd-g-md-4,.sd-gy-md-4{--sd-gutter-y: 1.5rem}.sd-g-md-4,.sd-gx-md-4{--sd-gutter-x: 1.5rem}.sd-g-md-5,.sd-gy-md-5{--sd-gutter-y: 3rem}.sd-g-md-5,.sd-gx-md-5{--sd-gutter-x: 3rem}}@media(min-width: 992px){.sd-col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-lg-0,.sd-gy-lg-0{--sd-gutter-y: 0}.sd-g-lg-0,.sd-gx-lg-0{--sd-gutter-x: 0}.sd-g-lg-1,.sd-gy-lg-1{--sd-gutter-y: 0.25rem}.sd-g-lg-1,.sd-gx-lg-1{--sd-gutter-x: 0.25rem}.sd-g-lg-2,.sd-gy-lg-2{--sd-gutter-y: 0.5rem}.sd-g-lg-2,.sd-gx-lg-2{--sd-gutter-x: 0.5rem}.sd-g-lg-3,.sd-gy-lg-3{--sd-gutter-y: 1rem}.sd-g-lg-3,.sd-gx-lg-3{--sd-gutter-x: 1rem}.sd-g-lg-4,.sd-gy-lg-4{--sd-gutter-y: 1.5rem}.sd-g-lg-4,.sd-gx-lg-4{--sd-gutter-x: 1.5rem}.sd-g-lg-5,.sd-gy-lg-5{--sd-gutter-y: 3rem}.sd-g-lg-5,.sd-gx-lg-5{--sd-gutter-x: 3rem}}@media(min-width: 1200px){.sd-col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.sd-col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.3333333333%}.sd-col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.sd-col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.sd-col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.sd-col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.6666666667%}.sd-col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.sd-col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.3333333333%}.sd-col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.6666666667%}.sd-col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.sd-col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.3333333333%}.sd-col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.6666666667%}.sd-col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.sd-g-xl-0,.sd-gy-xl-0{--sd-gutter-y: 0}.sd-g-xl-0,.sd-gx-xl-0{--sd-gutter-x: 0}.sd-g-xl-1,.sd-gy-xl-1{--sd-gutter-y: 0.25rem}.sd-g-xl-1,.sd-gx-xl-1{--sd-gutter-x: 0.25rem}.sd-g-xl-2,.sd-gy-xl-2{--sd-gutter-y: 0.5rem}.sd-g-xl-2,.sd-gx-xl-2{--sd-gutter-x: 0.5rem}.sd-g-xl-3,.sd-gy-xl-3{--sd-gutter-y: 1rem}.sd-g-xl-3,.sd-gx-xl-3{--sd-gutter-x: 1rem}.sd-g-xl-4,.sd-gy-xl-4{--sd-gutter-y: 1.5rem}.sd-g-xl-4,.sd-gx-xl-4{--sd-gutter-x: 1.5rem}.sd-g-xl-5,.sd-gy-xl-5{--sd-gutter-y: 3rem}.sd-g-xl-5,.sd-gx-xl-5{--sd-gutter-x: 3rem}}.sd-flex-row-reverse{flex-direction:row-reverse !important}details.sd-dropdown{position:relative;font-size:var(--sd-fontsize-dropdown)}details.sd-dropdown:hover{cursor:pointer}details.sd-dropdown .sd-summary-content{cursor:default}details.sd-dropdown summary.sd-summary-title{padding:.5em .6em .5em 1em;font-size:var(--sd-fontsize-dropdown-title);font-weight:var(--sd-fontweight-dropdown-title);user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;list-style:none;display:inline-flex;justify-content:space-between}details.sd-dropdown summary.sd-summary-title::-webkit-details-marker{display:none}details.sd-dropdown summary.sd-summary-title:focus{outline:none}details.sd-dropdown summary.sd-summary-title .sd-summary-icon{margin-right:.6em;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-icon svg{opacity:.8}details.sd-dropdown summary.sd-summary-title .sd-summary-text{flex-grow:1;line-height:1.5;padding-right:.5rem}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker{pointer-events:none;display:inline-flex;align-items:center}details.sd-dropdown summary.sd-summary-title .sd-summary-state-marker svg{opacity:.6}details.sd-dropdown summary.sd-summary-title:hover .sd-summary-state-marker svg{opacity:1;transform:scale(1.1)}details.sd-dropdown[open] summary .sd-octicon.no-title{visibility:hidden}details.sd-dropdown .sd-summary-chevron-right{transition:.25s}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-right{transform:rotate(90deg)}details.sd-dropdown[open]>.sd-summary-title .sd-summary-chevron-down{transform:rotate(180deg)}details.sd-dropdown:not([open]).sd-card{border:none}details.sd-dropdown:not([open])>.sd-card-header{border:1px solid var(--sd-color-card-border);border-radius:.25rem}details.sd-dropdown.sd-fade-in[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out;animation:sd-fade-in .5s ease-in-out}details.sd-dropdown.sd-fade-in-slide-down[open] summary~*{-moz-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;-webkit-animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out;animation:sd-fade-in .5s ease-in-out,sd-slide-down .5s ease-in-out}.sd-col>.sd-dropdown{width:100%}.sd-summary-content>.sd-tab-set:first-child{margin-top:0}@keyframes sd-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes sd-slide-down{0%{transform:translate(0, -10px)}100%{transform:translate(0, 0)}}.sd-tab-set{border-radius:.125rem;display:flex;flex-wrap:wrap;margin:1em 0;position:relative}.sd-tab-set>input{opacity:0;position:absolute}.sd-tab-set>input:checked+label{border-color:var(--sd-color-tabs-underline-active);color:var(--sd-color-tabs-label-active)}.sd-tab-set>input:checked+label+.sd-tab-content{display:block}.sd-tab-set>input:not(:checked)+label:hover{color:var(--sd-color-tabs-label-hover);border-color:var(--sd-color-tabs-underline-hover)}.sd-tab-set>input:focus+label{outline-style:auto}.sd-tab-set>input:not(.focus-visible)+label{outline:none;-webkit-tap-highlight-color:transparent}.sd-tab-set>label{border-bottom:.125rem solid transparent;margin-bottom:0;color:var(--sd-color-tabs-label-inactive);border-color:var(--sd-color-tabs-underline-inactive);cursor:pointer;font-size:var(--sd-fontsize-tabs-label);font-weight:700;padding:1em 1.25em .5em;transition:color 250ms;width:auto;z-index:1}html .sd-tab-set>label:hover{color:var(--sd-color-tabs-label-active)}.sd-col>.sd-tab-set{width:100%}.sd-tab-content{box-shadow:0 -0.0625rem var(--sd-color-tabs-overline),0 .0625rem var(--sd-color-tabs-underline);display:none;order:99;padding-bottom:.75rem;padding-top:.75rem;width:100%}.sd-tab-content>:first-child{margin-top:0 !important}.sd-tab-content>:last-child{margin-bottom:0 !important}.sd-tab-content>.sd-tab-set{margin:0}.sd-sphinx-override,.sd-sphinx-override *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sd-sphinx-override p{margin-top:0}:root{--sd-color-primary: #0071bc;--sd-color-secondary: #6c757d;--sd-color-success: #28a745;--sd-color-info: #17a2b8;--sd-color-warning: #f0b37e;--sd-color-danger: #dc3545;--sd-color-light: #f8f9fa;--sd-color-muted: #6c757d;--sd-color-dark: #212529;--sd-color-black: black;--sd-color-white: white;--sd-color-primary-highlight: #0060a0;--sd-color-secondary-highlight: #5c636a;--sd-color-success-highlight: #228e3b;--sd-color-info-highlight: #148a9c;--sd-color-warning-highlight: #cc986b;--sd-color-danger-highlight: #bb2d3b;--sd-color-light-highlight: #d3d4d5;--sd-color-muted-highlight: #5c636a;--sd-color-dark-highlight: #1c1f23;--sd-color-black-highlight: black;--sd-color-white-highlight: #d9d9d9;--sd-color-primary-bg: rgba(0, 113, 188, 0.2);--sd-color-secondary-bg: rgba(108, 117, 125, 0.2);--sd-color-success-bg: rgba(40, 167, 69, 0.2);--sd-color-info-bg: rgba(23, 162, 184, 0.2);--sd-color-warning-bg: rgba(240, 179, 126, 0.2);--sd-color-danger-bg: rgba(220, 53, 69, 0.2);--sd-color-light-bg: rgba(248, 249, 250, 0.2);--sd-color-muted-bg: rgba(108, 117, 125, 0.2);--sd-color-dark-bg: rgba(33, 37, 41, 0.2);--sd-color-black-bg: rgba(0, 0, 0, 0.2);--sd-color-white-bg: rgba(255, 255, 255, 0.2);--sd-color-primary-text: #fff;--sd-color-secondary-text: #fff;--sd-color-success-text: #fff;--sd-color-info-text: #fff;--sd-color-warning-text: #212529;--sd-color-danger-text: #fff;--sd-color-light-text: #212529;--sd-color-muted-text: #fff;--sd-color-dark-text: #fff;--sd-color-black-text: #fff;--sd-color-white-text: #212529;--sd-color-shadow: rgba(0, 0, 0, 0.15);--sd-color-card-border: rgba(0, 0, 0, 0.125);--sd-color-card-border-hover: hsla(231, 99%, 66%, 1);--sd-color-card-background: transparent;--sd-color-card-text: inherit;--sd-color-card-header: transparent;--sd-color-card-footer: transparent;--sd-color-tabs-label-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-hover: hsla(231, 99%, 66%, 1);--sd-color-tabs-label-inactive: hsl(0, 0%, 66%);--sd-color-tabs-underline-active: hsla(231, 99%, 66%, 1);--sd-color-tabs-underline-hover: rgba(178, 206, 245, 0.62);--sd-color-tabs-underline-inactive: transparent;--sd-color-tabs-overline: rgb(222, 222, 222);--sd-color-tabs-underline: rgb(222, 222, 222);--sd-fontsize-tabs-label: 1rem;--sd-fontsize-dropdown: inherit;--sd-fontsize-dropdown-title: 1rem;--sd-fontweight-dropdown-title: 700} diff --git a/_preview/1/_static/basic.css b/_preview/1/_static/basic.css new file mode 100644 index 0000000..2af6139 --- /dev/null +++ b/_preview/1/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 270px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_preview/1/_static/check-solid.svg b/_preview/1/_static/check-solid.svg new file mode 100644 index 0000000..92fad4b --- /dev/null +++ b/_preview/1/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_preview/1/_static/clipboard.min.js b/_preview/1/_static/clipboard.min.js new file mode 100644 index 0000000..54b3c46 --- /dev/null +++ b/_preview/1/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_preview/1/_static/copybutton.css b/_preview/1/_static/copybutton.css new file mode 100644 index 0000000..f1916ec --- /dev/null +++ b/_preview/1/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_preview/1/_static/copybutton.js b/_preview/1/_static/copybutton.js new file mode 100644 index 0000000..2ea7ff3 --- /dev/null +++ b/_preview/1/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_preview/1/_static/copybutton_funcs.js b/_preview/1/_static/copybutton_funcs.js new file mode 100644 index 0000000..dbe1aaa --- /dev/null +++ b/_preview/1/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_preview/1/_static/custom.css b/_preview/1/_static/custom.css new file mode 100644 index 0000000..59f4313 --- /dev/null +++ b/_preview/1/_static/custom.css @@ -0,0 +1,6 @@ +.bd-main .bd-content .bd-article-container { + max-width: 100%; /* default is 60em */ +} +.bd-page-width { + max-width: 100%; /* default is 88rem */ +} diff --git a/_preview/1/_static/design-tabs.js b/_preview/1/_static/design-tabs.js new file mode 100644 index 0000000..b25bd6a --- /dev/null +++ b/_preview/1/_static/design-tabs.js @@ -0,0 +1,101 @@ +// @ts-check + +// Extra JS capability for selected tabs to be synced +// The selection is stored in local storage so that it persists across page loads. + +/** + * @type {Record} + */ +let sd_id_to_elements = {}; +const storageKeyPrefix = "sphinx-design-tab-id-"; + +/** + * Create a key for a tab element. + * @param {HTMLElement} el - The tab element. + * @returns {[string, string, string] | null} - The key. + * + */ +function create_key(el) { + let syncId = el.getAttribute("data-sync-id"); + let syncGroup = el.getAttribute("data-sync-group"); + if (!syncId || !syncGroup) return null; + return [syncGroup, syncId, syncGroup + "--" + syncId]; +} + +/** + * Initialize the tab selection. + * + */ +function ready() { + // Find all tabs with sync data + + /** @type {string[]} */ + let groups = []; + + document.querySelectorAll(".sd-tab-label").forEach((label) => { + if (label instanceof HTMLElement) { + let data = create_key(label); + if (data) { + let [group, id, key] = data; + + // add click event listener + // @ts-ignore + label.onclick = onSDLabelClick; + + // store map of key to elements + if (!sd_id_to_elements[key]) { + sd_id_to_elements[key] = []; + } + sd_id_to_elements[key].push(label); + + if (groups.indexOf(group) === -1) { + groups.push(group); + // Check if a specific tab has been selected via URL parameter + const tabParam = new URLSearchParams(window.location.search).get( + group + ); + if (tabParam) { + console.log( + "sphinx-design: Selecting tab id for group '" + + group + + "' from URL parameter: " + + tabParam + ); + window.sessionStorage.setItem(storageKeyPrefix + group, tabParam); + } + } + + // Check is a specific tab has been selected previously + let previousId = window.sessionStorage.getItem( + storageKeyPrefix + group + ); + if (previousId === id) { + // console.log( + // "sphinx-design: Selecting tab from session storage: " + id + // ); + // @ts-ignore + label.previousElementSibling.checked = true; + } + } + } + }); +} + +/** + * Activate other tabs with the same sync id. + * + * @this {HTMLElement} - The element that was clicked. + */ +function onSDLabelClick() { + let data = create_key(this); + if (!data) return; + let [group, id, key] = data; + for (const label of sd_id_to_elements[key]) { + if (label === this) continue; + // @ts-ignore + label.previousElementSibling.checked = true; + } + window.sessionStorage.setItem(storageKeyPrefix + group, id); +} + +document.addEventListener("DOMContentLoaded", ready, false); diff --git a/_preview/1/_static/doctools.js b/_preview/1/_static/doctools.js new file mode 100644 index 0000000..4d67807 --- /dev/null +++ b/_preview/1/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_preview/1/_static/documentation_options.js b/_preview/1/_static/documentation_options.js new file mode 100644 index 0000000..dab586c --- /dev/null +++ b/_preview/1/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_preview/1/_static/favicon.ico b/_preview/1/_static/favicon.ico new file mode 100644 index 0000000..da6ac73 Binary files /dev/null and b/_preview/1/_static/favicon.ico differ diff --git a/_preview/1/_static/file.png b/_preview/1/_static/file.png new file mode 100644 index 0000000..a858a41 Binary files /dev/null and b/_preview/1/_static/file.png differ diff --git a/_preview/1/_static/footer-logo-nsf.png b/_preview/1/_static/footer-logo-nsf.png new file mode 100644 index 0000000..11c788f Binary files /dev/null and b/_preview/1/_static/footer-logo-nsf.png differ diff --git a/_preview/1/_static/images/logo_binder.svg b/_preview/1/_static/images/logo_binder.svg new file mode 100644 index 0000000..45fecf7 --- /dev/null +++ b/_preview/1/_static/images/logo_binder.svg @@ -0,0 +1,19 @@ + + + + +logo + + + + + + + + diff --git a/_preview/1/_static/images/logo_colab.png b/_preview/1/_static/images/logo_colab.png new file mode 100644 index 0000000..b7560ec Binary files /dev/null and b/_preview/1/_static/images/logo_colab.png differ diff --git a/_preview/1/_static/images/logo_deepnote.svg b/_preview/1/_static/images/logo_deepnote.svg new file mode 100644 index 0000000..fa77ebf --- /dev/null +++ b/_preview/1/_static/images/logo_deepnote.svg @@ -0,0 +1 @@ + diff --git a/_preview/1/_static/images/logo_jupyterhub.svg b/_preview/1/_static/images/logo_jupyterhub.svg new file mode 100644 index 0000000..60cfe9f --- /dev/null +++ b/_preview/1/_static/images/logo_jupyterhub.svg @@ -0,0 +1 @@ +logo_jupyterhubHub diff --git a/_preview/1/_static/language_data.js b/_preview/1/_static/language_data.js new file mode 100644 index 0000000..367b8ed --- /dev/null +++ b/_preview/1/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..15541a6 Binary files /dev/null and b/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..34d404c --- /dev/null +++ b/_preview/1/_static/locales/ar/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "طباعة إلى PDF" + +msgid "Theme by the" +msgstr "موضوع بواسطة" + +msgid "Download source file" +msgstr "تنزيل ملف المصدر" + +msgid "open issue" +msgstr "قضية مفتوحة" + +msgid "Contents" +msgstr "محتويات" + +msgid "previous page" +msgstr "الصفحة السابقة" + +msgid "Download notebook file" +msgstr "تنزيل ملف دفتر الملاحظات" + +msgid "Copyright" +msgstr "حقوق النشر" + +msgid "Download this page" +msgstr "قم بتنزيل هذه الصفحة" + +msgid "Source repository" +msgstr "مستودع المصدر" + +msgid "By" +msgstr "بواسطة" + +msgid "repository" +msgstr "مخزن" + +msgid "Last updated on" +msgstr "آخر تحديث في" + +msgid "Toggle navigation" +msgstr "تبديل التنقل" + +msgid "Sphinx Book Theme" +msgstr "موضوع كتاب أبو الهول" + +msgid "suggest edit" +msgstr "أقترح تحرير" + +msgid "Open an issue" +msgstr "افتح قضية" + +msgid "Launch" +msgstr "إطلاق" + +msgid "Fullscreen mode" +msgstr "وضع ملء الشاشة" + +msgid "Edit this page" +msgstr "قم بتحرير هذه الصفحة" + +msgid "By the" +msgstr "بواسطة" + +msgid "next page" +msgstr "الصفحة التالية" diff --git a/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..da95120 Binary files /dev/null and b/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..7420c19 --- /dev/null +++ b/_preview/1/_static/locales/bg/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Печат в PDF" + +msgid "Theme by the" +msgstr "Тема от" + +msgid "Download source file" +msgstr "Изтеглете изходния файл" + +msgid "open issue" +msgstr "отворен брой" + +msgid "Contents" +msgstr "Съдържание" + +msgid "previous page" +msgstr "предишна страница" + +msgid "Download notebook file" +msgstr "Изтеглете файла на бележника" + +msgid "Copyright" +msgstr "Авторско право" + +msgid "Download this page" +msgstr "Изтеглете тази страница" + +msgid "Source repository" +msgstr "Хранилище на източника" + +msgid "By" +msgstr "От" + +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последна актуализация на" + +msgid "Toggle navigation" +msgstr "Превключване на навигацията" + +msgid "Sphinx Book Theme" +msgstr "Тема на книгата Sphinx" + +msgid "suggest edit" +msgstr "предложи редактиране" + +msgid "Open an issue" +msgstr "Отворете проблем" + +msgid "Launch" +msgstr "Стартиране" + +msgid "Fullscreen mode" +msgstr "Режим на цял екран" + +msgid "Edit this page" +msgstr "Редактирайте тази страница" + +msgid "By the" +msgstr "По" + +msgid "next page" +msgstr "Следваща страница" diff --git a/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6b96639 Binary files /dev/null and b/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..63a07c3 --- /dev/null +++ b/_preview/1/_static/locales/bn/LC_MESSAGES/booktheme.po @@ -0,0 +1,63 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "পিডিএফ প্রিন্ট করুন" + +msgid "Theme by the" +msgstr "থিম দ্বারা" + +msgid "Download source file" +msgstr "উত্স ফাইল ডাউনলোড করুন" + +msgid "open issue" +msgstr "খোলা সমস্যা" + +msgid "previous page" +msgstr "আগের পৃষ্ঠা" + +msgid "Download notebook file" +msgstr "নোটবুক ফাইল ডাউনলোড করুন" + +msgid "Copyright" +msgstr "কপিরাইট" + +msgid "Download this page" +msgstr "এই পৃষ্ঠাটি ডাউনলোড করুন" + +msgid "Source repository" +msgstr "উত্স সংগ্রহস্থল" + +msgid "By" +msgstr "দ্বারা" + +msgid "Last updated on" +msgstr "সর্বশেষ আপডেট" + +msgid "Toggle navigation" +msgstr "নেভিগেশন টগল করুন" + +msgid "Sphinx Book Theme" +msgstr "স্পিনিক্স বুক থিম" + +msgid "Open an issue" +msgstr "একটি সমস্যা খুলুন" + +msgid "Launch" +msgstr "শুরু করা" + +msgid "Edit this page" +msgstr "এই পৃষ্ঠাটি সম্পাদনা করুন" + +msgid "By the" +msgstr "দ্বারা" + +msgid "next page" +msgstr "পরবর্তী পৃষ্ঠা" diff --git a/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..a4dd30e Binary files /dev/null and b/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8fb358b --- /dev/null +++ b/_preview/1/_static/locales/ca/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimeix a PDF" + +msgid "Theme by the" +msgstr "Tema del" + +msgid "Download source file" +msgstr "Baixeu el fitxer font" + +msgid "open issue" +msgstr "número obert" + +msgid "previous page" +msgstr "Pàgina anterior" + +msgid "Download notebook file" +msgstr "Descarregar fitxer de quadern" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "Descarregueu aquesta pàgina" + +msgid "Source repository" +msgstr "Dipòsit de fonts" + +msgid "By" +msgstr "Per" + +msgid "Last updated on" +msgstr "Darrera actualització el" + +msgid "Toggle navigation" +msgstr "Commuta la navegació" + +msgid "Sphinx Book Theme" +msgstr "Tema del llibre Esfinx" + +msgid "suggest edit" +msgstr "suggerir edició" + +msgid "Open an issue" +msgstr "Obriu un número" + +msgid "Launch" +msgstr "Llançament" + +msgid "Edit this page" +msgstr "Editeu aquesta pàgina" + +msgid "By the" +msgstr "Per la" + +msgid "next page" +msgstr "pàgina següent" diff --git a/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..c39e01a Binary files /dev/null and b/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c6ef469 --- /dev/null +++ b/_preview/1/_static/locales/cs/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tisk do PDF" + +msgid "Theme by the" +msgstr "Téma od" + +msgid "Download source file" +msgstr "Stáhněte si zdrojový soubor" + +msgid "open issue" +msgstr "otevřené číslo" + +msgid "Contents" +msgstr "Obsah" + +msgid "previous page" +msgstr "předchozí stránka" + +msgid "Download notebook file" +msgstr "Stáhnout soubor poznámkového bloku" + +msgid "Copyright" +msgstr "autorská práva" + +msgid "Download this page" +msgstr "Stáhněte si tuto stránku" + +msgid "Source repository" +msgstr "Zdrojové úložiště" + +msgid "By" +msgstr "Podle" + +msgid "repository" +msgstr "úložiště" + +msgid "Last updated on" +msgstr "Naposledy aktualizováno" + +msgid "Toggle navigation" +msgstr "Přepnout navigaci" + +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" + +msgid "suggest edit" +msgstr "navrhnout úpravy" + +msgid "Open an issue" +msgstr "Otevřete problém" + +msgid "Launch" +msgstr "Zahájení" + +msgid "Fullscreen mode" +msgstr "Režim celé obrazovky" + +msgid "Edit this page" +msgstr "Upravit tuto stránku" + +msgid "By the" +msgstr "Podle" + +msgid "next page" +msgstr "další strana" diff --git a/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f43157d Binary files /dev/null and b/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..306a38e --- /dev/null +++ b/_preview/1/_static/locales/da/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Udskriv til PDF" + +msgid "Theme by the" +msgstr "Tema af" + +msgid "Download source file" +msgstr "Download kildefil" + +msgid "open issue" +msgstr "åbent nummer" + +msgid "Contents" +msgstr "Indhold" + +msgid "previous page" +msgstr "forrige side" + +msgid "Download notebook file" +msgstr "Download notesbog-fil" + +msgid "Copyright" +msgstr "ophavsret" + +msgid "Download this page" +msgstr "Download denne side" + +msgid "Source repository" +msgstr "Kildelager" + +msgid "By" +msgstr "Ved" + +msgid "repository" +msgstr "lager" + +msgid "Last updated on" +msgstr "Sidst opdateret den" + +msgid "Toggle navigation" +msgstr "Skift navigation" + +msgid "Sphinx Book Theme" +msgstr "Sphinx bogtema" + +msgid "suggest edit" +msgstr "foreslå redigering" + +msgid "Open an issue" +msgstr "Åbn et problem" + +msgid "Launch" +msgstr "Start" + +msgid "Fullscreen mode" +msgstr "Fuldskærmstilstand" + +msgid "Edit this page" +msgstr "Rediger denne side" + +msgid "By the" +msgstr "Ved" + +msgid "next page" +msgstr "Næste side" diff --git a/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..648b565 Binary files /dev/null and b/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..4925360 --- /dev/null +++ b/_preview/1/_static/locales/de/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "In PDF drucken" + +msgid "Theme by the" +msgstr "Thema von der" + +msgid "Download source file" +msgstr "Quelldatei herunterladen" + +msgid "open issue" +msgstr "offenes Thema" + +msgid "Contents" +msgstr "Inhalt" + +msgid "previous page" +msgstr "vorherige Seite" + +msgid "Download notebook file" +msgstr "Notebook-Datei herunterladen" + +msgid "Copyright" +msgstr "Urheberrechte ©" + +msgid "Download this page" +msgstr "Laden Sie diese Seite herunter" + +msgid "Source repository" +msgstr "Quell-Repository" + +msgid "By" +msgstr "Durch" + +msgid "repository" +msgstr "Repository" + +msgid "Last updated on" +msgstr "Zuletzt aktualisiert am" + +msgid "Toggle navigation" +msgstr "Navigation umschalten" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-Buch-Thema" + +msgid "suggest edit" +msgstr "vorschlagen zu bearbeiten" + +msgid "Open an issue" +msgstr "Öffnen Sie ein Problem" + +msgid "Launch" +msgstr "Starten" + +msgid "Fullscreen mode" +msgstr "Vollbildmodus" + +msgid "Edit this page" +msgstr "Bearbeite diese Seite" + +msgid "By the" +msgstr "Bis zum" + +msgid "next page" +msgstr "Nächste Seite" diff --git a/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..fca6e93 Binary files /dev/null and b/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..3e01acb --- /dev/null +++ b/_preview/1/_static/locales/el/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Εκτύπωση σε PDF" + +msgid "Theme by the" +msgstr "Θέμα από το" + +msgid "Download source file" +msgstr "Λήψη αρχείου προέλευσης" + +msgid "open issue" +msgstr "ανοιχτό ζήτημα" + +msgid "Contents" +msgstr "Περιεχόμενα" + +msgid "previous page" +msgstr "προηγούμενη σελίδα" + +msgid "Download notebook file" +msgstr "Λήψη αρχείου σημειωματάριου" + +msgid "Copyright" +msgstr "Πνευματική ιδιοκτησία" + +msgid "Download this page" +msgstr "Λήψη αυτής της σελίδας" + +msgid "Source repository" +msgstr "Αποθήκη πηγής" + +msgid "By" +msgstr "Με" + +msgid "repository" +msgstr "αποθήκη" + +msgid "Last updated on" +msgstr "Τελευταία ενημέρωση στις" + +msgid "Toggle navigation" +msgstr "Εναλλαγή πλοήγησης" + +msgid "Sphinx Book Theme" +msgstr "Θέμα βιβλίου Sphinx" + +msgid "suggest edit" +msgstr "προτείνω επεξεργασία" + +msgid "Open an issue" +msgstr "Ανοίξτε ένα ζήτημα" + +msgid "Launch" +msgstr "Εκτόξευση" + +msgid "Fullscreen mode" +msgstr "ΛΕΙΤΟΥΡΓΙΑ ΠΛΗΡΟΥΣ ΟΘΟΝΗΣ" + +msgid "Edit this page" +msgstr "Επεξεργαστείτε αυτήν τη σελίδα" + +msgid "By the" +msgstr "Από το" + +msgid "next page" +msgstr "επόμενη σελίδα" diff --git a/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d1072bb Binary files /dev/null and b/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..f7ed226 --- /dev/null +++ b/_preview/1/_static/locales/eo/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Presi al PDF" + +msgid "Theme by the" +msgstr "Temo de la" + +msgid "Download source file" +msgstr "Elŝutu fontodosieron" + +msgid "open issue" +msgstr "malferma numero" + +msgid "Contents" +msgstr "Enhavo" + +msgid "previous page" +msgstr "antaŭa paĝo" + +msgid "Download notebook file" +msgstr "Elŝutu kajeran dosieron" + +msgid "Copyright" +msgstr "Kopirajto" + +msgid "Download this page" +msgstr "Elŝutu ĉi tiun paĝon" + +msgid "Source repository" +msgstr "Fonto-deponejo" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "deponejo" + +msgid "Last updated on" +msgstr "Laste ĝisdatigita la" + +msgid "Toggle navigation" +msgstr "Ŝalti navigadon" + +msgid "Sphinx Book Theme" +msgstr "Sfinksa Libro-Temo" + +msgid "suggest edit" +msgstr "sugesti redaktadon" + +msgid "Open an issue" +msgstr "Malfermu numeron" + +msgid "Launch" +msgstr "Lanĉo" + +msgid "Fullscreen mode" +msgstr "Plenekrana reĝimo" + +msgid "Edit this page" +msgstr "Redaktu ĉi tiun paĝon" + +msgid "By the" +msgstr "Per la" + +msgid "next page" +msgstr "sekva paĝo" diff --git a/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..ba2ee4d Binary files /dev/null and b/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..5e0029e --- /dev/null +++ b/_preview/1/_static/locales/es/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimir en PDF" + +msgid "Theme by the" +msgstr "Tema por el" + +msgid "Download source file" +msgstr "Descargar archivo fuente" + +msgid "open issue" +msgstr "Tema abierto" + +msgid "Contents" +msgstr "Contenido" + +msgid "previous page" +msgstr "pagina anterior" + +msgid "Download notebook file" +msgstr "Descargar archivo de cuaderno" + +msgid "Copyright" +msgstr "Derechos de autor" + +msgid "Download this page" +msgstr "Descarga esta pagina" + +msgid "Source repository" +msgstr "Repositorio de origen" + +msgid "By" +msgstr "Por" + +msgid "repository" +msgstr "repositorio" + +msgid "Last updated on" +msgstr "Ultima actualización en" + +msgid "Toggle navigation" +msgstr "Navegación de palanca" + +msgid "Sphinx Book Theme" +msgstr "Tema del libro de la esfinge" + +msgid "suggest edit" +msgstr "sugerir editar" + +msgid "Open an issue" +msgstr "Abrir un problema" + +msgid "Launch" +msgstr "Lanzamiento" + +msgid "Fullscreen mode" +msgstr "Modo de pantalla completa" + +msgid "Edit this page" +msgstr "Edita esta página" + +msgid "By the" +msgstr "Por el" + +msgid "next page" +msgstr "siguiente página" diff --git a/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..983b823 Binary files /dev/null and b/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8680982 --- /dev/null +++ b/_preview/1/_static/locales/et/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Prindi PDF-i" + +msgid "Theme by the" +msgstr "Teema" + +msgid "Download source file" +msgstr "Laadige alla lähtefail" + +msgid "open issue" +msgstr "avatud küsimus" + +msgid "Contents" +msgstr "Sisu" + +msgid "previous page" +msgstr "eelmine leht" + +msgid "Download notebook file" +msgstr "Laadige sülearvuti fail alla" + +msgid "Copyright" +msgstr "Autoriõigus" + +msgid "Download this page" +msgstr "Laadige see leht alla" + +msgid "Source repository" +msgstr "Allikahoidla" + +msgid "By" +msgstr "Kõrval" + +msgid "repository" +msgstr "hoidla" + +msgid "Last updated on" +msgstr "Viimati uuendatud" + +msgid "Toggle navigation" +msgstr "Lülita navigeerimine sisse" + +msgid "Sphinx Book Theme" +msgstr "Sfinksiraamatu teema" + +msgid "suggest edit" +msgstr "soovita muuta" + +msgid "Open an issue" +msgstr "Avage probleem" + +msgid "Launch" +msgstr "Käivitage" + +msgid "Fullscreen mode" +msgstr "Täisekraanirežiim" + +msgid "Edit this page" +msgstr "Muutke seda lehte" + +msgid "By the" +msgstr "Autor" + +msgid "next page" +msgstr "järgmine leht" diff --git a/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d8ac054 Binary files /dev/null and b/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..34dac21 --- /dev/null +++ b/_preview/1/_static/locales/fi/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tulosta PDF-tiedostoon" + +msgid "Theme by the" +msgstr "Teeman tekijä" + +msgid "Download source file" +msgstr "Lataa lähdetiedosto" + +msgid "open issue" +msgstr "avoin ongelma" + +msgid "Contents" +msgstr "Sisällys" + +msgid "previous page" +msgstr "Edellinen sivu" + +msgid "Download notebook file" +msgstr "Lataa muistikirjatiedosto" + +msgid "Copyright" +msgstr "Tekijänoikeus" + +msgid "Download this page" +msgstr "Lataa tämä sivu" + +msgid "Source repository" +msgstr "Lähteen arkisto" + +msgid "By" +msgstr "Tekijä" + +msgid "repository" +msgstr "arkisto" + +msgid "Last updated on" +msgstr "Viimeksi päivitetty" + +msgid "Toggle navigation" +msgstr "Vaihda navigointia" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-kirjan teema" + +msgid "suggest edit" +msgstr "ehdottaa muokkausta" + +msgid "Open an issue" +msgstr "Avaa ongelma" + +msgid "Launch" +msgstr "Tuoda markkinoille" + +msgid "Fullscreen mode" +msgstr "Koko näytön tila" + +msgid "Edit this page" +msgstr "Muokkaa tätä sivua" + +msgid "By the" +msgstr "Mukaan" + +msgid "next page" +msgstr "seuraava sivu" diff --git a/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f663d39 Binary files /dev/null and b/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..8991a1b --- /dev/null +++ b/_preview/1/_static/locales/fr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimer au format PDF" + +msgid "Theme by the" +msgstr "Thème par le" + +msgid "Download source file" +msgstr "Télécharger le fichier source" + +msgid "open issue" +msgstr "signaler un problème" + +msgid "Contents" +msgstr "Contenu" + +msgid "previous page" +msgstr "page précédente" + +msgid "Download notebook file" +msgstr "Télécharger le fichier notebook" + +msgid "Copyright" +msgstr "droits d'auteur" + +msgid "Download this page" +msgstr "Téléchargez cette page" + +msgid "Source repository" +msgstr "Dépôt source" + +msgid "By" +msgstr "Par" + +msgid "repository" +msgstr "dépôt" + +msgid "Last updated on" +msgstr "Dernière mise à jour le" + +msgid "Toggle navigation" +msgstr "Basculer la navigation" + +msgid "Sphinx Book Theme" +msgstr "Thème du livre Sphinx" + +msgid "suggest edit" +msgstr "suggestion de modification" + +msgid "Open an issue" +msgstr "Ouvrez un problème" + +msgid "Launch" +msgstr "lancement" + +msgid "Fullscreen mode" +msgstr "Mode plein écran" + +msgid "Edit this page" +msgstr "Modifier cette page" + +msgid "By the" +msgstr "Par le" + +msgid "next page" +msgstr "page suivante" diff --git a/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..eca4a1a Binary files /dev/null and b/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..42c4233 --- /dev/null +++ b/_preview/1/_static/locales/hr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Ispis u PDF" + +msgid "Theme by the" +msgstr "Tema autora" + +msgid "Download source file" +msgstr "Preuzmi izvornu datoteku" + +msgid "open issue" +msgstr "otvoreno izdanje" + +msgid "Contents" +msgstr "Sadržaj" + +msgid "previous page" +msgstr "Prethodna stranica" + +msgid "Download notebook file" +msgstr "Preuzmi datoteku bilježnice" + +msgid "Copyright" +msgstr "Autorska prava" + +msgid "Download this page" +msgstr "Preuzmite ovu stranicu" + +msgid "Source repository" +msgstr "Izvorno spremište" + +msgid "By" +msgstr "Po" + +msgid "repository" +msgstr "spremište" + +msgid "Last updated on" +msgstr "Posljednje ažuriranje:" + +msgid "Toggle navigation" +msgstr "Uključi / isključi navigaciju" + +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" + +msgid "suggest edit" +msgstr "predloži uređivanje" + +msgid "Open an issue" +msgstr "Otvorite izdanje" + +msgid "Launch" +msgstr "Pokrenite" + +msgid "Fullscreen mode" +msgstr "Način preko cijelog zaslona" + +msgid "Edit this page" +msgstr "Uredite ovu stranicu" + +msgid "By the" +msgstr "Od strane" + +msgid "next page" +msgstr "sljedeća stranica" diff --git a/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d07a06a Binary files /dev/null and b/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b8d8d89 --- /dev/null +++ b/_preview/1/_static/locales/id/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Cetak ke PDF" + +msgid "Theme by the" +msgstr "Tema oleh" + +msgid "Download source file" +msgstr "Unduh file sumber" + +msgid "open issue" +msgstr "masalah terbuka" + +msgid "Contents" +msgstr "Isi" + +msgid "previous page" +msgstr "halaman sebelumnya" + +msgid "Download notebook file" +msgstr "Unduh file notebook" + +msgid "Copyright" +msgstr "hak cipta" + +msgid "Download this page" +msgstr "Unduh halaman ini" + +msgid "Source repository" +msgstr "Repositori sumber" + +msgid "By" +msgstr "Oleh" + +msgid "repository" +msgstr "gudang" + +msgid "Last updated on" +msgstr "Terakhir diperbarui saat" + +msgid "Toggle navigation" +msgstr "Alihkan navigasi" + +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" + +msgid "suggest edit" +msgstr "menyarankan edit" + +msgid "Open an issue" +msgstr "Buka masalah" + +msgid "Launch" +msgstr "Meluncurkan" + +msgid "Fullscreen mode" +msgstr "Mode layar penuh" + +msgid "Edit this page" +msgstr "Edit halaman ini" + +msgid "By the" +msgstr "Oleh" + +msgid "next page" +msgstr "halaman selanjutnya" diff --git a/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..53ba476 Binary files /dev/null and b/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..36fca59 --- /dev/null +++ b/_preview/1/_static/locales/it/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Stampa in PDF" + +msgid "Theme by the" +msgstr "Tema di" + +msgid "Download source file" +msgstr "Scarica il file sorgente" + +msgid "open issue" +msgstr "questione aperta" + +msgid "Contents" +msgstr "Contenuti" + +msgid "previous page" +msgstr "pagina precedente" + +msgid "Download notebook file" +msgstr "Scarica il file del taccuino" + +msgid "Copyright" +msgstr "Diritto d'autore" + +msgid "Download this page" +msgstr "Scarica questa pagina" + +msgid "Source repository" +msgstr "Repository di origine" + +msgid "By" +msgstr "Di" + +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Ultimo aggiornamento il" + +msgid "Toggle navigation" +msgstr "Attiva / disattiva la navigazione" + +msgid "Sphinx Book Theme" +msgstr "Tema del libro della Sfinge" + +msgid "suggest edit" +msgstr "suggerisci modifica" + +msgid "Open an issue" +msgstr "Apri un problema" + +msgid "Launch" +msgstr "Lanciare" + +msgid "Fullscreen mode" +msgstr "Modalità schermo intero" + +msgid "Edit this page" +msgstr "Modifica questa pagina" + +msgid "By the" +msgstr "Dal" + +msgid "next page" +msgstr "pagina successiva" diff --git a/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..a45c657 Binary files /dev/null and b/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..dede9cb --- /dev/null +++ b/_preview/1/_static/locales/iw/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: iw\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "הדפס לקובץ PDF" + +msgid "Theme by the" +msgstr "נושא מאת" + +msgid "Download source file" +msgstr "הורד את קובץ המקור" + +msgid "open issue" +msgstr "בעיה פתוחה" + +msgid "Contents" +msgstr "תוכן" + +msgid "previous page" +msgstr "עמוד קודם" + +msgid "Download notebook file" +msgstr "הורד קובץ מחברת" + +msgid "Copyright" +msgstr "זכויות יוצרים" + +msgid "Download this page" +msgstr "הורד דף זה" + +msgid "Source repository" +msgstr "מאגר המקורות" + +msgid "By" +msgstr "על ידי" + +msgid "repository" +msgstr "מאגר" + +msgid "Last updated on" +msgstr "עודכן לאחרונה ב" + +msgid "Toggle navigation" +msgstr "החלף ניווט" + +msgid "Sphinx Book Theme" +msgstr "נושא ספר ספינקס" + +msgid "suggest edit" +msgstr "מציע לערוך" + +msgid "Open an issue" +msgstr "פתח גיליון" + +msgid "Launch" +msgstr "לְהַשִׁיק" + +msgid "Fullscreen mode" +msgstr "מצב מסך מלא" + +msgid "Edit this page" +msgstr "ערוך דף זה" + +msgid "By the" +msgstr "דרך" + +msgid "next page" +msgstr "עמוד הבא" diff --git a/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..1cefd29 Binary files /dev/null and b/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2615f0d --- /dev/null +++ b/_preview/1/_static/locales/ja/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDFに印刷" + +msgid "Theme by the" +msgstr "のテーマ" + +msgid "Download source file" +msgstr "ソースファイルをダウンロード" + +msgid "open issue" +msgstr "未解決の問題" + +msgid "Contents" +msgstr "目次" + +msgid "previous page" +msgstr "前のページ" + +msgid "Download notebook file" +msgstr "ノートブックファイルをダウンロード" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "このページをダウンロード" + +msgid "Source repository" +msgstr "ソースリポジトリ" + +msgid "By" +msgstr "著者" + +msgid "repository" +msgstr "リポジトリ" + +msgid "Last updated on" +msgstr "最終更新日" + +msgid "Toggle navigation" +msgstr "ナビゲーションを切り替え" + +msgid "Sphinx Book Theme" +msgstr "スフィンクスの本のテーマ" + +msgid "suggest edit" +msgstr "編集を提案する" + +msgid "Open an issue" +msgstr "問題を報告" + +msgid "Launch" +msgstr "起動" + +msgid "Fullscreen mode" +msgstr "全画面モード" + +msgid "Edit this page" +msgstr "このページを編集" + +msgid "By the" +msgstr "によって" + +msgid "next page" +msgstr "次のページ" diff --git a/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..06c7ec9 Binary files /dev/null and b/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c9e13a4 --- /dev/null +++ b/_preview/1/_static/locales/ko/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF로 인쇄" + +msgid "Theme by the" +msgstr "테마별" + +msgid "Download source file" +msgstr "소스 파일 다운로드" + +msgid "open issue" +msgstr "열린 문제" + +msgid "Contents" +msgstr "내용" + +msgid "previous page" +msgstr "이전 페이지" + +msgid "Download notebook file" +msgstr "노트북 파일 다운로드" + +msgid "Copyright" +msgstr "저작권" + +msgid "Download this page" +msgstr "이 페이지 다운로드" + +msgid "Source repository" +msgstr "소스 저장소" + +msgid "By" +msgstr "으로" + +msgid "repository" +msgstr "저장소" + +msgid "Last updated on" +msgstr "마지막 업데이트" + +msgid "Toggle navigation" +msgstr "탐색 전환" + +msgid "Sphinx Book Theme" +msgstr "스핑크스 도서 테마" + +msgid "suggest edit" +msgstr "편집 제안" + +msgid "Open an issue" +msgstr "이슈 열기" + +msgid "Launch" +msgstr "시작하다" + +msgid "Fullscreen mode" +msgstr "전체 화면으로보기" + +msgid "Edit this page" +msgstr "이 페이지 편집" + +msgid "By the" +msgstr "에 의해" + +msgid "next page" +msgstr "다음 페이지" diff --git a/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..4468ba0 Binary files /dev/null and b/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..35eabd9 --- /dev/null +++ b/_preview/1/_static/locales/lt/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Spausdinti į PDF" + +msgid "Theme by the" +msgstr "Tema" + +msgid "Download source file" +msgstr "Atsisiųsti šaltinio failą" + +msgid "open issue" +msgstr "atviras klausimas" + +msgid "Contents" +msgstr "Turinys" + +msgid "previous page" +msgstr "Ankstesnis puslapis" + +msgid "Download notebook file" +msgstr "Atsisiųsti nešiojamojo kompiuterio failą" + +msgid "Copyright" +msgstr "Autorių teisės" + +msgid "Download this page" +msgstr "Atsisiųskite šį puslapį" + +msgid "Source repository" +msgstr "Šaltinio saugykla" + +msgid "By" +msgstr "Iki" + +msgid "repository" +msgstr "saugykla" + +msgid "Last updated on" +msgstr "Paskutinį kartą atnaujinta" + +msgid "Toggle navigation" +msgstr "Perjungti naršymą" + +msgid "Sphinx Book Theme" +msgstr "Sfinkso knygos tema" + +msgid "suggest edit" +msgstr "pasiūlyti redaguoti" + +msgid "Open an issue" +msgstr "Atidarykite problemą" + +msgid "Launch" +msgstr "Paleiskite" + +msgid "Fullscreen mode" +msgstr "Pilno ekrano režimas" + +msgid "Edit this page" +msgstr "Redaguoti šį puslapį" + +msgid "By the" +msgstr "Prie" + +msgid "next page" +msgstr "Kitas puslapis" diff --git a/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..74aa4d8 Binary files /dev/null and b/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..ee1bd08 --- /dev/null +++ b/_preview/1/_static/locales/lv/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Drukāt PDF formātā" + +msgid "Theme by the" +msgstr "Autora tēma" + +msgid "Download source file" +msgstr "Lejupielādēt avota failu" + +msgid "open issue" +msgstr "atklāts jautājums" + +msgid "Contents" +msgstr "Saturs" + +msgid "previous page" +msgstr "iepriekšējā lapa" + +msgid "Download notebook file" +msgstr "Lejupielādēt piezīmju grāmatiņu" + +msgid "Copyright" +msgstr "Autortiesības" + +msgid "Download this page" +msgstr "Lejupielādējiet šo lapu" + +msgid "Source repository" +msgstr "Avota krātuve" + +msgid "By" +msgstr "Autors" + +msgid "repository" +msgstr "krātuve" + +msgid "Last updated on" +msgstr "Pēdējoreiz atjaunināts" + +msgid "Toggle navigation" +msgstr "Pārslēgt navigāciju" + +msgid "Sphinx Book Theme" +msgstr "Sfinksa grāmatas tēma" + +msgid "suggest edit" +msgstr "ieteikt rediģēt" + +msgid "Open an issue" +msgstr "Atveriet problēmu" + +msgid "Launch" +msgstr "Uzsākt" + +msgid "Fullscreen mode" +msgstr "Pilnekrāna režīms" + +msgid "Edit this page" +msgstr "Rediģēt šo lapu" + +msgid "By the" +msgstr "Ar" + +msgid "next page" +msgstr "nākamā lapaspuse" diff --git a/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..2736e8f Binary files /dev/null and b/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..d471277 --- /dev/null +++ b/_preview/1/_static/locales/ml/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF- ലേക്ക് പ്രിന്റുചെയ്യുക" + +msgid "Theme by the" +msgstr "പ്രമേയം" + +msgid "Download source file" +msgstr "ഉറവിട ഫയൽ ഡൗൺലോഡുചെയ്യുക" + +msgid "open issue" +msgstr "തുറന്ന പ്രശ്നം" + +msgid "previous page" +msgstr "മുൻപത്തെ താൾ" + +msgid "Download notebook file" +msgstr "നോട്ട്ബുക്ക് ഫയൽ ഡൺലോഡ് ചെയ്യുക" + +msgid "Copyright" +msgstr "പകർപ്പവകാശം" + +msgid "Download this page" +msgstr "ഈ പേജ് ഡൗൺലോഡുചെയ്യുക" + +msgid "Source repository" +msgstr "ഉറവിട ശേഖരം" + +msgid "By" +msgstr "എഴുതിയത്" + +msgid "Last updated on" +msgstr "അവസാനം അപ്‌ഡേറ്റുചെയ്‌തത്" + +msgid "Toggle navigation" +msgstr "നാവിഗേഷൻ ടോഗിൾ ചെയ്യുക" + +msgid "Sphinx Book Theme" +msgstr "സ്ഫിങ്ക്സ് പുസ്തക തീം" + +msgid "suggest edit" +msgstr "എഡിറ്റുചെയ്യാൻ നിർദ്ദേശിക്കുക" + +msgid "Open an issue" +msgstr "ഒരു പ്രശ്നം തുറക്കുക" + +msgid "Launch" +msgstr "സമാരംഭിക്കുക" + +msgid "Edit this page" +msgstr "ഈ പേജ് എഡിറ്റുചെയ്യുക" + +msgid "By the" +msgstr "എഴുതിയത്" + +msgid "next page" +msgstr "അടുത്ത പേജ്" diff --git a/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..fe53010 Binary files /dev/null and b/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..f3694ac --- /dev/null +++ b/_preview/1/_static/locales/mr/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "पीडीएफवर मुद्रित करा" + +msgid "Theme by the" +msgstr "द्वारा थीम" + +msgid "Download source file" +msgstr "स्त्रोत फाइल डाउनलोड करा" + +msgid "open issue" +msgstr "खुला मुद्दा" + +msgid "previous page" +msgstr "मागील पान" + +msgid "Download notebook file" +msgstr "नोटबुक फाईल डाउनलोड करा" + +msgid "Copyright" +msgstr "कॉपीराइट" + +msgid "Download this page" +msgstr "हे पृष्ठ डाउनलोड करा" + +msgid "Source repository" +msgstr "स्त्रोत भांडार" + +msgid "By" +msgstr "द्वारा" + +msgid "Last updated on" +msgstr "अखेरचे अद्यतनित" + +msgid "Toggle navigation" +msgstr "नेव्हिगेशन टॉगल करा" + +msgid "Sphinx Book Theme" +msgstr "स्फिंक्स बुक थीम" + +msgid "suggest edit" +msgstr "संपादन सुचवा" + +msgid "Open an issue" +msgstr "एक मुद्दा उघडा" + +msgid "Launch" +msgstr "लाँच करा" + +msgid "Edit this page" +msgstr "हे पृष्ठ संपादित करा" + +msgid "By the" +msgstr "द्वारा" + +msgid "next page" +msgstr "पुढील पृष्ठ" diff --git a/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..f02603f Binary files /dev/null and b/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..65b7c60 --- /dev/null +++ b/_preview/1/_static/locales/ms/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ms\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Cetak ke PDF" + +msgid "Theme by the" +msgstr "Tema oleh" + +msgid "Download source file" +msgstr "Muat turun fail sumber" + +msgid "open issue" +msgstr "isu terbuka" + +msgid "previous page" +msgstr "halaman sebelumnya" + +msgid "Download notebook file" +msgstr "Muat turun fail buku nota" + +msgid "Copyright" +msgstr "hak cipta" + +msgid "Download this page" +msgstr "Muat turun halaman ini" + +msgid "Source repository" +msgstr "Repositori sumber" + +msgid "By" +msgstr "Oleh" + +msgid "Last updated on" +msgstr "Terakhir dikemas kini pada" + +msgid "Toggle navigation" +msgstr "Togol navigasi" + +msgid "Sphinx Book Theme" +msgstr "Tema Buku Sphinx" + +msgid "suggest edit" +msgstr "cadangkan edit" + +msgid "Open an issue" +msgstr "Buka masalah" + +msgid "Launch" +msgstr "Lancarkan" + +msgid "Edit this page" +msgstr "Edit halaman ini" + +msgid "By the" +msgstr "Oleh" + +msgid "next page" +msgstr "muka surat seterusnya" diff --git a/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..e59e7ec Binary files /dev/null and b/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..71bd1cd --- /dev/null +++ b/_preview/1/_static/locales/nl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Afdrukken naar pdf" + +msgid "Theme by the" +msgstr "Thema door de" + +msgid "Download source file" +msgstr "Download het bronbestand" + +msgid "open issue" +msgstr "open probleem" + +msgid "Contents" +msgstr "Inhoud" + +msgid "previous page" +msgstr "vorige pagina" + +msgid "Download notebook file" +msgstr "Download notebookbestand" + +msgid "Copyright" +msgstr "auteursrechten" + +msgid "Download this page" +msgstr "Download deze pagina" + +msgid "Source repository" +msgstr "Bronopslagplaats" + +msgid "By" +msgstr "Door" + +msgid "repository" +msgstr "repository" + +msgid "Last updated on" +msgstr "Laatst geupdate op" + +msgid "Toggle navigation" +msgstr "Schakel navigatie" + +msgid "Sphinx Book Theme" +msgstr "Sphinx-boekthema" + +msgid "suggest edit" +msgstr "suggereren bewerken" + +msgid "Open an issue" +msgstr "Open een probleem" + +msgid "Launch" +msgstr "Lancering" + +msgid "Fullscreen mode" +msgstr "Volledig scherm" + +msgid "Edit this page" +msgstr "bewerk deze pagina" + +msgid "By the" +msgstr "Door de" + +msgid "next page" +msgstr "volgende bladzijde" diff --git a/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6cd15c8 Binary files /dev/null and b/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b21346a --- /dev/null +++ b/_preview/1/_static/locales/no/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: no\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Skriv ut til PDF" + +msgid "Theme by the" +msgstr "Tema av" + +msgid "Download source file" +msgstr "Last ned kildefilen" + +msgid "open issue" +msgstr "åpent nummer" + +msgid "Contents" +msgstr "Innhold" + +msgid "previous page" +msgstr "forrige side" + +msgid "Download notebook file" +msgstr "Last ned notatbokfilen" + +msgid "Copyright" +msgstr "opphavsrett" + +msgid "Download this page" +msgstr "Last ned denne siden" + +msgid "Source repository" +msgstr "Kildedepot" + +msgid "By" +msgstr "Av" + +msgid "repository" +msgstr "oppbevaringssted" + +msgid "Last updated on" +msgstr "Sist oppdatert den" + +msgid "Toggle navigation" +msgstr "Bytt navigasjon" + +msgid "Sphinx Book Theme" +msgstr "Sphinx boktema" + +msgid "suggest edit" +msgstr "foreslå redigering" + +msgid "Open an issue" +msgstr "Åpne et problem" + +msgid "Launch" +msgstr "Start" + +msgid "Fullscreen mode" +msgstr "Fullskjerm-modus" + +msgid "Edit this page" +msgstr "Rediger denne siden" + +msgid "By the" +msgstr "Ved" + +msgid "next page" +msgstr "neste side" diff --git a/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..9ebb584 Binary files /dev/null and b/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1b7233f --- /dev/null +++ b/_preview/1/_static/locales/pl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Drukuj do PDF" + +msgid "Theme by the" +msgstr "Motyw autorstwa" + +msgid "Download source file" +msgstr "Pobierz plik źródłowy" + +msgid "open issue" +msgstr "otwarty problem" + +msgid "Contents" +msgstr "Zawartość" + +msgid "previous page" +msgstr "Poprzednia strona" + +msgid "Download notebook file" +msgstr "Pobierz plik notatnika" + +msgid "Copyright" +msgstr "prawa autorskie" + +msgid "Download this page" +msgstr "Pobierz tę stronę" + +msgid "Source repository" +msgstr "Repozytorium źródłowe" + +msgid "By" +msgstr "Przez" + +msgid "repository" +msgstr "magazyn" + +msgid "Last updated on" +msgstr "Ostatnia aktualizacja" + +msgid "Toggle navigation" +msgstr "Przełącz nawigację" + +msgid "Sphinx Book Theme" +msgstr "Motyw książki Sphinx" + +msgid "suggest edit" +msgstr "zaproponuj edycję" + +msgid "Open an issue" +msgstr "Otwórz problem" + +msgid "Launch" +msgstr "Uruchomić" + +msgid "Fullscreen mode" +msgstr "Pełny ekran" + +msgid "Edit this page" +msgstr "Edytuj tę strone" + +msgid "By the" +msgstr "Przez" + +msgid "next page" +msgstr "Następna strona" diff --git a/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..d0ddb87 Binary files /dev/null and b/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1b27314 --- /dev/null +++ b/_preview/1/_static/locales/pt/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimir em PDF" + +msgid "Theme by the" +msgstr "Tema por" + +msgid "Download source file" +msgstr "Baixar arquivo fonte" + +msgid "open issue" +msgstr "questão aberta" + +msgid "Contents" +msgstr "Conteúdo" + +msgid "previous page" +msgstr "página anterior" + +msgid "Download notebook file" +msgstr "Baixar arquivo de notebook" + +msgid "Copyright" +msgstr "direito autoral" + +msgid "Download this page" +msgstr "Baixe esta página" + +msgid "Source repository" +msgstr "Repositório fonte" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "repositório" + +msgid "Last updated on" +msgstr "Última atualização em" + +msgid "Toggle navigation" +msgstr "Alternar de navegação" + +msgid "Sphinx Book Theme" +msgstr "Tema do livro Sphinx" + +msgid "suggest edit" +msgstr "sugerir edição" + +msgid "Open an issue" +msgstr "Abra um problema" + +msgid "Launch" +msgstr "Lançamento" + +msgid "Fullscreen mode" +msgstr "Modo tela cheia" + +msgid "Edit this page" +msgstr "Edite essa página" + +msgid "By the" +msgstr "Pelo" + +msgid "next page" +msgstr "próxima página" diff --git a/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..3c36ab1 Binary files /dev/null and b/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..1783ad2 --- /dev/null +++ b/_preview/1/_static/locales/ro/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Imprimați în PDF" + +msgid "Theme by the" +msgstr "Tema de" + +msgid "Download source file" +msgstr "Descărcați fișierul sursă" + +msgid "open issue" +msgstr "problema deschisă" + +msgid "Contents" +msgstr "Cuprins" + +msgid "previous page" +msgstr "pagina anterioară" + +msgid "Download notebook file" +msgstr "Descărcați fișierul notebook" + +msgid "Copyright" +msgstr "Drepturi de autor" + +msgid "Download this page" +msgstr "Descarcă această pagină" + +msgid "Source repository" +msgstr "Depozit sursă" + +msgid "By" +msgstr "De" + +msgid "repository" +msgstr "repertoriu" + +msgid "Last updated on" +msgstr "Ultima actualizare la" + +msgid "Toggle navigation" +msgstr "Comutare navigare" + +msgid "Sphinx Book Theme" +msgstr "Tema Sphinx Book" + +msgid "suggest edit" +msgstr "sugerează editare" + +msgid "Open an issue" +msgstr "Deschideți o problemă" + +msgid "Launch" +msgstr "Lansa" + +msgid "Fullscreen mode" +msgstr "Modul ecran întreg" + +msgid "Edit this page" +msgstr "Editați această pagină" + +msgid "By the" +msgstr "Langa" + +msgid "next page" +msgstr "pagina următoare" diff --git a/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..6b8ca41 Binary files /dev/null and b/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b1176b7 --- /dev/null +++ b/_preview/1/_static/locales/ru/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Распечатать в PDF" + +msgid "Theme by the" +msgstr "Тема от" + +msgid "Download source file" +msgstr "Скачать исходный файл" + +msgid "open issue" +msgstr "открытый вопрос" + +msgid "Contents" +msgstr "Содержание" + +msgid "previous page" +msgstr "Предыдущая страница" + +msgid "Download notebook file" +msgstr "Скачать файл записной книжки" + +msgid "Copyright" +msgstr "авторское право" + +msgid "Download this page" +msgstr "Загрузите эту страницу" + +msgid "Source repository" +msgstr "Исходный репозиторий" + +msgid "By" +msgstr "По" + +msgid "repository" +msgstr "хранилище" + +msgid "Last updated on" +msgstr "Последнее обновление" + +msgid "Toggle navigation" +msgstr "Переключить навигацию" + +msgid "Sphinx Book Theme" +msgstr "Тема книги Сфинкс" + +msgid "suggest edit" +msgstr "предложить редактировать" + +msgid "Open an issue" +msgstr "Открыть вопрос" + +msgid "Launch" +msgstr "Запуск" + +msgid "Fullscreen mode" +msgstr "Полноэкранный режим" + +msgid "Edit this page" +msgstr "Редактировать эту страницу" + +msgid "By the" +msgstr "Посредством" + +msgid "next page" +msgstr "Следующая страница" diff --git a/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..59bd0dd Binary files /dev/null and b/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..6501288 --- /dev/null +++ b/_preview/1/_static/locales/sk/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Tlač do PDF" + +msgid "Theme by the" +msgstr "Téma od" + +msgid "Download source file" +msgstr "Stiahnite si zdrojový súbor" + +msgid "open issue" +msgstr "otvorené vydanie" + +msgid "Contents" +msgstr "Obsah" + +msgid "previous page" +msgstr "predchádzajúca strana" + +msgid "Download notebook file" +msgstr "Stiahnite si zošit" + +msgid "Copyright" +msgstr "Autorské práva" + +msgid "Download this page" +msgstr "Stiahnite si túto stránku" + +msgid "Source repository" +msgstr "Zdrojové úložisko" + +msgid "By" +msgstr "Autor:" + +msgid "repository" +msgstr "Úložisko" + +msgid "Last updated on" +msgstr "Posledná aktualizácia dňa" + +msgid "Toggle navigation" +msgstr "Prepnúť navigáciu" + +msgid "Sphinx Book Theme" +msgstr "Téma knihy Sfinga" + +msgid "suggest edit" +msgstr "navrhnúť úpravu" + +msgid "Open an issue" +msgstr "Otvorte problém" + +msgid "Launch" +msgstr "Spustiť" + +msgid "Fullscreen mode" +msgstr "Režim celej obrazovky" + +msgid "Edit this page" +msgstr "Upraviť túto stránku" + +msgid "By the" +msgstr "Podľa" + +msgid "next page" +msgstr "ďalšia strana" diff --git a/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..87bf26d Binary files /dev/null and b/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..3c7e3a8 --- /dev/null +++ b/_preview/1/_static/locales/sl/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Natisni v PDF" + +msgid "Theme by the" +msgstr "Tema avtorja" + +msgid "Download source file" +msgstr "Prenesite izvorno datoteko" + +msgid "open issue" +msgstr "odprto vprašanje" + +msgid "Contents" +msgstr "Vsebina" + +msgid "previous page" +msgstr "Prejšnja stran" + +msgid "Download notebook file" +msgstr "Prenesite datoteko zvezka" + +msgid "Copyright" +msgstr "avtorske pravice" + +msgid "Download this page" +msgstr "Prenesite to stran" + +msgid "Source repository" +msgstr "Izvorno skladišče" + +msgid "By" +msgstr "Avtor" + +msgid "repository" +msgstr "odlagališče" + +msgid "Last updated on" +msgstr "Nazadnje posodobljeno dne" + +msgid "Toggle navigation" +msgstr "Preklopi navigacijo" + +msgid "Sphinx Book Theme" +msgstr "Tema knjige Sphinx" + +msgid "suggest edit" +msgstr "predlagajte urejanje" + +msgid "Open an issue" +msgstr "Odprite številko" + +msgid "Launch" +msgstr "Kosilo" + +msgid "Fullscreen mode" +msgstr "Celozaslonski način" + +msgid "Edit this page" +msgstr "Uredite to stran" + +msgid "By the" +msgstr "Avtor" + +msgid "next page" +msgstr "Naslednja stran" diff --git a/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..ec740f4 Binary files /dev/null and b/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..773b8ad --- /dev/null +++ b/_preview/1/_static/locales/sr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Испис у ПДФ" + +msgid "Theme by the" +msgstr "Тхеме би" + +msgid "Download source file" +msgstr "Преузми изворну датотеку" + +msgid "open issue" +msgstr "отворено издање" + +msgid "Contents" +msgstr "Садржај" + +msgid "previous page" +msgstr "Претходна страница" + +msgid "Download notebook file" +msgstr "Преузмите датотеку бележнице" + +msgid "Copyright" +msgstr "Ауторско право" + +msgid "Download this page" +msgstr "Преузмите ову страницу" + +msgid "Source repository" +msgstr "Изворно спремиште" + +msgid "By" +msgstr "Од стране" + +msgid "repository" +msgstr "спремиште" + +msgid "Last updated on" +msgstr "Последње ажурирање" + +msgid "Toggle navigation" +msgstr "Укључи / искључи навигацију" + +msgid "Sphinx Book Theme" +msgstr "Тема књиге Спхинк" + +msgid "suggest edit" +msgstr "предложи уређивање" + +msgid "Open an issue" +msgstr "Отворите издање" + +msgid "Launch" +msgstr "Лансирање" + +msgid "Fullscreen mode" +msgstr "Режим целог екрана" + +msgid "Edit this page" +msgstr "Уредите ову страницу" + +msgid "By the" +msgstr "Од" + +msgid "next page" +msgstr "Следећа страна" diff --git a/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..b07dc76 Binary files /dev/null and b/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..bcac54c --- /dev/null +++ b/_preview/1/_static/locales/sv/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Skriv ut till PDF" + +msgid "Theme by the" +msgstr "Tema av" + +msgid "Download source file" +msgstr "Ladda ner källfil" + +msgid "open issue" +msgstr "öppna problemrapport" + +msgid "Contents" +msgstr "Innehåll" + +msgid "previous page" +msgstr "föregående sida" + +msgid "Download notebook file" +msgstr "Ladda ner notebook-fil" + +msgid "Copyright" +msgstr "Upphovsrätt" + +msgid "Download this page" +msgstr "Ladda ner den här sidan" + +msgid "Source repository" +msgstr "Källkodsrepositorium" + +msgid "By" +msgstr "Av" + +msgid "repository" +msgstr "repositorium" + +msgid "Last updated on" +msgstr "Senast uppdaterad den" + +msgid "Toggle navigation" +msgstr "Växla navigering" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Boktema" + +msgid "suggest edit" +msgstr "föreslå ändring" + +msgid "Open an issue" +msgstr "Öppna en problemrapport" + +msgid "Launch" +msgstr "Öppna" + +msgid "Fullscreen mode" +msgstr "Fullskärmsläge" + +msgid "Edit this page" +msgstr "Redigera den här sidan" + +msgid "By the" +msgstr "Av den" + +msgid "next page" +msgstr "nästa sida" diff --git a/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..29f52e1 Binary files /dev/null and b/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..b48bdfa --- /dev/null +++ b/_preview/1/_static/locales/ta/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ta\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF இல் அச்சிடுக" + +msgid "Theme by the" +msgstr "வழங்கிய தீம்" + +msgid "Download source file" +msgstr "மூல கோப்பைப் பதிவிறக்குக" + +msgid "open issue" +msgstr "திறந்த பிரச்சினை" + +msgid "previous page" +msgstr "முந்தைய பக்கம்" + +msgid "Download notebook file" +msgstr "நோட்புக் கோப்பைப் பதிவிறக்கவும்" + +msgid "Copyright" +msgstr "பதிப்புரிமை" + +msgid "Download this page" +msgstr "இந்தப் பக்கத்தைப் பதிவிறக்கவும்" + +msgid "Source repository" +msgstr "மூல களஞ்சியம்" + +msgid "By" +msgstr "வழங்கியவர்" + +msgid "Last updated on" +msgstr "கடைசியாக புதுப்பிக்கப்பட்டது" + +msgid "Toggle navigation" +msgstr "வழிசெலுத்தலை நிலைமாற்று" + +msgid "Sphinx Book Theme" +msgstr "ஸ்பிங்க்ஸ் புத்தக தீம்" + +msgid "suggest edit" +msgstr "திருத்த பரிந்துரைக்கவும்" + +msgid "Open an issue" +msgstr "சிக்கலைத் திறக்கவும்" + +msgid "Launch" +msgstr "தொடங்க" + +msgid "Edit this page" +msgstr "இந்தப் பக்கத்தைத் திருத்தவும்" + +msgid "By the" +msgstr "மூலம்" + +msgid "next page" +msgstr "அடுத்த பக்கம்" diff --git a/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..0a5f4b4 Binary files /dev/null and b/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..952278f --- /dev/null +++ b/_preview/1/_static/locales/te/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF కి ముద్రించండి" + +msgid "Theme by the" +msgstr "ద్వారా థీమ్" + +msgid "Download source file" +msgstr "మూల ఫైల్‌ను డౌన్‌లోడ్ చేయండి" + +msgid "open issue" +msgstr "ఓపెన్ ఇష్యూ" + +msgid "previous page" +msgstr "ముందు పేజి" + +msgid "Download notebook file" +msgstr "నోట్బుక్ ఫైల్ను డౌన్లోడ్ చేయండి" + +msgid "Copyright" +msgstr "కాపీరైట్" + +msgid "Download this page" +msgstr "ఈ పేజీని డౌన్‌లోడ్ చేయండి" + +msgid "Source repository" +msgstr "మూల రిపోజిటరీ" + +msgid "By" +msgstr "ద్వారా" + +msgid "Last updated on" +msgstr "చివరిగా నవీకరించబడింది" + +msgid "Toggle navigation" +msgstr "నావిగేషన్‌ను టోగుల్ చేయండి" + +msgid "Sphinx Book Theme" +msgstr "సింహిక పుస్తక థీమ్" + +msgid "suggest edit" +msgstr "సవరించమని సూచించండి" + +msgid "Open an issue" +msgstr "సమస్యను తెరవండి" + +msgid "Launch" +msgstr "ప్రారంభించండి" + +msgid "Edit this page" +msgstr "ఈ పేజీని సవరించండి" + +msgid "By the" +msgstr "ద్వారా" + +msgid "next page" +msgstr "తరువాతి పేజీ" diff --git a/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..b21c6c6 Binary files /dev/null and b/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..c33dc42 --- /dev/null +++ b/_preview/1/_static/locales/tg/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Чоп ба PDF" + +msgid "Theme by the" +msgstr "Мавзӯъи аз" + +msgid "Download source file" +msgstr "Файли манбаъро зеркашӣ кунед" + +msgid "open issue" +msgstr "барориши кушод" + +msgid "Contents" +msgstr "Мундариҷа" + +msgid "previous page" +msgstr "саҳифаи қаблӣ" + +msgid "Download notebook file" +msgstr "Файли дафтарро зеркашӣ кунед" + +msgid "Copyright" +msgstr "Ҳуқуқи муаллиф" + +msgid "Download this page" +msgstr "Ин саҳифаро зеркашӣ кунед" + +msgid "Source repository" +msgstr "Анбори манбаъ" + +msgid "By" +msgstr "Бо" + +msgid "repository" +msgstr "анбор" + +msgid "Last updated on" +msgstr "Last навсозӣ дар" + +msgid "Toggle navigation" +msgstr "Гузаришро иваз кунед" + +msgid "Sphinx Book Theme" +msgstr "Сфинкс Мавзӯи китоб" + +msgid "suggest edit" +msgstr "пешниҳод вироиш" + +msgid "Open an issue" +msgstr "Масъаларо кушоед" + +msgid "Launch" +msgstr "Оғоз" + +msgid "Fullscreen mode" +msgstr "Ҳолати экрани пурра" + +msgid "Edit this page" +msgstr "Ин саҳифаро таҳрир кунед" + +msgid "By the" +msgstr "Бо" + +msgid "next page" +msgstr "саҳифаи оянда" diff --git a/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..abede98 Binary files /dev/null and b/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..9d24294 --- /dev/null +++ b/_preview/1/_static/locales/th/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "พิมพ์เป็น PDF" + +msgid "Theme by the" +msgstr "ธีมโดย" + +msgid "Download source file" +msgstr "ดาวน์โหลดไฟล์ต้นฉบับ" + +msgid "open issue" +msgstr "เปิดปัญหา" + +msgid "Contents" +msgstr "สารบัญ" + +msgid "previous page" +msgstr "หน้าที่แล้ว" + +msgid "Download notebook file" +msgstr "ดาวน์โหลดไฟล์สมุดบันทึก" + +msgid "Copyright" +msgstr "ลิขสิทธิ์" + +msgid "Download this page" +msgstr "ดาวน์โหลดหน้านี้" + +msgid "Source repository" +msgstr "ที่เก็บซอร์ส" + +msgid "By" +msgstr "โดย" + +msgid "repository" +msgstr "ที่เก็บ" + +msgid "Last updated on" +msgstr "ปรับปรุงล่าสุดเมื่อ" + +msgid "Toggle navigation" +msgstr "ไม่ต้องสลับช่องทาง" + +msgid "Sphinx Book Theme" +msgstr "ธีมหนังสือสฟิงซ์" + +msgid "suggest edit" +msgstr "แนะนำแก้ไข" + +msgid "Open an issue" +msgstr "เปิดปัญหา" + +msgid "Launch" +msgstr "เปิด" + +msgid "Fullscreen mode" +msgstr "โหมดเต็มหน้าจอ" + +msgid "Edit this page" +msgstr "แก้ไขหน้านี้" + +msgid "By the" +msgstr "โดย" + +msgid "next page" +msgstr "หน้าต่อไป" diff --git a/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..8df1b73 Binary files /dev/null and b/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..20e0d07 --- /dev/null +++ b/_preview/1/_static/locales/tl/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "I-print sa PDF" + +msgid "Theme by the" +msgstr "Tema ng" + +msgid "Download source file" +msgstr "Mag-download ng file ng pinagmulan" + +msgid "open issue" +msgstr "bukas na isyu" + +msgid "previous page" +msgstr "Nakaraang pahina" + +msgid "Download notebook file" +msgstr "Mag-download ng file ng notebook" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "I-download ang pahinang ito" + +msgid "Source repository" +msgstr "Pinagmulan ng imbakan" + +msgid "By" +msgstr "Ni" + +msgid "Last updated on" +msgstr "Huling na-update noong" + +msgid "Toggle navigation" +msgstr "I-toggle ang pag-navigate" + +msgid "Sphinx Book Theme" +msgstr "Tema ng Sphinx Book" + +msgid "suggest edit" +msgstr "iminumungkahi i-edit" + +msgid "Open an issue" +msgstr "Magbukas ng isyu" + +msgid "Launch" +msgstr "Ilunsad" + +msgid "Edit this page" +msgstr "I-edit ang pahinang ito" + +msgid "By the" +msgstr "Sa pamamagitan ng" + +msgid "next page" +msgstr "Susunod na pahina" diff --git a/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..029ae18 Binary files /dev/null and b/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..a77eb02 --- /dev/null +++ b/_preview/1/_static/locales/tr/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "PDF olarak yazdır" + +msgid "Theme by the" +msgstr "Tarafından tema" + +msgid "Download source file" +msgstr "Kaynak dosyayı indirin" + +msgid "open issue" +msgstr "Açık konu" + +msgid "Contents" +msgstr "İçindekiler" + +msgid "previous page" +msgstr "önceki sayfa" + +msgid "Download notebook file" +msgstr "Defter dosyasını indirin" + +msgid "Copyright" +msgstr "Telif hakkı" + +msgid "Download this page" +msgstr "Bu sayfayı indirin" + +msgid "Source repository" +msgstr "Kaynak kod deposu" + +msgid "By" +msgstr "Tarafından" + +msgid "repository" +msgstr "depo" + +msgid "Last updated on" +msgstr "Son güncelleme tarihi" + +msgid "Toggle navigation" +msgstr "Gezinmeyi değiştir" + +msgid "Sphinx Book Theme" +msgstr "Sfenks Kitap Teması" + +msgid "suggest edit" +msgstr "düzenleme öner" + +msgid "Open an issue" +msgstr "Bir sorunu açın" + +msgid "Launch" +msgstr "Başlatmak" + +msgid "Fullscreen mode" +msgstr "Tam ekran modu" + +msgid "Edit this page" +msgstr "Bu sayfayı düzenle" + +msgid "By the" +msgstr "Tarafından" + +msgid "next page" +msgstr "sonraki Sayfa" diff --git a/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..16ab789 Binary files /dev/null and b/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..993dd07 --- /dev/null +++ b/_preview/1/_static/locales/uk/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "Друк у форматі PDF" + +msgid "Theme by the" +msgstr "Тема від" + +msgid "Download source file" +msgstr "Завантажити вихідний файл" + +msgid "open issue" +msgstr "відкритий випуск" + +msgid "Contents" +msgstr "Зміст" + +msgid "previous page" +msgstr "Попередня сторінка" + +msgid "Download notebook file" +msgstr "Завантажте файл блокнота" + +msgid "Copyright" +msgstr "Авторське право" + +msgid "Download this page" +msgstr "Завантажте цю сторінку" + +msgid "Source repository" +msgstr "Джерело сховища" + +msgid "By" +msgstr "Автор" + +msgid "repository" +msgstr "сховище" + +msgid "Last updated on" +msgstr "Останнє оновлення:" + +msgid "Toggle navigation" +msgstr "Переключити навігацію" + +msgid "Sphinx Book Theme" +msgstr "Тема книги \"Сфінкс\"" + +msgid "suggest edit" +msgstr "запропонувати редагувати" + +msgid "Open an issue" +msgstr "Відкрийте випуск" + +msgid "Launch" +msgstr "Запуск" + +msgid "Fullscreen mode" +msgstr "Повноекранний режим" + +msgid "Edit this page" +msgstr "Редагувати цю сторінку" + +msgid "By the" +msgstr "По" + +msgid "next page" +msgstr "Наступна сторінка" diff --git a/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..de8c84b Binary files /dev/null and b/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2f77426 --- /dev/null +++ b/_preview/1/_static/locales/ur/LC_MESSAGES/booktheme.po @@ -0,0 +1,66 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "پی ڈی ایف پرنٹ کریں" + +msgid "Theme by the" +msgstr "کے ذریعہ تھیم" + +msgid "Download source file" +msgstr "سورس فائل ڈاؤن لوڈ کریں" + +msgid "open issue" +msgstr "کھلا مسئلہ" + +msgid "previous page" +msgstr "سابقہ ​​صفحہ" + +msgid "Download notebook file" +msgstr "نوٹ بک فائل ڈاؤن لوڈ کریں" + +msgid "Copyright" +msgstr "کاپی رائٹ" + +msgid "Download this page" +msgstr "اس صفحے کو ڈاؤن لوڈ کریں" + +msgid "Source repository" +msgstr "ماخذ ذخیرہ" + +msgid "By" +msgstr "بذریعہ" + +msgid "Last updated on" +msgstr "آخری بار تازہ کاری ہوئی" + +msgid "Toggle navigation" +msgstr "نیویگیشن ٹوگل کریں" + +msgid "Sphinx Book Theme" +msgstr "سپنکس بک تھیم" + +msgid "suggest edit" +msgstr "ترمیم کی تجویز کریں" + +msgid "Open an issue" +msgstr "ایک مسئلہ کھولیں" + +msgid "Launch" +msgstr "لانچ کریں" + +msgid "Edit this page" +msgstr "اس صفحے میں ترمیم کریں" + +msgid "By the" +msgstr "کی طرف" + +msgid "next page" +msgstr "اگلا صفحہ" diff --git a/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..2bb3255 Binary files /dev/null and b/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..33159f3 --- /dev/null +++ b/_preview/1/_static/locales/vi/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "In sang PDF" + +msgid "Theme by the" +msgstr "Chủ đề của" + +msgid "Download source file" +msgstr "Tải xuống tệp nguồn" + +msgid "open issue" +msgstr "vấn đề mở" + +msgid "Contents" +msgstr "Nội dung" + +msgid "previous page" +msgstr "trang trước" + +msgid "Download notebook file" +msgstr "Tải xuống tệp sổ tay" + +msgid "Copyright" +msgstr "Bản quyền" + +msgid "Download this page" +msgstr "Tải xuống trang này" + +msgid "Source repository" +msgstr "Kho nguồn" + +msgid "By" +msgstr "Bởi" + +msgid "repository" +msgstr "kho" + +msgid "Last updated on" +msgstr "Cập nhật lần cuối vào" + +msgid "Toggle navigation" +msgstr "Chuyển đổi điều hướng thành" + +msgid "Sphinx Book Theme" +msgstr "Chủ đề sách nhân sư" + +msgid "suggest edit" +msgstr "đề nghị chỉnh sửa" + +msgid "Open an issue" +msgstr "Mở một vấn đề" + +msgid "Launch" +msgstr "Phóng" + +msgid "Fullscreen mode" +msgstr "Chế độ toàn màn hình" + +msgid "Edit this page" +msgstr "chỉnh sửa trang này" + +msgid "By the" +msgstr "Bằng" + +msgid "next page" +msgstr "Trang tiếp theo" diff --git a/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..0e3235d Binary files /dev/null and b/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..2e519ef --- /dev/null +++ b/_preview/1/_static/locales/zh_CN/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "列印成 PDF" + +msgid "Theme by the" +msgstr "主题作者:" + +msgid "Download source file" +msgstr "下载源文件" + +msgid "open issue" +msgstr "创建议题" + +msgid "Contents" +msgstr "目录" + +msgid "previous page" +msgstr "上一页" + +msgid "Download notebook file" +msgstr "下载笔记本文件" + +msgid "Copyright" +msgstr "版权" + +msgid "Download this page" +msgstr "下载此页面" + +msgid "Source repository" +msgstr "源码库" + +msgid "By" +msgstr "作者:" + +msgid "repository" +msgstr "仓库" + +msgid "Last updated on" +msgstr "上次更新时间:" + +msgid "Toggle navigation" +msgstr "显示或隐藏导航栏" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 主题" + +msgid "suggest edit" +msgstr "提出修改建议" + +msgid "Open an issue" +msgstr "创建议题" + +msgid "Launch" +msgstr "启动" + +msgid "Fullscreen mode" +msgstr "全屏模式" + +msgid "Edit this page" +msgstr "编辑此页面" + +msgid "By the" +msgstr "作者:" + +msgid "next page" +msgstr "下一页" diff --git a/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo b/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo new file mode 100644 index 0000000..9116fa9 Binary files /dev/null and b/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.mo differ diff --git a/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.po b/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.po new file mode 100644 index 0000000..beecb07 --- /dev/null +++ b/_preview/1/_static/locales/zh_TW/LC_MESSAGES/booktheme.po @@ -0,0 +1,75 @@ + +msgid "" +msgstr "" +"Project-Id-Version: Sphinx-Book-Theme\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Print to PDF" +msgstr "列印成 PDF" + +msgid "Theme by the" +msgstr "佈景主題作者:" + +msgid "Download source file" +msgstr "下載原始檔" + +msgid "open issue" +msgstr "公開的問題" + +msgid "Contents" +msgstr "目錄" + +msgid "previous page" +msgstr "上一頁" + +msgid "Download notebook file" +msgstr "下載 Notebook 檔案" + +msgid "Copyright" +msgstr "Copyright" + +msgid "Download this page" +msgstr "下載此頁面" + +msgid "Source repository" +msgstr "來源儲存庫" + +msgid "By" +msgstr "作者:" + +msgid "repository" +msgstr "儲存庫" + +msgid "Last updated on" +msgstr "最後更新時間:" + +msgid "Toggle navigation" +msgstr "顯示或隱藏導覽列" + +msgid "Sphinx Book Theme" +msgstr "Sphinx Book 佈景主題" + +msgid "suggest edit" +msgstr "提出修改建議" + +msgid "Open an issue" +msgstr "開啟議題" + +msgid "Launch" +msgstr "啟動" + +msgid "Fullscreen mode" +msgstr "全螢幕模式" + +msgid "Edit this page" +msgstr "編輯此頁面" + +msgid "By the" +msgstr "作者:" + +msgid "next page" +msgstr "下一頁" diff --git a/_preview/1/_static/minus.png b/_preview/1/_static/minus.png new file mode 100644 index 0000000..d96755f Binary files /dev/null and b/_preview/1/_static/minus.png differ diff --git a/_preview/1/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css b/_preview/1/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css new file mode 100644 index 0000000..3356631 --- /dev/null +++ b/_preview/1/_static/mystnb.4510f1fc1dee50b3e5859aac5469c37c29e427902b24a333a5f9fcb2f0b3ac41.css @@ -0,0 +1,2342 @@ +/* Variables */ +:root { + --mystnb-source-bg-color: #f7f7f7; + --mystnb-stdout-bg-color: #fcfcfc; + --mystnb-stderr-bg-color: #fdd; + --mystnb-traceback-bg-color: #fcfcfc; + --mystnb-source-border-color: #ccc; + --mystnb-source-margin-color: green; + --mystnb-stdout-border-color: #f7f7f7; + --mystnb-stderr-border-color: #f7f7f7; + --mystnb-traceback-border-color: #ffd6d6; + --mystnb-hide-prompt-opacity: 70%; + --mystnb-source-border-radius: .4em; + --mystnb-source-border-width: 1px; +} + +/* Whole cell */ +div.container.cell { + padding-left: 0; + margin-bottom: 1em; +} + +/* Removing all background formatting so we can control at the div level */ +.cell_input div.highlight, +.cell_output pre, +.cell_input pre, +.cell_output .output { + border: none; + box-shadow: none; +} + +.cell_output .output pre, +.cell_input pre { + margin: 0px; +} + +/* Input cells */ +div.cell div.cell_input, +div.cell details.above-input>summary { + padding-left: 0em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + background-color: var(--mystnb-source-bg-color); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; + border-radius: var(--mystnb-source-border-radius); +} + +div.cell_input>div, +div.cell_output div.output>div.highlight { + margin: 0em !important; + border: none !important; +} + +/* All cell outputs */ +.cell_output { + padding-left: 1em; + padding-right: 0em; + margin-top: 1em; +} + +/* Text outputs from cells */ +.cell_output .output.text_plain, +.cell_output .output.traceback, +.cell_output .output.stream, +.cell_output .output.stderr { + margin-top: 1em; + margin-bottom: 0em; + box-shadow: none; +} + +.cell_output .output.text_plain, +.cell_output .output.stream { + background: var(--mystnb-stdout-bg-color); + border: 1px solid var(--mystnb-stdout-border-color); +} + +.cell_output .output.stderr { + background: var(--mystnb-stderr-bg-color); + border: 1px solid var(--mystnb-stderr-border-color); +} + +.cell_output .output.traceback { + background: var(--mystnb-traceback-bg-color); + border: 1px solid var(--mystnb-traceback-border-color); +} + +/* Collapsible cell content */ +div.cell details.above-input div.cell_input { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-top: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; +} + +div.cell div.cell_input.above-output-prompt { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +div.cell details.above-input>summary { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-bottom: var(--mystnb-source-border-width) var(--mystnb-source-border-color) dashed; + padding-left: 1em; + margin-bottom: 0; +} + +div.cell details.above-output>summary { + background-color: var(--mystnb-source-bg-color); + padding-left: 1em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + border-radius: var(--mystnb-source-border-radius); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; +} + +div.cell details.below-input>summary { + background-color: var(--mystnb-source-bg-color); + padding-left: 1em; + padding-right: 0em; + border: var(--mystnb-source-border-width) var(--mystnb-source-border-color) solid; + border-top: none; + border-bottom-left-radius: var(--mystnb-source-border-radius); + border-bottom-right-radius: var(--mystnb-source-border-radius); + border-left-color: var(--mystnb-source-margin-color); + border-left-width: medium; +} + +div.cell details.hide>summary>span { + opacity: var(--mystnb-hide-prompt-opacity); +} + +div.cell details.hide[open]>summary>span.collapsed { + display: none; +} + +div.cell details.hide:not([open])>summary>span.expanded { + display: none; +} + +@keyframes collapsed-fade-in { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} +div.cell details.hide[open]>summary~* { + -moz-animation: collapsed-fade-in 0.3s ease-in-out; + -webkit-animation: collapsed-fade-in 0.3s ease-in-out; + animation: collapsed-fade-in 0.3s ease-in-out; +} + +/* Math align to the left */ +.cell_output .MathJax_Display { + text-align: left !important; +} + +/* Pandas tables. Pulled from the Jupyter / nbsphinx CSS */ +div.cell_output table { + border: none; + border-collapse: collapse; + border-spacing: 0; + color: black; + font-size: 1em; + table-layout: fixed; +} + +div.cell_output thead { + border-bottom: 1px solid black; + vertical-align: bottom; +} + +div.cell_output tr, +div.cell_output th, +div.cell_output td { + text-align: right; + vertical-align: middle; + padding: 0.5em 0.5em; + line-height: normal; + white-space: normal; + max-width: none; + border: none; +} + +div.cell_output th { + font-weight: bold; +} + +div.cell_output tbody tr:nth-child(odd) { + background: #f5f5f5; +} + +div.cell_output tbody tr:hover { + background: rgba(66, 165, 245, 0.2); +} + +/** source code line numbers **/ +span.linenos { + opacity: 0.5; +} + +/* Inline text from `paste` operation */ + +span.pasted-text { + font-weight: bold; +} + +span.pasted-inline img { + max-height: 2em; +} + +tbody span.pasted-inline img { + max-height: none; +} + +/* Font colors for translated ANSI escape sequences +Color values are copied from Jupyter Notebook +https://github.com/jupyter/notebook/blob/52581f8eda9b319eb0390ac77fe5903c38f81e3e/notebook/static/notebook/less/ansicolors.less#L14-L21 +Background colors from +https://nbsphinx.readthedocs.io/en/latest/code-cells.html#ANSI-Colors +*/ +div.highlight .-Color-Bold { + font-weight: bold; +} + +div.highlight .-Color[class*=-Black] { + color: #3E424D +} + +div.highlight .-Color[class*=-Red] { + color: #E75C58 +} + +div.highlight .-Color[class*=-Green] { + color: #00A250 +} + +div.highlight .-Color[class*=-Yellow] { + color: #DDB62B +} + +div.highlight .-Color[class*=-Blue] { + color: #208FFB +} + +div.highlight .-Color[class*=-Magenta] { + color: #D160C4 +} + +div.highlight .-Color[class*=-Cyan] { + color: #60C6C8 +} + +div.highlight .-Color[class*=-White] { + color: #C5C1B4 +} + +div.highlight .-Color[class*=-BGBlack] { + background-color: #3E424D +} + +div.highlight .-Color[class*=-BGRed] { + background-color: #E75C58 +} + +div.highlight .-Color[class*=-BGGreen] { + background-color: #00A250 +} + +div.highlight .-Color[class*=-BGYellow] { + background-color: #DDB62B +} + +div.highlight .-Color[class*=-BGBlue] { + background-color: #208FFB +} + +div.highlight .-Color[class*=-BGMagenta] { + background-color: #D160C4 +} + +div.highlight .-Color[class*=-BGCyan] { + background-color: #60C6C8 +} + +div.highlight .-Color[class*=-BGWhite] { + background-color: #C5C1B4 +} + +/* Font colors for 8-bit ANSI */ + +div.highlight .-Color[class*=-C0] { + color: #000000 +} + +div.highlight .-Color[class*=-BGC0] { + background-color: #000000 +} + +div.highlight .-Color[class*=-C1] { + color: #800000 +} + +div.highlight .-Color[class*=-BGC1] { + background-color: #800000 +} + +div.highlight .-Color[class*=-C2] { + color: #008000 +} + +div.highlight .-Color[class*=-BGC2] { + background-color: #008000 +} + +div.highlight .-Color[class*=-C3] { + color: #808000 +} + +div.highlight .-Color[class*=-BGC3] { + background-color: #808000 +} + +div.highlight .-Color[class*=-C4] { + color: #000080 +} + +div.highlight .-Color[class*=-BGC4] { + background-color: #000080 +} + +div.highlight .-Color[class*=-C5] { + color: #800080 +} + +div.highlight .-Color[class*=-BGC5] { + background-color: #800080 +} + +div.highlight .-Color[class*=-C6] { + color: #008080 +} + +div.highlight .-Color[class*=-BGC6] { + background-color: #008080 +} + +div.highlight .-Color[class*=-C7] { + color: #C0C0C0 +} + +div.highlight .-Color[class*=-BGC7] { + background-color: #C0C0C0 +} + +div.highlight .-Color[class*=-C8] { + color: #808080 +} + +div.highlight .-Color[class*=-BGC8] { + background-color: #808080 +} + +div.highlight .-Color[class*=-C9] { + color: #FF0000 +} + +div.highlight .-Color[class*=-BGC9] { + background-color: #FF0000 +} + +div.highlight .-Color[class*=-C10] { + color: #00FF00 +} + +div.highlight .-Color[class*=-BGC10] { + background-color: #00FF00 +} + +div.highlight .-Color[class*=-C11] { + color: #FFFF00 +} + +div.highlight .-Color[class*=-BGC11] { + background-color: #FFFF00 +} + +div.highlight .-Color[class*=-C12] { + color: #0000FF +} + +div.highlight .-Color[class*=-BGC12] { + background-color: #0000FF +} + +div.highlight .-Color[class*=-C13] { + color: #FF00FF +} + +div.highlight .-Color[class*=-BGC13] { + background-color: #FF00FF +} + +div.highlight .-Color[class*=-C14] { + color: #00FFFF +} + +div.highlight .-Color[class*=-BGC14] { + background-color: #00FFFF +} + +div.highlight .-Color[class*=-C15] { + color: #FFFFFF +} + +div.highlight .-Color[class*=-BGC15] { + background-color: #FFFFFF +} + +div.highlight .-Color[class*=-C16] { + color: #000000 +} + +div.highlight .-Color[class*=-BGC16] { + background-color: #000000 +} + +div.highlight .-Color[class*=-C17] { + color: #00005F +} + +div.highlight .-Color[class*=-BGC17] { + background-color: #00005F +} + +div.highlight .-Color[class*=-C18] { + color: #000087 +} + +div.highlight .-Color[class*=-BGC18] { + background-color: #000087 +} + +div.highlight .-Color[class*=-C19] { + color: #0000AF +} + +div.highlight .-Color[class*=-BGC19] { + background-color: #0000AF +} + +div.highlight .-Color[class*=-C20] { + color: #0000D7 +} + +div.highlight .-Color[class*=-BGC20] { + background-color: #0000D7 +} + +div.highlight .-Color[class*=-C21] { + color: #0000FF +} + +div.highlight .-Color[class*=-BGC21] { + background-color: #0000FF +} + +div.highlight .-Color[class*=-C22] { + color: #005F00 +} + +div.highlight .-Color[class*=-BGC22] { + background-color: #005F00 +} + +div.highlight .-Color[class*=-C23] { + color: #005F5F +} + +div.highlight .-Color[class*=-BGC23] { + background-color: #005F5F +} + +div.highlight .-Color[class*=-C24] { + color: #005F87 +} + +div.highlight .-Color[class*=-BGC24] { + background-color: #005F87 +} + +div.highlight .-Color[class*=-C25] { + color: #005FAF +} + +div.highlight .-Color[class*=-BGC25] { + background-color: #005FAF +} + +div.highlight .-Color[class*=-C26] { + color: #005FD7 +} + +div.highlight .-Color[class*=-BGC26] { + background-color: #005FD7 +} + +div.highlight .-Color[class*=-C27] { + color: #005FFF +} + +div.highlight .-Color[class*=-BGC27] { + background-color: #005FFF +} + +div.highlight .-Color[class*=-C28] { + color: #008700 +} + +div.highlight .-Color[class*=-BGC28] { + background-color: #008700 +} + +div.highlight .-Color[class*=-C29] { + color: #00875F +} + +div.highlight .-Color[class*=-BGC29] { + background-color: #00875F +} + +div.highlight .-Color[class*=-C30] { + color: #008787 +} + +div.highlight .-Color[class*=-BGC30] { + background-color: #008787 +} + +div.highlight .-Color[class*=-C31] { + color: #0087AF +} + +div.highlight .-Color[class*=-BGC31] { + background-color: #0087AF +} + +div.highlight .-Color[class*=-C32] { + color: #0087D7 +} + +div.highlight .-Color[class*=-BGC32] { + background-color: #0087D7 +} + +div.highlight .-Color[class*=-C33] { + color: #0087FF +} + +div.highlight .-Color[class*=-BGC33] { + background-color: #0087FF +} + +div.highlight .-Color[class*=-C34] { + color: #00AF00 +} + +div.highlight .-Color[class*=-BGC34] { + background-color: #00AF00 +} + +div.highlight .-Color[class*=-C35] { + color: #00AF5F +} + +div.highlight .-Color[class*=-BGC35] { + background-color: #00AF5F +} + +div.highlight .-Color[class*=-C36] { + color: #00AF87 +} + +div.highlight .-Color[class*=-BGC36] { + background-color: #00AF87 +} + +div.highlight .-Color[class*=-C37] { + color: #00AFAF +} + +div.highlight .-Color[class*=-BGC37] { + background-color: #00AFAF +} + +div.highlight .-Color[class*=-C38] { + color: #00AFD7 +} + +div.highlight .-Color[class*=-BGC38] { + background-color: #00AFD7 +} + +div.highlight .-Color[class*=-C39] { + color: #00AFFF +} + +div.highlight .-Color[class*=-BGC39] { + background-color: #00AFFF +} + +div.highlight .-Color[class*=-C40] { + color: #00D700 +} + +div.highlight .-Color[class*=-BGC40] { + background-color: #00D700 +} + +div.highlight .-Color[class*=-C41] { + color: #00D75F +} + +div.highlight .-Color[class*=-BGC41] { + background-color: #00D75F +} + +div.highlight .-Color[class*=-C42] { + color: #00D787 +} + +div.highlight .-Color[class*=-BGC42] { + background-color: #00D787 +} + +div.highlight .-Color[class*=-C43] { + color: #00D7AF +} + +div.highlight .-Color[class*=-BGC43] { + background-color: #00D7AF +} + +div.highlight .-Color[class*=-C44] { + color: #00D7D7 +} + +div.highlight .-Color[class*=-BGC44] { + background-color: #00D7D7 +} + +div.highlight .-Color[class*=-C45] { + color: #00D7FF +} + +div.highlight .-Color[class*=-BGC45] { + background-color: #00D7FF +} + +div.highlight .-Color[class*=-C46] { + color: #00FF00 +} + +div.highlight .-Color[class*=-BGC46] { + background-color: #00FF00 +} + +div.highlight .-Color[class*=-C47] { + color: #00FF5F +} + +div.highlight .-Color[class*=-BGC47] { + background-color: #00FF5F +} + +div.highlight .-Color[class*=-C48] { + color: #00FF87 +} + +div.highlight .-Color[class*=-BGC48] { + background-color: #00FF87 +} + +div.highlight .-Color[class*=-C49] { + color: #00FFAF +} + +div.highlight .-Color[class*=-BGC49] { + background-color: #00FFAF +} + +div.highlight .-Color[class*=-C50] { + color: #00FFD7 +} + +div.highlight .-Color[class*=-BGC50] { + background-color: #00FFD7 +} + +div.highlight .-Color[class*=-C51] { + color: #00FFFF +} + +div.highlight .-Color[class*=-BGC51] { + background-color: #00FFFF +} + +div.highlight .-Color[class*=-C52] { + color: #5F0000 +} + +div.highlight .-Color[class*=-BGC52] { + background-color: #5F0000 +} + +div.highlight .-Color[class*=-C53] { + color: #5F005F +} + +div.highlight .-Color[class*=-BGC53] { + background-color: #5F005F +} + +div.highlight .-Color[class*=-C54] { + color: #5F0087 +} + +div.highlight .-Color[class*=-BGC54] { + background-color: #5F0087 +} + +div.highlight .-Color[class*=-C55] { + color: #5F00AF +} + +div.highlight .-Color[class*=-BGC55] { + background-color: #5F00AF +} + +div.highlight .-Color[class*=-C56] { + color: #5F00D7 +} + +div.highlight .-Color[class*=-BGC56] { + background-color: #5F00D7 +} + +div.highlight .-Color[class*=-C57] { + color: #5F00FF +} + +div.highlight .-Color[class*=-BGC57] { + background-color: #5F00FF +} + +div.highlight .-Color[class*=-C58] { + color: #5F5F00 +} + +div.highlight .-Color[class*=-BGC58] { + background-color: #5F5F00 +} + +div.highlight .-Color[class*=-C59] { + color: #5F5F5F +} + +div.highlight .-Color[class*=-BGC59] { + background-color: #5F5F5F +} + +div.highlight .-Color[class*=-C60] { + color: #5F5F87 +} + +div.highlight .-Color[class*=-BGC60] { + background-color: #5F5F87 +} + +div.highlight .-Color[class*=-C61] { + color: #5F5FAF +} + +div.highlight .-Color[class*=-BGC61] { + background-color: #5F5FAF +} + +div.highlight .-Color[class*=-C62] { + color: #5F5FD7 +} + +div.highlight .-Color[class*=-BGC62] { + background-color: #5F5FD7 +} + +div.highlight .-Color[class*=-C63] { + color: #5F5FFF +} + +div.highlight .-Color[class*=-BGC63] { + background-color: #5F5FFF +} + +div.highlight .-Color[class*=-C64] { + color: #5F8700 +} + +div.highlight .-Color[class*=-BGC64] { + background-color: #5F8700 +} + +div.highlight .-Color[class*=-C65] { + color: #5F875F +} + +div.highlight .-Color[class*=-BGC65] { + background-color: #5F875F +} + +div.highlight .-Color[class*=-C66] { + color: #5F8787 +} + +div.highlight .-Color[class*=-BGC66] { + background-color: #5F8787 +} + +div.highlight .-Color[class*=-C67] { + color: #5F87AF +} + +div.highlight .-Color[class*=-BGC67] { + background-color: #5F87AF +} + +div.highlight .-Color[class*=-C68] { + color: #5F87D7 +} + +div.highlight .-Color[class*=-BGC68] { + background-color: #5F87D7 +} + +div.highlight .-Color[class*=-C69] { + color: #5F87FF +} + +div.highlight .-Color[class*=-BGC69] { + background-color: #5F87FF +} + +div.highlight .-Color[class*=-C70] { + color: #5FAF00 +} + +div.highlight .-Color[class*=-BGC70] { + background-color: #5FAF00 +} + +div.highlight .-Color[class*=-C71] { + color: #5FAF5F +} + +div.highlight .-Color[class*=-BGC71] { + background-color: #5FAF5F +} + +div.highlight .-Color[class*=-C72] { + color: #5FAF87 +} + +div.highlight .-Color[class*=-BGC72] { + background-color: #5FAF87 +} + +div.highlight .-Color[class*=-C73] { + color: #5FAFAF +} + +div.highlight .-Color[class*=-BGC73] { + background-color: #5FAFAF +} + +div.highlight .-Color[class*=-C74] { + color: #5FAFD7 +} + +div.highlight .-Color[class*=-BGC74] { + background-color: #5FAFD7 +} + +div.highlight .-Color[class*=-C75] { + color: #5FAFFF +} + +div.highlight .-Color[class*=-BGC75] { + background-color: #5FAFFF +} + +div.highlight .-Color[class*=-C76] { + color: #5FD700 +} + +div.highlight .-Color[class*=-BGC76] { + background-color: #5FD700 +} + +div.highlight .-Color[class*=-C77] { + color: #5FD75F +} + +div.highlight .-Color[class*=-BGC77] { + background-color: #5FD75F +} + +div.highlight .-Color[class*=-C78] { + color: #5FD787 +} + +div.highlight .-Color[class*=-BGC78] { + background-color: #5FD787 +} + +div.highlight .-Color[class*=-C79] { + color: #5FD7AF +} + +div.highlight .-Color[class*=-BGC79] { + background-color: #5FD7AF +} + +div.highlight .-Color[class*=-C80] { + color: #5FD7D7 +} + +div.highlight .-Color[class*=-BGC80] { + background-color: #5FD7D7 +} + +div.highlight .-Color[class*=-C81] { + color: #5FD7FF +} + +div.highlight .-Color[class*=-BGC81] { + background-color: #5FD7FF +} + +div.highlight .-Color[class*=-C82] { + color: #5FFF00 +} + +div.highlight .-Color[class*=-BGC82] { + background-color: #5FFF00 +} + +div.highlight .-Color[class*=-C83] { + color: #5FFF5F +} + +div.highlight .-Color[class*=-BGC83] { + background-color: #5FFF5F +} + +div.highlight .-Color[class*=-C84] { + color: #5FFF87 +} + +div.highlight .-Color[class*=-BGC84] { + background-color: #5FFF87 +} + +div.highlight .-Color[class*=-C85] { + color: #5FFFAF +} + +div.highlight .-Color[class*=-BGC85] { + background-color: #5FFFAF +} + +div.highlight .-Color[class*=-C86] { + color: #5FFFD7 +} + +div.highlight .-Color[class*=-BGC86] { + background-color: #5FFFD7 +} + +div.highlight .-Color[class*=-C87] { + color: #5FFFFF +} + +div.highlight .-Color[class*=-BGC87] { + background-color: #5FFFFF +} + +div.highlight .-Color[class*=-C88] { + color: #870000 +} + +div.highlight .-Color[class*=-BGC88] { + background-color: #870000 +} + +div.highlight .-Color[class*=-C89] { + color: #87005F +} + +div.highlight .-Color[class*=-BGC89] { + background-color: #87005F +} + +div.highlight .-Color[class*=-C90] { + color: #870087 +} + +div.highlight .-Color[class*=-BGC90] { + background-color: #870087 +} + +div.highlight .-Color[class*=-C91] { + color: #8700AF +} + +div.highlight .-Color[class*=-BGC91] { + background-color: #8700AF +} + +div.highlight .-Color[class*=-C92] { + color: #8700D7 +} + +div.highlight .-Color[class*=-BGC92] { + background-color: #8700D7 +} + +div.highlight .-Color[class*=-C93] { + color: #8700FF +} + +div.highlight .-Color[class*=-BGC93] { + background-color: #8700FF +} + +div.highlight .-Color[class*=-C94] { + color: #875F00 +} + +div.highlight .-Color[class*=-BGC94] { + background-color: #875F00 +} + +div.highlight .-Color[class*=-C95] { + color: #875F5F +} + +div.highlight .-Color[class*=-BGC95] { + background-color: #875F5F +} + +div.highlight .-Color[class*=-C96] { + color: #875F87 +} + +div.highlight .-Color[class*=-BGC96] { + background-color: #875F87 +} + +div.highlight .-Color[class*=-C97] { + color: #875FAF +} + +div.highlight .-Color[class*=-BGC97] { + background-color: #875FAF +} + +div.highlight .-Color[class*=-C98] { + color: #875FD7 +} + +div.highlight .-Color[class*=-BGC98] { + background-color: #875FD7 +} + +div.highlight .-Color[class*=-C99] { + color: #875FFF +} + +div.highlight .-Color[class*=-BGC99] { + background-color: #875FFF +} + +div.highlight .-Color[class*=-C100] { + color: #878700 +} + +div.highlight .-Color[class*=-BGC100] { + background-color: #878700 +} + +div.highlight .-Color[class*=-C101] { + color: #87875F +} + +div.highlight .-Color[class*=-BGC101] { + background-color: #87875F +} + +div.highlight .-Color[class*=-C102] { + color: #878787 +} + +div.highlight .-Color[class*=-BGC102] { + background-color: #878787 +} + +div.highlight .-Color[class*=-C103] { + color: #8787AF +} + +div.highlight .-Color[class*=-BGC103] { + background-color: #8787AF +} + +div.highlight .-Color[class*=-C104] { + color: #8787D7 +} + +div.highlight .-Color[class*=-BGC104] { + background-color: #8787D7 +} + +div.highlight .-Color[class*=-C105] { + color: #8787FF +} + +div.highlight .-Color[class*=-BGC105] { + background-color: #8787FF +} + +div.highlight .-Color[class*=-C106] { + color: #87AF00 +} + +div.highlight .-Color[class*=-BGC106] { + background-color: #87AF00 +} + +div.highlight .-Color[class*=-C107] { + color: #87AF5F +} + +div.highlight .-Color[class*=-BGC107] { + background-color: #87AF5F +} + +div.highlight .-Color[class*=-C108] { + color: #87AF87 +} + +div.highlight .-Color[class*=-BGC108] { + background-color: #87AF87 +} + +div.highlight .-Color[class*=-C109] { + color: #87AFAF +} + +div.highlight .-Color[class*=-BGC109] { + background-color: #87AFAF +} + +div.highlight .-Color[class*=-C110] { + color: #87AFD7 +} + +div.highlight .-Color[class*=-BGC110] { + background-color: #87AFD7 +} + +div.highlight .-Color[class*=-C111] { + color: #87AFFF +} + +div.highlight .-Color[class*=-BGC111] { + background-color: #87AFFF +} + +div.highlight .-Color[class*=-C112] { + color: #87D700 +} + +div.highlight .-Color[class*=-BGC112] { + background-color: #87D700 +} + +div.highlight .-Color[class*=-C113] { + color: #87D75F +} + +div.highlight .-Color[class*=-BGC113] { + background-color: #87D75F +} + +div.highlight .-Color[class*=-C114] { + color: #87D787 +} + +div.highlight .-Color[class*=-BGC114] { + background-color: #87D787 +} + +div.highlight .-Color[class*=-C115] { + color: #87D7AF +} + +div.highlight .-Color[class*=-BGC115] { + background-color: #87D7AF +} + +div.highlight .-Color[class*=-C116] { + color: #87D7D7 +} + +div.highlight .-Color[class*=-BGC116] { + background-color: #87D7D7 +} + +div.highlight .-Color[class*=-C117] { + color: #87D7FF +} + +div.highlight .-Color[class*=-BGC117] { + background-color: #87D7FF +} + +div.highlight .-Color[class*=-C118] { + color: #87FF00 +} + +div.highlight .-Color[class*=-BGC118] { + background-color: #87FF00 +} + +div.highlight .-Color[class*=-C119] { + color: #87FF5F +} + +div.highlight .-Color[class*=-BGC119] { + background-color: #87FF5F +} + +div.highlight .-Color[class*=-C120] { + color: #87FF87 +} + +div.highlight .-Color[class*=-BGC120] { + background-color: #87FF87 +} + +div.highlight .-Color[class*=-C121] { + color: #87FFAF +} + +div.highlight .-Color[class*=-BGC121] { + background-color: #87FFAF +} + +div.highlight .-Color[class*=-C122] { + color: #87FFD7 +} + +div.highlight .-Color[class*=-BGC122] { + background-color: #87FFD7 +} + +div.highlight .-Color[class*=-C123] { + color: #87FFFF +} + +div.highlight .-Color[class*=-BGC123] { + background-color: #87FFFF +} + +div.highlight .-Color[class*=-C124] { + color: #AF0000 +} + +div.highlight .-Color[class*=-BGC124] { + background-color: #AF0000 +} + +div.highlight .-Color[class*=-C125] { + color: #AF005F +} + +div.highlight .-Color[class*=-BGC125] { + background-color: #AF005F +} + +div.highlight .-Color[class*=-C126] { + color: #AF0087 +} + +div.highlight .-Color[class*=-BGC126] { + background-color: #AF0087 +} + +div.highlight .-Color[class*=-C127] { + color: #AF00AF +} + +div.highlight .-Color[class*=-BGC127] { + background-color: #AF00AF +} + +div.highlight .-Color[class*=-C128] { + color: #AF00D7 +} + +div.highlight .-Color[class*=-BGC128] { + background-color: #AF00D7 +} + +div.highlight .-Color[class*=-C129] { + color: #AF00FF +} + +div.highlight .-Color[class*=-BGC129] { + background-color: #AF00FF +} + +div.highlight .-Color[class*=-C130] { + color: #AF5F00 +} + +div.highlight .-Color[class*=-BGC130] { + background-color: #AF5F00 +} + +div.highlight .-Color[class*=-C131] { + color: #AF5F5F +} + +div.highlight .-Color[class*=-BGC131] { + background-color: #AF5F5F +} + +div.highlight .-Color[class*=-C132] { + color: #AF5F87 +} + +div.highlight .-Color[class*=-BGC132] { + background-color: #AF5F87 +} + +div.highlight .-Color[class*=-C133] { + color: #AF5FAF +} + +div.highlight .-Color[class*=-BGC133] { + background-color: #AF5FAF +} + +div.highlight .-Color[class*=-C134] { + color: #AF5FD7 +} + +div.highlight .-Color[class*=-BGC134] { + background-color: #AF5FD7 +} + +div.highlight .-Color[class*=-C135] { + color: #AF5FFF +} + +div.highlight .-Color[class*=-BGC135] { + background-color: #AF5FFF +} + +div.highlight .-Color[class*=-C136] { + color: #AF8700 +} + +div.highlight .-Color[class*=-BGC136] { + background-color: #AF8700 +} + +div.highlight .-Color[class*=-C137] { + color: #AF875F +} + +div.highlight .-Color[class*=-BGC137] { + background-color: #AF875F +} + +div.highlight .-Color[class*=-C138] { + color: #AF8787 +} + +div.highlight .-Color[class*=-BGC138] { + background-color: #AF8787 +} + +div.highlight .-Color[class*=-C139] { + color: #AF87AF +} + +div.highlight .-Color[class*=-BGC139] { + background-color: #AF87AF +} + +div.highlight .-Color[class*=-C140] { + color: #AF87D7 +} + +div.highlight .-Color[class*=-BGC140] { + background-color: #AF87D7 +} + +div.highlight .-Color[class*=-C141] { + color: #AF87FF +} + +div.highlight .-Color[class*=-BGC141] { + background-color: #AF87FF +} + +div.highlight .-Color[class*=-C142] { + color: #AFAF00 +} + +div.highlight .-Color[class*=-BGC142] { + background-color: #AFAF00 +} + +div.highlight .-Color[class*=-C143] { + color: #AFAF5F +} + +div.highlight .-Color[class*=-BGC143] { + background-color: #AFAF5F +} + +div.highlight .-Color[class*=-C144] { + color: #AFAF87 +} + +div.highlight .-Color[class*=-BGC144] { + background-color: #AFAF87 +} + +div.highlight .-Color[class*=-C145] { + color: #AFAFAF +} + +div.highlight .-Color[class*=-BGC145] { + background-color: #AFAFAF +} + +div.highlight .-Color[class*=-C146] { + color: #AFAFD7 +} + +div.highlight .-Color[class*=-BGC146] { + background-color: #AFAFD7 +} + +div.highlight .-Color[class*=-C147] { + color: #AFAFFF +} + +div.highlight .-Color[class*=-BGC147] { + background-color: #AFAFFF +} + +div.highlight .-Color[class*=-C148] { + color: #AFD700 +} + +div.highlight .-Color[class*=-BGC148] { + background-color: #AFD700 +} + +div.highlight .-Color[class*=-C149] { + color: #AFD75F +} + +div.highlight .-Color[class*=-BGC149] { + background-color: #AFD75F +} + +div.highlight .-Color[class*=-C150] { + color: #AFD787 +} + +div.highlight .-Color[class*=-BGC150] { + background-color: #AFD787 +} + +div.highlight .-Color[class*=-C151] { + color: #AFD7AF +} + +div.highlight .-Color[class*=-BGC151] { + background-color: #AFD7AF +} + +div.highlight .-Color[class*=-C152] { + color: #AFD7D7 +} + +div.highlight .-Color[class*=-BGC152] { + background-color: #AFD7D7 +} + +div.highlight .-Color[class*=-C153] { + color: #AFD7FF +} + +div.highlight .-Color[class*=-BGC153] { + background-color: #AFD7FF +} + +div.highlight .-Color[class*=-C154] { + color: #AFFF00 +} + +div.highlight .-Color[class*=-BGC154] { + background-color: #AFFF00 +} + +div.highlight .-Color[class*=-C155] { + color: #AFFF5F +} + +div.highlight .-Color[class*=-BGC155] { + background-color: #AFFF5F +} + +div.highlight .-Color[class*=-C156] { + color: #AFFF87 +} + +div.highlight .-Color[class*=-BGC156] { + background-color: #AFFF87 +} + +div.highlight .-Color[class*=-C157] { + color: #AFFFAF +} + +div.highlight .-Color[class*=-BGC157] { + background-color: #AFFFAF +} + +div.highlight .-Color[class*=-C158] { + color: #AFFFD7 +} + +div.highlight .-Color[class*=-BGC158] { + background-color: #AFFFD7 +} + +div.highlight .-Color[class*=-C159] { + color: #AFFFFF +} + +div.highlight .-Color[class*=-BGC159] { + background-color: #AFFFFF +} + +div.highlight .-Color[class*=-C160] { + color: #D70000 +} + +div.highlight .-Color[class*=-BGC160] { + background-color: #D70000 +} + +div.highlight .-Color[class*=-C161] { + color: #D7005F +} + +div.highlight .-Color[class*=-BGC161] { + background-color: #D7005F +} + +div.highlight .-Color[class*=-C162] { + color: #D70087 +} + +div.highlight .-Color[class*=-BGC162] { + background-color: #D70087 +} + +div.highlight .-Color[class*=-C163] { + color: #D700AF +} + +div.highlight .-Color[class*=-BGC163] { + background-color: #D700AF +} + +div.highlight .-Color[class*=-C164] { + color: #D700D7 +} + +div.highlight .-Color[class*=-BGC164] { + background-color: #D700D7 +} + +div.highlight .-Color[class*=-C165] { + color: #D700FF +} + +div.highlight .-Color[class*=-BGC165] { + background-color: #D700FF +} + +div.highlight .-Color[class*=-C166] { + color: #D75F00 +} + +div.highlight .-Color[class*=-BGC166] { + background-color: #D75F00 +} + +div.highlight .-Color[class*=-C167] { + color: #D75F5F +} + +div.highlight .-Color[class*=-BGC167] { + background-color: #D75F5F +} + +div.highlight .-Color[class*=-C168] { + color: #D75F87 +} + +div.highlight .-Color[class*=-BGC168] { + background-color: #D75F87 +} + +div.highlight .-Color[class*=-C169] { + color: #D75FAF +} + +div.highlight .-Color[class*=-BGC169] { + background-color: #D75FAF +} + +div.highlight .-Color[class*=-C170] { + color: #D75FD7 +} + +div.highlight .-Color[class*=-BGC170] { + background-color: #D75FD7 +} + +div.highlight .-Color[class*=-C171] { + color: #D75FFF +} + +div.highlight .-Color[class*=-BGC171] { + background-color: #D75FFF +} + +div.highlight .-Color[class*=-C172] { + color: #D78700 +} + +div.highlight .-Color[class*=-BGC172] { + background-color: #D78700 +} + +div.highlight .-Color[class*=-C173] { + color: #D7875F +} + +div.highlight .-Color[class*=-BGC173] { + background-color: #D7875F +} + +div.highlight .-Color[class*=-C174] { + color: #D78787 +} + +div.highlight .-Color[class*=-BGC174] { + background-color: #D78787 +} + +div.highlight .-Color[class*=-C175] { + color: #D787AF +} + +div.highlight .-Color[class*=-BGC175] { + background-color: #D787AF +} + +div.highlight .-Color[class*=-C176] { + color: #D787D7 +} + +div.highlight .-Color[class*=-BGC176] { + background-color: #D787D7 +} + +div.highlight .-Color[class*=-C177] { + color: #D787FF +} + +div.highlight .-Color[class*=-BGC177] { + background-color: #D787FF +} + +div.highlight .-Color[class*=-C178] { + color: #D7AF00 +} + +div.highlight .-Color[class*=-BGC178] { + background-color: #D7AF00 +} + +div.highlight .-Color[class*=-C179] { + color: #D7AF5F +} + +div.highlight .-Color[class*=-BGC179] { + background-color: #D7AF5F +} + +div.highlight .-Color[class*=-C180] { + color: #D7AF87 +} + +div.highlight .-Color[class*=-BGC180] { + background-color: #D7AF87 +} + +div.highlight .-Color[class*=-C181] { + color: #D7AFAF +} + +div.highlight .-Color[class*=-BGC181] { + background-color: #D7AFAF +} + +div.highlight .-Color[class*=-C182] { + color: #D7AFD7 +} + +div.highlight .-Color[class*=-BGC182] { + background-color: #D7AFD7 +} + +div.highlight .-Color[class*=-C183] { + color: #D7AFFF +} + +div.highlight .-Color[class*=-BGC183] { + background-color: #D7AFFF +} + +div.highlight .-Color[class*=-C184] { + color: #D7D700 +} + +div.highlight .-Color[class*=-BGC184] { + background-color: #D7D700 +} + +div.highlight .-Color[class*=-C185] { + color: #D7D75F +} + +div.highlight .-Color[class*=-BGC185] { + background-color: #D7D75F +} + +div.highlight .-Color[class*=-C186] { + color: #D7D787 +} + +div.highlight .-Color[class*=-BGC186] { + background-color: #D7D787 +} + +div.highlight .-Color[class*=-C187] { + color: #D7D7AF +} + +div.highlight .-Color[class*=-BGC187] { + background-color: #D7D7AF +} + +div.highlight .-Color[class*=-C188] { + color: #D7D7D7 +} + +div.highlight .-Color[class*=-BGC188] { + background-color: #D7D7D7 +} + +div.highlight .-Color[class*=-C189] { + color: #D7D7FF +} + +div.highlight .-Color[class*=-BGC189] { + background-color: #D7D7FF +} + +div.highlight .-Color[class*=-C190] { + color: #D7FF00 +} + +div.highlight .-Color[class*=-BGC190] { + background-color: #D7FF00 +} + +div.highlight .-Color[class*=-C191] { + color: #D7FF5F +} + +div.highlight .-Color[class*=-BGC191] { + background-color: #D7FF5F +} + +div.highlight .-Color[class*=-C192] { + color: #D7FF87 +} + +div.highlight .-Color[class*=-BGC192] { + background-color: #D7FF87 +} + +div.highlight .-Color[class*=-C193] { + color: #D7FFAF +} + +div.highlight .-Color[class*=-BGC193] { + background-color: #D7FFAF +} + +div.highlight .-Color[class*=-C194] { + color: #D7FFD7 +} + +div.highlight .-Color[class*=-BGC194] { + background-color: #D7FFD7 +} + +div.highlight .-Color[class*=-C195] { + color: #D7FFFF +} + +div.highlight .-Color[class*=-BGC195] { + background-color: #D7FFFF +} + +div.highlight .-Color[class*=-C196] { + color: #FF0000 +} + +div.highlight .-Color[class*=-BGC196] { + background-color: #FF0000 +} + +div.highlight .-Color[class*=-C197] { + color: #FF005F +} + +div.highlight .-Color[class*=-BGC197] { + background-color: #FF005F +} + +div.highlight .-Color[class*=-C198] { + color: #FF0087 +} + +div.highlight .-Color[class*=-BGC198] { + background-color: #FF0087 +} + +div.highlight .-Color[class*=-C199] { + color: #FF00AF +} + +div.highlight .-Color[class*=-BGC199] { + background-color: #FF00AF +} + +div.highlight .-Color[class*=-C200] { + color: #FF00D7 +} + +div.highlight .-Color[class*=-BGC200] { + background-color: #FF00D7 +} + +div.highlight .-Color[class*=-C201] { + color: #FF00FF +} + +div.highlight .-Color[class*=-BGC201] { + background-color: #FF00FF +} + +div.highlight .-Color[class*=-C202] { + color: #FF5F00 +} + +div.highlight .-Color[class*=-BGC202] { + background-color: #FF5F00 +} + +div.highlight .-Color[class*=-C203] { + color: #FF5F5F +} + +div.highlight .-Color[class*=-BGC203] { + background-color: #FF5F5F +} + +div.highlight .-Color[class*=-C204] { + color: #FF5F87 +} + +div.highlight .-Color[class*=-BGC204] { + background-color: #FF5F87 +} + +div.highlight .-Color[class*=-C205] { + color: #FF5FAF +} + +div.highlight .-Color[class*=-BGC205] { + background-color: #FF5FAF +} + +div.highlight .-Color[class*=-C206] { + color: #FF5FD7 +} + +div.highlight .-Color[class*=-BGC206] { + background-color: #FF5FD7 +} + +div.highlight .-Color[class*=-C207] { + color: #FF5FFF +} + +div.highlight .-Color[class*=-BGC207] { + background-color: #FF5FFF +} + +div.highlight .-Color[class*=-C208] { + color: #FF8700 +} + +div.highlight .-Color[class*=-BGC208] { + background-color: #FF8700 +} + +div.highlight .-Color[class*=-C209] { + color: #FF875F +} + +div.highlight .-Color[class*=-BGC209] { + background-color: #FF875F +} + +div.highlight .-Color[class*=-C210] { + color: #FF8787 +} + +div.highlight .-Color[class*=-BGC210] { + background-color: #FF8787 +} + +div.highlight .-Color[class*=-C211] { + color: #FF87AF +} + +div.highlight .-Color[class*=-BGC211] { + background-color: #FF87AF +} + +div.highlight .-Color[class*=-C212] { + color: #FF87D7 +} + +div.highlight .-Color[class*=-BGC212] { + background-color: #FF87D7 +} + +div.highlight .-Color[class*=-C213] { + color: #FF87FF +} + +div.highlight .-Color[class*=-BGC213] { + background-color: #FF87FF +} + +div.highlight .-Color[class*=-C214] { + color: #FFAF00 +} + +div.highlight .-Color[class*=-BGC214] { + background-color: #FFAF00 +} + +div.highlight .-Color[class*=-C215] { + color: #FFAF5F +} + +div.highlight .-Color[class*=-BGC215] { + background-color: #FFAF5F +} + +div.highlight .-Color[class*=-C216] { + color: #FFAF87 +} + +div.highlight .-Color[class*=-BGC216] { + background-color: #FFAF87 +} + +div.highlight .-Color[class*=-C217] { + color: #FFAFAF +} + +div.highlight .-Color[class*=-BGC217] { + background-color: #FFAFAF +} + +div.highlight .-Color[class*=-C218] { + color: #FFAFD7 +} + +div.highlight .-Color[class*=-BGC218] { + background-color: #FFAFD7 +} + +div.highlight .-Color[class*=-C219] { + color: #FFAFFF +} + +div.highlight .-Color[class*=-BGC219] { + background-color: #FFAFFF +} + +div.highlight .-Color[class*=-C220] { + color: #FFD700 +} + +div.highlight .-Color[class*=-BGC220] { + background-color: #FFD700 +} + +div.highlight .-Color[class*=-C221] { + color: #FFD75F +} + +div.highlight .-Color[class*=-BGC221] { + background-color: #FFD75F +} + +div.highlight .-Color[class*=-C222] { + color: #FFD787 +} + +div.highlight .-Color[class*=-BGC222] { + background-color: #FFD787 +} + +div.highlight .-Color[class*=-C223] { + color: #FFD7AF +} + +div.highlight .-Color[class*=-BGC223] { + background-color: #FFD7AF +} + +div.highlight .-Color[class*=-C224] { + color: #FFD7D7 +} + +div.highlight .-Color[class*=-BGC224] { + background-color: #FFD7D7 +} + +div.highlight .-Color[class*=-C225] { + color: #FFD7FF +} + +div.highlight .-Color[class*=-BGC225] { + background-color: #FFD7FF +} + +div.highlight .-Color[class*=-C226] { + color: #FFFF00 +} + +div.highlight .-Color[class*=-BGC226] { + background-color: #FFFF00 +} + +div.highlight .-Color[class*=-C227] { + color: #FFFF5F +} + +div.highlight .-Color[class*=-BGC227] { + background-color: #FFFF5F +} + +div.highlight .-Color[class*=-C228] { + color: #FFFF87 +} + +div.highlight .-Color[class*=-BGC228] { + background-color: #FFFF87 +} + +div.highlight .-Color[class*=-C229] { + color: #FFFFAF +} + +div.highlight .-Color[class*=-BGC229] { + background-color: #FFFFAF +} + +div.highlight .-Color[class*=-C230] { + color: #FFFFD7 +} + +div.highlight .-Color[class*=-BGC230] { + background-color: #FFFFD7 +} + +div.highlight .-Color[class*=-C231] { + color: #FFFFFF +} + +div.highlight .-Color[class*=-BGC231] { + background-color: #FFFFFF +} + +div.highlight .-Color[class*=-C232] { + color: #080808 +} + +div.highlight .-Color[class*=-BGC232] { + background-color: #080808 +} + +div.highlight .-Color[class*=-C233] { + color: #121212 +} + +div.highlight .-Color[class*=-BGC233] { + background-color: #121212 +} + +div.highlight .-Color[class*=-C234] { + color: #1C1C1C +} + +div.highlight .-Color[class*=-BGC234] { + background-color: #1C1C1C +} + +div.highlight .-Color[class*=-C235] { + color: #262626 +} + +div.highlight .-Color[class*=-BGC235] { + background-color: #262626 +} + +div.highlight .-Color[class*=-C236] { + color: #303030 +} + +div.highlight .-Color[class*=-BGC236] { + background-color: #303030 +} + +div.highlight .-Color[class*=-C237] { + color: #3A3A3A +} + +div.highlight .-Color[class*=-BGC237] { + background-color: #3A3A3A +} + +div.highlight .-Color[class*=-C238] { + color: #444444 +} + +div.highlight .-Color[class*=-BGC238] { + background-color: #444444 +} + +div.highlight .-Color[class*=-C239] { + color: #4E4E4E +} + +div.highlight .-Color[class*=-BGC239] { + background-color: #4E4E4E +} + +div.highlight .-Color[class*=-C240] { + color: #585858 +} + +div.highlight .-Color[class*=-BGC240] { + background-color: #585858 +} + +div.highlight .-Color[class*=-C241] { + color: #626262 +} + +div.highlight .-Color[class*=-BGC241] { + background-color: #626262 +} + +div.highlight .-Color[class*=-C242] { + color: #6C6C6C +} + +div.highlight .-Color[class*=-BGC242] { + background-color: #6C6C6C +} + +div.highlight .-Color[class*=-C243] { + color: #767676 +} + +div.highlight .-Color[class*=-BGC243] { + background-color: #767676 +} + +div.highlight .-Color[class*=-C244] { + color: #808080 +} + +div.highlight .-Color[class*=-BGC244] { + background-color: #808080 +} + +div.highlight .-Color[class*=-C245] { + color: #8A8A8A +} + +div.highlight .-Color[class*=-BGC245] { + background-color: #8A8A8A +} + +div.highlight .-Color[class*=-C246] { + color: #949494 +} + +div.highlight .-Color[class*=-BGC246] { + background-color: #949494 +} + +div.highlight .-Color[class*=-C247] { + color: #9E9E9E +} + +div.highlight .-Color[class*=-BGC247] { + background-color: #9E9E9E +} + +div.highlight .-Color[class*=-C248] { + color: #A8A8A8 +} + +div.highlight .-Color[class*=-BGC248] { + background-color: #A8A8A8 +} + +div.highlight .-Color[class*=-C249] { + color: #B2B2B2 +} + +div.highlight .-Color[class*=-BGC249] { + background-color: #B2B2B2 +} + +div.highlight .-Color[class*=-C250] { + color: #BCBCBC +} + +div.highlight .-Color[class*=-BGC250] { + background-color: #BCBCBC +} + +div.highlight .-Color[class*=-C251] { + color: #C6C6C6 +} + +div.highlight .-Color[class*=-BGC251] { + background-color: #C6C6C6 +} + +div.highlight .-Color[class*=-C252] { + color: #D0D0D0 +} + +div.highlight .-Color[class*=-BGC252] { + background-color: #D0D0D0 +} + +div.highlight .-Color[class*=-C253] { + color: #DADADA +} + +div.highlight .-Color[class*=-BGC253] { + background-color: #DADADA +} + +div.highlight .-Color[class*=-C254] { + color: #E4E4E4 +} + +div.highlight .-Color[class*=-BGC254] { + background-color: #E4E4E4 +} + +div.highlight .-Color[class*=-C255] { + color: #EEEEEE +} + +div.highlight .-Color[class*=-BGC255] { + background-color: #EEEEEE +} diff --git a/_preview/1/_static/play-solid.svg b/_preview/1/_static/play-solid.svg new file mode 100644 index 0000000..bcd81f7 --- /dev/null +++ b/_preview/1/_static/play-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_preview/1/_static/plus.png b/_preview/1/_static/plus.png new file mode 100644 index 0000000..7107cec Binary files /dev/null and b/_preview/1/_static/plus.png differ diff --git a/_preview/1/_static/pygments.css b/_preview/1/_static/pygments.css new file mode 100644 index 0000000..012e6a0 --- /dev/null +++ b/_preview/1/_static/pygments.css @@ -0,0 +1,152 @@ +html[data-theme="light"] .highlight pre { line-height: 125%; } +html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight .hll { background-color: #fae4c2 } +html[data-theme="light"] .highlight { background: #fefefe; color: #080808 } +html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */ +html[data-theme="light"] .highlight .err { color: #a12236 } /* Error */ +html[data-theme="light"] .highlight .k { color: #6730c5 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #7f4707 } /* Literal */ +html[data-theme="light"] .highlight .n { color: #080808 } /* Name */ +html[data-theme="light"] .highlight .o { color: #00622f } /* Operator */ +html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */ +html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */ +html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */ +html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */ +html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */ +html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */ +html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */ +html[data-theme="light"] .highlight .gd { color: #005b82 } /* Generic.Deleted */ +html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="light"] .highlight .gh { color: #005b82 } /* Generic.Heading */ +html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="light"] .highlight .gu { color: #005b82 } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #6730c5 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #6730c5 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #6730c5 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #6730c5 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #6730c5 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #7f4707 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #7f4707 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #7f4707 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #00622f } /* Literal.String */ +html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */ +html[data-theme="light"] .highlight .nb { color: #7f4707 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #005b82 } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #005b82 } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #7f4707 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #00622f } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #6730c5 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #005b82 } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #7f4707 } /* Name.Label */ +html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */ +html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */ +html[data-theme="light"] .highlight .py { color: #005b82 } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #005b82 } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #a12236 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #6730c5 } /* Operator.Word */ +html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */ +html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */ +html[data-theme="light"] .highlight .mb { color: #7f4707 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #7f4707 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #7f4707 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #7f4707 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #7f4707 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #00622f } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #00622f } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #00622f } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #00622f } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #00622f } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #00622f } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #00622f } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #00622f } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #00622f } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #00622f } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #a12236 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #00622f } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #005b82 } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #7f4707 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #005b82 } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #a12236 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #a12236 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #a12236 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #7f4707 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #7f4707 } /* Literal.Number.Integer.Long */ +html[data-theme="dark"] .highlight pre { line-height: 125%; } +html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/_preview/1/_static/pythia_logo-white-rtext.svg b/_preview/1/_static/pythia_logo-white-rtext.svg new file mode 100644 index 0000000..fa2a5c6 --- /dev/null +++ b/_preview/1/_static/pythia_logo-white-rtext.svg @@ -0,0 +1,225 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_preview/1/_static/sbt-webpack-macros.html b/_preview/1/_static/sbt-webpack-macros.html new file mode 100644 index 0000000..6cbf559 --- /dev/null +++ b/_preview/1/_static/sbt-webpack-macros.html @@ -0,0 +1,11 @@ + +{% macro head_pre_bootstrap() %} + +{% endmacro %} + +{% macro body_post() %} + +{% endmacro %} diff --git a/_preview/1/_static/scripts/bootstrap.js b/_preview/1/_static/scripts/bootstrap.js new file mode 100644 index 0000000..c8178de --- /dev/null +++ b/_preview/1/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>E,afterRead:()=>v,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>J,auto:()=>a,basePlacements:()=>l,beforeMain:()=>y,beforeRead:()=>_,beforeWrite:()=>A,bottom:()=>s,clippingParents:()=>d,computeStyles:()=>it,createPopper:()=>Dt,createPopperBase:()=>St,createPopperLite:()=>$t,detectOverflow:()=>_t,end:()=>h,eventListeners:()=>st,flip:()=>bt,hide:()=>wt,left:()=>r,main:()=>w,modifierPhases:()=>O,offset:()=>Et,placements:()=>g,popper:()=>f,popperGenerator:()=>Lt,popperOffsets:()=>At,preventOverflow:()=>Tt,read:()=>b,reference:()=>p,right:()=>o,start:()=>c,top:()=>n,variationPlacements:()=>m,viewport:()=>u,write:()=>T});var i={};t.r(i),t.d(i,{Alert:()=>Oe,Button:()=>ke,Carousel:()=>li,Collapse:()=>Ei,Dropdown:()=>Ki,Modal:()=>Ln,Offcanvas:()=>Kn,Popover:()=>bs,ScrollSpy:()=>Ls,Tab:()=>Js,Toast:()=>po,Tooltip:()=>fs});var n="top",s="bottom",o="right",r="left",a="auto",l=[n,s,o,r],c="start",h="end",d="clippingParents",u="viewport",f="popper",p="reference",m=l.reduce((function(t,e){return t.concat([e+"-"+c,e+"-"+h])}),[]),g=[].concat(l,[a]).reduce((function(t,e){return t.concat([e,e+"-"+c,e+"-"+h])}),[]),_="beforeRead",b="read",v="afterRead",y="beforeMain",w="main",E="afterMain",A="beforeWrite",T="write",C="afterWrite",O=[_,b,v,y,w,E,A,T,C];function x(t){return t?(t.nodeName||"").toLowerCase():null}function k(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function L(t){return t instanceof k(t).Element||t instanceof Element}function S(t){return t instanceof k(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof k(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];S(s)&&x(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});S(n)&&x(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function I(t){return t.split("-")[0]}var N=Math.max,P=Math.min,M=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function F(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&S(t)&&(s=t.offsetWidth>0&&M(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&M(n.height)/t.offsetHeight||1);var r=(L(t)?k(t):window).visualViewport,a=!F()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function B(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function W(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function z(t){return k(t).getComputedStyle(t)}function R(t){return["table","td","th"].indexOf(x(t))>=0}function q(t){return((L(t)?t.ownerDocument:t.document)||window.document).documentElement}function V(t){return"html"===x(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function Y(t){return S(t)&&"fixed"!==z(t).position?t.offsetParent:null}function K(t){for(var e=k(t),i=Y(t);i&&R(i)&&"static"===z(i).position;)i=Y(i);return i&&("html"===x(i)||"body"===x(i)&&"static"===z(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&S(t)&&"fixed"===z(t).position)return null;var i=V(t);for(D(i)&&(i=i.host);S(i)&&["html","body"].indexOf(x(i))<0;){var n=z(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Q(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return N(t,P(e,i))}function U(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function G(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const J={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,a=t.name,c=t.options,h=i.elements.arrow,d=i.modifiersData.popperOffsets,u=I(i.placement),f=Q(u),p=[r,o].indexOf(u)>=0?"height":"width";if(h&&d){var m=function(t,e){return U("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:G(t,l))}(c.padding,i),g=B(h),_="y"===f?n:r,b="y"===f?s:o,v=i.rects.reference[p]+i.rects.reference[f]-d[f]-i.rects.popper[p],y=d[f]-i.rects.reference[f],w=K(h),E=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,A=v/2-y/2,T=m[_],C=E-g[p]-m[b],O=E/2-g[p]/2+A,x=X(T,O,C),k=f;i.modifiersData[a]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&W(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Z(t){return t.split("-")[1]}var tt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function et(t){var e,i=t.popper,a=t.popperRect,l=t.placement,c=t.variation,d=t.offsets,u=t.position,f=t.gpuAcceleration,p=t.adaptive,m=t.roundOffsets,g=t.isFixed,_=d.x,b=void 0===_?0:_,v=d.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var E=d.hasOwnProperty("x"),A=d.hasOwnProperty("y"),T=r,C=n,O=window;if(p){var x=K(i),L="clientHeight",S="clientWidth";x===k(i)&&"static"!==z(x=q(i)).position&&"absolute"===u&&(L="scrollHeight",S="scrollWidth"),(l===n||(l===r||l===o)&&c===h)&&(C=s,y-=(g&&x===O&&O.visualViewport?O.visualViewport.height:x[L])-a.height,y*=f?1:-1),l!==r&&(l!==n&&l!==s||c!==h)||(T=o,b-=(g&&x===O&&O.visualViewport?O.visualViewport.width:x[S])-a.width,b*=f?1:-1)}var D,$=Object.assign({position:u},p&&tt),I=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:M(i*s)/s||0,y:M(n*s)/s||0}}({x:b,y},k(i)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},$,((D={})[C]=A?"0":"",D[T]=E?"0":"",D.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((e={})[C]=A?y+"px":"",e[T]=E?b+"px":"",e.transform="",e))}const it={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:I(e.placement),variation:Z(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,et(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,et(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var nt={passive:!0};const st={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=k(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,nt)})),a&&l.addEventListener("resize",i.update,nt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,nt)})),a&&l.removeEventListener("resize",i.update,nt)}},data:{}};var ot={left:"right",right:"left",bottom:"top",top:"bottom"};function rt(t){return t.replace(/left|right|bottom|top/g,(function(t){return ot[t]}))}var at={start:"end",end:"start"};function lt(t){return t.replace(/start|end/g,(function(t){return at[t]}))}function ct(t){var e=k(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ht(t){return H(q(t)).left+ct(t).scrollLeft}function dt(t){var e=z(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ut(t){return["html","body","#document"].indexOf(x(t))>=0?t.ownerDocument.body:S(t)&&dt(t)?t:ut(V(t))}function ft(t,e){var i;void 0===e&&(e=[]);var n=ut(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=k(n),r=s?[o].concat(o.visualViewport||[],dt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ft(V(r)))}function pt(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function mt(t,e,i){return e===u?pt(function(t,e){var i=k(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=F();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ht(t),y:l}}(t,i)):L(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):pt(function(t){var e,i=q(t),n=ct(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=N(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=N(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ht(t),l=-n.scrollTop;return"rtl"===z(s||i).direction&&(a+=N(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,i=t.reference,a=t.element,l=t.placement,d=l?I(l):null,u=l?Z(l):null,f=i.x+i.width/2-a.width/2,p=i.y+i.height/2-a.height/2;switch(d){case n:e={x:f,y:i.y-a.height};break;case s:e={x:f,y:i.y+i.height};break;case o:e={x:i.x+i.width,y:p};break;case r:e={x:i.x-a.width,y:p};break;default:e={x:i.x,y:i.y}}var m=d?Q(d):null;if(null!=m){var g="y"===m?"height":"width";switch(u){case c:e[m]=e[m]-(i[g]/2-a[g]/2);break;case h:e[m]=e[m]+(i[g]/2-a[g]/2)}}return e}function _t(t,e){void 0===e&&(e={});var i=e,r=i.placement,a=void 0===r?t.placement:r,c=i.strategy,h=void 0===c?t.strategy:c,m=i.boundary,g=void 0===m?d:m,_=i.rootBoundary,b=void 0===_?u:_,v=i.elementContext,y=void 0===v?f:v,w=i.altBoundary,E=void 0!==w&&w,A=i.padding,T=void 0===A?0:A,C=U("number"!=typeof T?T:G(T,l)),O=y===f?p:f,k=t.rects.popper,D=t.elements[E?O:y],$=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=ft(V(t)),i=["absolute","fixed"].indexOf(z(t).position)>=0&&S(t)?K(t):t;return L(i)?e.filter((function(t){return L(t)&&W(t,i)&&"body"!==x(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=mt(t,i,n);return e.top=N(s.top,e.top),e.right=P(s.right,e.right),e.bottom=P(s.bottom,e.bottom),e.left=N(s.left,e.left),e}),mt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(L(D)?D:D.contextElement||q(t.elements.popper),g,b,h),I=H(t.elements.reference),M=gt({reference:I,element:k,strategy:"absolute",placement:a}),j=pt(Object.assign({},k,M)),F=y===f?j:I,B={top:$.top-F.top+C.top,bottom:F.bottom-$.bottom+C.bottom,left:$.left-F.left+C.left,right:F.right-$.right+C.right},R=t.modifiersData.offset;if(y===f&&R){var Y=R[a];Object.keys(B).forEach((function(t){var e=[o,s].indexOf(t)>=0?1:-1,i=[n,s].indexOf(t)>=0?"y":"x";B[t]+=Y[i]*e}))}return B}const bt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var d=i.mainAxis,u=void 0===d||d,f=i.altAxis,p=void 0===f||f,_=i.fallbackPlacements,b=i.padding,v=i.boundary,y=i.rootBoundary,w=i.altBoundary,E=i.flipVariations,A=void 0===E||E,T=i.allowedAutoPlacements,C=e.options.placement,O=I(C),x=_||(O!==C&&A?function(t){if(I(t)===a)return[];var e=rt(t);return[lt(t),e,lt(e)]}(C):[rt(C)]),k=[C].concat(x).reduce((function(t,i){return t.concat(I(i)===a?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,d=Z(n),u=d?a?m:m.filter((function(t){return Z(t)===d})):l,f=u.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=u);var p=f.reduce((function(e,i){return e[i]=_t(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[I(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:A,allowedAutoPlacements:T}):i)}),[]),L=e.rects.reference,S=e.rects.popper,D=new Map,$=!0,N=k[0],P=0;P=0,B=H?"width":"height",W=_t(e,{placement:M,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=H?F?o:r:F?s:n;L[B]>S[B]&&(z=rt(z));var R=rt(z),q=[];if(u&&q.push(W[j]<=0),p&&q.push(W[z]<=0,W[R]<=0),q.every((function(t){return t}))){N=M,$=!1;break}D.set(M,q)}if($)for(var V=function(t){var e=k.find((function(e){var i=D.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},Y=A?3:1;Y>0&&"break"!==V(Y);Y--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function vt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function yt(t){return[n,o,s,r].some((function(e){return t[e]>=0}))}const wt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=_t(e,{elementContext:"reference"}),a=_t(e,{altBoundary:!0}),l=vt(r,n),c=vt(a,s,o),h=yt(l),d=yt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Et={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,a=i.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,i){return t[i]=function(t,e,i){var s=I(t),a=[r,n].indexOf(s)>=0?-1:1,l="function"==typeof i?i(Object.assign({},e,{placement:t})):i,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[r,o].indexOf(s)>=0?{x:h,y:c}:{x:c,y:h}}(i,e.rects,l),t}),{}),h=c[e.placement],d=h.x,u=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=u),e.modifiersData[s]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Tt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,a=t.name,l=i.mainAxis,h=void 0===l||l,d=i.altAxis,u=void 0!==d&&d,f=i.boundary,p=i.rootBoundary,m=i.altBoundary,g=i.padding,_=i.tether,b=void 0===_||_,v=i.tetherOffset,y=void 0===v?0:v,w=_t(e,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),E=I(e.placement),A=Z(e.placement),T=!A,C=Q(E),O="x"===C?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,S="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,D="number"==typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),$=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,M={x:0,y:0};if(x){if(h){var j,F="y"===C?n:r,H="y"===C?s:o,W="y"===C?"height":"width",z=x[C],R=z+w[F],q=z-w[H],V=b?-L[W]/2:0,Y=A===c?k[W]:L[W],U=A===c?-L[W]:-k[W],G=e.elements.arrow,J=b&&G?B(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[F],it=tt[H],nt=X(0,k[W],J[W]),st=T?k[W]/2-V-nt-et-D.mainAxis:Y-nt-et-D.mainAxis,ot=T?-k[W]/2+V+nt+it+D.mainAxis:U+nt+it+D.mainAxis,rt=e.elements.arrow&&K(e.elements.arrow),at=rt?"y"===C?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(j=null==$?void 0:$[C])?j:0,ct=z+ot-lt,ht=X(b?P(R,z+st-lt-at):R,z,b?N(q,ct):q);x[C]=ht,M[C]=ht-z}if(u){var dt,ut="x"===C?n:r,ft="x"===C?s:o,pt=x[O],mt="y"===O?"height":"width",gt=pt+w[ut],bt=pt-w[ft],vt=-1!==[n,r].indexOf(E),yt=null!=(dt=null==$?void 0:$[O])?dt:0,wt=vt?gt:pt-k[mt]-L[mt]-yt+D.altAxis,Et=vt?pt+k[mt]+L[mt]-yt-D.altAxis:bt,At=b&&vt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,pt,Et):X(b?wt:gt,pt,b?Et:bt);x[O]=At,M[O]=At-pt}e.modifiersData[a]=M}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=S(e),r=S(e)&&function(t){var e=t.getBoundingClientRect(),i=M(e.width)/t.offsetWidth||1,n=M(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==x(e)||dt(a))&&(c=(n=e)!==k(n)&&S(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:ct(n)),S(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ht(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Ot(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var xt={placement:"bottom",modifiers:[],strategy:"absolute"};function kt(){for(var t=arguments.length,e=new Array(t),i=0;iIt.has(t)&&It.get(t).get(e)||null,remove(t,e){if(!It.has(t))return;const i=It.get(t);i.delete(e),0===i.size&&It.delete(t)}},Pt="transitionend",Mt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),jt=t=>{t.dispatchEvent(new Event(Pt))},Ft=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Ft(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Mt(t)):null,Bt=t=>{if(!Ft(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Wt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),zt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?zt(t.parentNode):null},Rt=()=>{},qt=t=>{t.offsetHeight},Vt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Yt=[],Kt=()=>"rtl"===document.documentElement.dir,Qt=t=>{var e;e=()=>{const e=Vt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Yt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Yt)t()})),Yt.push(e)):e()},Xt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Ut=(t,e,i=!0)=>{if(!i)return void Xt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Pt,o),Xt(t))};e.addEventListener(Pt,o),setTimeout((()=>{s||jt(e)}),n)},Gt=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Jt=/[^.]*(?=\..*)\.|.*/,Zt=/\..*/,te=/::\d+$/,ee={};let ie=1;const ne={mouseenter:"mouseover",mouseleave:"mouseout"},se=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function oe(t,e){return e&&`${e}::${ie++}`||t.uidEvent||ie++}function re(t){const e=oe(t);return t.uidEvent=e,ee[e]=ee[e]||{},ee[e]}function ae(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function le(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=ue(t);return se.has(o)||(o=t),[n,s,o]}function ce(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=le(e,i,n);if(e in ne){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=re(t),c=l[a]||(l[a]={}),h=ae(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=oe(r,e.replace(Jt,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return pe(s,{delegateTarget:r}),n.oneOff&&fe.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return pe(n,{delegateTarget:t}),i.oneOff&&fe.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function he(t,e,i,n,s){const o=ae(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function de(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&he(t,e,i,r.callable,r.delegationSelector)}function ue(t){return t=t.replace(Zt,""),ne[t]||t}const fe={on(t,e,i,n){ce(t,e,i,n,!1)},one(t,e,i,n){ce(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=le(e,i,n),a=r!==e,l=re(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))de(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(te,"");a&&!e.includes(s)||he(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;he(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Vt();let s=null,o=!0,r=!0,a=!1;e!==ue(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=pe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function pe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function ge(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const _e={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${ge(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ge(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${ge(e)}`))};class be{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Ft(e)?_e.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Ft(e)?_e.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=Ft(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class ve extends be{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),Nt.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Nt.remove(this._element,this.constructor.DATA_KEY),fe.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Ut(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Nt.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ye=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>Mt(t))).join(","):null},we={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Wt(t)&&Bt(t)))},getSelectorFromElement(t){const e=ye(t);return e&&we.findOne(e)?e:null},getElementFromSelector(t){const e=ye(t);return e?we.findOne(e):null},getMultipleElementsFromSelector(t){const e=ye(t);return e?we.find(e):[]}},Ee=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;fe.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Wt(this))return;const s=we.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Te=`close${Ae}`,Ce=`closed${Ae}`;class Oe extends ve{static get NAME(){return"alert"}close(){if(fe.trigger(this._element,Te).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),fe.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Oe.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Ee(Oe,"close"),Qt(Oe);const xe='[data-bs-toggle="button"]';class ke extends ve{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=ke.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}fe.on(document,"click.bs.button.data-api",xe,(t=>{t.preventDefault();const e=t.target.closest(xe);ke.getOrCreateInstance(e).toggle()})),Qt(ke);const Le=".bs.swipe",Se=`touchstart${Le}`,De=`touchmove${Le}`,$e=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},Me={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class je extends be{constructor(t,e){super(),this._element=t,t&&je.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return Me}static get NAME(){return"swipe"}dispose(){fe.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Xt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Xt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(fe.on(this._element,Ie,(t=>this._start(t))),fe.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(fe.on(this._element,Se,(t=>this._start(t))),fe.on(this._element,De,(t=>this._move(t))),fe.on(this._element,$e,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fe=".bs.carousel",He=".data-api",Be="ArrowLeft",We="ArrowRight",ze="next",Re="prev",qe="left",Ve="right",Ye=`slide${Fe}`,Ke=`slid${Fe}`,Qe=`keydown${Fe}`,Xe=`mouseenter${Fe}`,Ue=`mouseleave${Fe}`,Ge=`dragstart${Fe}`,Je=`load${Fe}${He}`,Ze=`click${Fe}${He}`,ti="carousel",ei="active",ii=".active",ni=".carousel-item",si=ii+ni,oi={[Be]:Ve,[We]:qe},ri={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ai={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class li extends ve{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===ti&&this.cycle()}static get Default(){return ri}static get DefaultType(){return ai}static get NAME(){return"carousel"}next(){this._slide(ze)}nextWhenVisible(){!document.hidden&&Bt(this._element)&&this.next()}prev(){this._slide(Re)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?fe.one(this._element,Ke,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void fe.one(this._element,Ke,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ze:Re;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&fe.on(this._element,Qe,(t=>this._keydown(t))),"hover"===this._config.pause&&(fe.on(this._element,Xe,(()=>this.pause())),fe.on(this._element,Ue,(()=>this._maybeEnableCycle()))),this._config.touch&&je.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of we.find(".carousel-item img",this._element))fe.on(t,Ge,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(qe)),rightCallback:()=>this._slide(this._directionToOrder(Ve)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new je(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=oi[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=we.findOne(ii,this._indicatorsElement);e.classList.remove(ei),e.removeAttribute("aria-current");const i=we.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(ei),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ze,s=e||Gt(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>fe.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Ye).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(ei),i.classList.remove(ei,c,l),this._isSliding=!1,r(Ke)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return we.findOne(si,this._element)}_getItems(){return we.find(ni,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===qe?Re:ze:t===qe?ze:Re}_orderToDirection(t){return Kt()?t===Re?qe:Ve:t===Re?Ve:qe}static jQueryInterface(t){return this.each((function(){const e=li.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}fe.on(document,Ze,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=we.getElementFromSelector(this);if(!e||!e.classList.contains(ti))return;t.preventDefault();const i=li.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===_e.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),fe.on(window,Je,(()=>{const t=we.find('[data-bs-ride="carousel"]');for(const e of t)li.getOrCreateInstance(e)})),Qt(li);const ci=".bs.collapse",hi=`show${ci}`,di=`shown${ci}`,ui=`hide${ci}`,fi=`hidden${ci}`,pi=`click${ci}.data-api`,mi="show",gi="collapse",_i="collapsing",bi=`:scope .${gi} .${gi}`,vi='[data-bs-toggle="collapse"]',yi={parent:null,toggle:!0},wi={parent:"(null|element)",toggle:"boolean"};class Ei extends ve{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=we.find(vi);for(const t of i){const e=we.getSelectorFromElement(t),i=we.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return yi}static get DefaultType(){return wi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Ei.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(fe.trigger(this._element,hi).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(gi),this._element.classList.add(_i),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi,mi),this._element.style[e]="",fe.trigger(this._element,di)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(fe.trigger(this._element,ui).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(_i),this._element.classList.remove(gi,mi);for(const t of this._triggerArray){const e=we.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi),fe.trigger(this._element,fi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(mi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(vi);for(const e of t){const t=we.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=we.find(bi,this._config.parent);return we.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Ei.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}fe.on(document,pi,vi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of we.getMultipleElementsFromSelector(this))Ei.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(Ei);const Ai="dropdown",Ti=".bs.dropdown",Ci=".data-api",Oi="ArrowUp",xi="ArrowDown",ki=`hide${Ti}`,Li=`hidden${Ti}`,Si=`show${Ti}`,Di=`shown${Ti}`,$i=`click${Ti}${Ci}`,Ii=`keydown${Ti}${Ci}`,Ni=`keyup${Ti}${Ci}`,Pi="show",Mi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ji=`${Mi}.${Pi}`,Fi=".dropdown-menu",Hi=Kt()?"top-end":"top-start",Bi=Kt()?"top-start":"top-end",Wi=Kt()?"bottom-end":"bottom-start",zi=Kt()?"bottom-start":"bottom-end",Ri=Kt()?"left-start":"right-start",qi=Kt()?"right-start":"left-start",Vi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Yi={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Ki extends ve{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=we.next(this._element,Fi)[0]||we.prev(this._element,Fi)[0]||we.findOne(Fi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Vi}static get DefaultType(){return Yi}static get NAME(){return Ai}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Wt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!fe.trigger(this._element,Si,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Pi),this._element.classList.add(Pi),fe.trigger(this._element,Di,t)}}hide(){if(Wt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!fe.trigger(this._element,ki,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Pi),this._element.classList.remove(Pi),this._element.setAttribute("aria-expanded","false"),_e.removeDataAttribute(this._menu,"popper"),fe.trigger(this._element,Li,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ft(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ai.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Ft(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Pi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Ri;if(t.classList.contains("dropstart"))return qi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Bi:Hi:e?zi:Wi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_e.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Xt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=we.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Bt(t)));i.length&&Gt(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Ki.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=we.find(ji);for(const i of e){const e=Ki.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Mi)?this:we.prev(this,Mi)[0]||we.next(this,Mi)[0]||we.findOne(Mi,t.delegateTarget.parentNode),o=Ki.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}fe.on(document,Ii,Mi,Ki.dataApiKeydownHandler),fe.on(document,Ii,Fi,Ki.dataApiKeydownHandler),fe.on(document,$i,Ki.clearMenus),fe.on(document,Ni,Ki.clearMenus),fe.on(document,$i,Mi,(function(t){t.preventDefault(),Ki.getOrCreateInstance(this).toggle()})),Qt(Ki);const Qi="backdrop",Xi="show",Ui=`mousedown.bs.${Qi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends be{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Qi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Xi),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Xi),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(fe.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),fe.on(t,Ui,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Ut(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends be{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),fe.off(document,tn),fe.on(document,en,(t=>this._handleFocusin(t))),fe.on(document,nn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,fe.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=we.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",dn="margin-right";class un{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,(e=>e+t)),this._setElementAttributes(ln,hn,(e=>e+t)),this._setElementAttributes(cn,dn,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,dn)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&_e.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=_e.getDataAttribute(t,e);null!==i?(_e.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Ft(t))e(t);else for(const i of we.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,En=`keydown.dismiss${fn}`,An=`click${fn}.data-api`,Tn="modal-open",Cn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends ve{constructor(t,e){super(t,e),this._dialog=we.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new un,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||fe.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Tn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(fe.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Cn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){fe.off(window,fn),fe.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=we.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(Cn),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,fe.trigger(this._element,bn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){fe.on(this._element,En,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),fe.on(window,vn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),fe.on(this._element,wn,(t=>{fe.one(this._element,yn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Tn),this._resetAdjustments(),this._scrollBar.reset(),fe.trigger(this._element,gn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(fe.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback((()=>{this._element.classList.remove(On),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Kt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Kt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}fe.on(document,An,'[data-bs-toggle="modal"]',(function(t){const e=we.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),fe.one(e,_n,(t=>{t.defaultPrevented||fe.one(e,gn,(()=>{Bt(this)&&this.focus()}))}));const i=we.findOne(".modal.show");i&&Ln.getInstance(i).hide(),Ln.getOrCreateInstance(e).toggle(this)})),Ee(Ln),Qt(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",Mn=".offcanvas.show",jn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Bn=`hidePrevented${Sn}`,Wn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Yn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Kn extends ve{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Yn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||fe.trigger(this._element,jn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new un).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),fe.trigger(this._element,Fn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(fe.trigger(this._element,Hn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new un).reset(),fe.trigger(this._element,Wn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():fe.trigger(this._element,Bn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){fe.on(this._element,qn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():fe.trigger(this._element,Bn))}))}static jQueryInterface(t){return this.each((function(){const e=Kn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}fe.on(document,Rn,'[data-bs-toggle="offcanvas"]',(function(t){const e=we.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this))return;fe.one(e,Wn,(()=>{Bt(this)&&this.focus()}));const i=we.findOne(Mn);i&&i!==e&&Kn.getInstance(i).hide(),Kn.getOrCreateInstance(e).toggle(this)})),fe.on(window,$n,(()=>{for(const t of we.find(Mn))Kn.getOrCreateInstance(t).show()})),fe.on(window,zn,(()=>{for(const t of we.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Kn.getOrCreateInstance(t).hide()})),Ee(Kn),Qt(Kn);const Qn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Xn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Xn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Jn={allowList:Qn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends be{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=we.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Ft(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Xt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},ds={allowList:Qn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},us={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class fs extends ve{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return ds}static get DefaultType(){return us}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),fe.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=fe.trigger(this._element,this.constructor.eventName("show")),e=(zt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),fe.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._queueCallback((()=>{fe.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!fe.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._activeTrigger.click=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),fe.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=Xt(this._config.placement,[this,t,this._element]),i=hs[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Xt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Xt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)fe.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");fe.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()})),fe.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},fe.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=_e.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=fs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(fs);const ps=".popover-header",ms=".popover-body",gs={...fs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},_s={...fs.DefaultType,content:"(null|string|element|function)"};class bs extends fs{static get Default(){return gs}static get DefaultType(){return _s}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ps]:this._getTitle(),[ms]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=bs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(bs);const vs=".bs.scrollspy",ys=`activate${vs}`,ws=`click${vs}`,Es=`load${vs}.data-api`,As="active",Ts="[href]",Cs=".nav-link",Os=`${Cs}, .nav-item > ${Cs}, .list-group-item`,xs={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ks={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ls extends ve{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return xs}static get DefaultType(){return ks}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(fe.off(this._config.target,ws),fe.on(this._config.target,ws,Ts,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=we.find(Ts,this._config.target);for(const e of t){if(!e.hash||Wt(e))continue;const t=we.findOne(decodeURI(e.hash),this._element);Bt(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(As),this._activateParents(t),fe.trigger(this._element,ys,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))we.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(As);else for(const e of we.parents(t,".nav, .list-group"))for(const t of we.prev(e,Os))t.classList.add(As)}_clearActiveClass(t){t.classList.remove(As);const e=we.find(`${Ts}.${As}`,t);for(const t of e)t.classList.remove(As)}static jQueryInterface(t){return this.each((function(){const e=Ls.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(window,Es,(()=>{for(const t of we.find('[data-bs-spy="scroll"]'))Ls.getOrCreateInstance(t)})),Qt(Ls);const Ss=".bs.tab",Ds=`hide${Ss}`,$s=`hidden${Ss}`,Is=`show${Ss}`,Ns=`shown${Ss}`,Ps=`click${Ss}`,Ms=`keydown${Ss}`,js=`load${Ss}`,Fs="ArrowLeft",Hs="ArrowRight",Bs="ArrowUp",Ws="ArrowDown",zs="Home",Rs="End",qs="active",Vs="fade",Ys="show",Ks=".dropdown-toggle",Qs=`:not(${Ks})`,Xs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Us=`.nav-link${Qs}, .list-group-item${Qs}, [role="tab"]${Qs}, ${Xs}`,Gs=`.${qs}[data-bs-toggle="tab"], .${qs}[data-bs-toggle="pill"], .${qs}[data-bs-toggle="list"]`;class Js extends ve{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),fe.on(this._element,Ms,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?fe.trigger(e,Ds,{relatedTarget:t}):null;fe.trigger(t,Is,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(qs),this._activate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),fe.trigger(t,Ns,{relatedTarget:e})):t.classList.add(Ys)}),t,t.classList.contains(Vs)))}_deactivate(t,e){t&&(t.classList.remove(qs),t.blur(),this._deactivate(we.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),fe.trigger(t,$s,{relatedTarget:e})):t.classList.remove(Ys)}),t,t.classList.contains(Vs)))}_keydown(t){if(![Fs,Hs,Bs,Ws,zs,Rs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Wt(t)));let i;if([zs,Rs].includes(t.key))i=e[t.key===zs?0:e.length-1];else{const n=[Hs,Ws].includes(t.key);i=Gt(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Js.getOrCreateInstance(i).show())}_getChildren(){return we.find(Us,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=we.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=we.findOne(t,i);s&&s.classList.toggle(n,e)};n(Ks,qs),n(".dropdown-menu",Ys),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(qs)}_getInnerElement(t){return t.matches(Us)?t:we.findOne(Us,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Js.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(document,Ps,Xs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Wt(this)||Js.getOrCreateInstance(this).show()})),fe.on(window,js,(()=>{for(const t of we.find(Gs))Js.getOrCreateInstance(t)})),Qt(Js);const Zs=".bs.toast",to=`mouseover${Zs}`,eo=`mouseout${Zs}`,io=`focusin${Zs}`,no=`focusout${Zs}`,so=`hide${Zs}`,oo=`hidden${Zs}`,ro=`show${Zs}`,ao=`shown${Zs}`,lo="hide",co="show",ho="showing",uo={animation:"boolean",autohide:"boolean",delay:"number"},fo={animation:!0,autohide:!0,delay:5e3};class po extends ve{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return fo}static get DefaultType(){return uo}static get NAME(){return"toast"}show(){fe.trigger(this._element,ro).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(lo),qt(this._element),this._element.classList.add(co,ho),this._queueCallback((()=>{this._element.classList.remove(ho),fe.trigger(this._element,ao),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(fe.trigger(this._element,so).defaultPrevented||(this._element.classList.add(ho),this._queueCallback((()=>{this._element.classList.add(lo),this._element.classList.remove(ho,co),fe.trigger(this._element,oo)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(co),super.dispose()}isShown(){return this._element.classList.contains(co)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){fe.on(this._element,to,(t=>this._onInteraction(t,!0))),fe.on(this._element,eo,(t=>this._onInteraction(t,!1))),fe.on(this._element,io,(t=>this._onInteraction(t,!0))),fe.on(this._element,no,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=po.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}function mo(t){"loading"!=document.readyState?t():document.addEventListener("DOMContentLoaded",t)}Ee(po),Qt(po),mo((function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new fs(t,{delay:{show:500,hide:100}})}))})),mo((function(){document.getElementById("pst-back-to-top").addEventListener("click",(function(){document.body.scrollTop=0,document.documentElement.scrollTop=0}))})),mo((function(){var t=document.getElementById("pst-back-to-top"),e=document.getElementsByClassName("bd-header")[0].getBoundingClientRect();window.addEventListener("scroll",(function(){this.oldScroll>this.scrollY&&this.scrollY>e.bottom?t.style.display="block":t.style.display="none",this.oldScroll=this.scrollY}))})),window.bootstrap=i})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/_preview/1/_static/scripts/bootstrap.js.LICENSE.txt b/_preview/1/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 0000000..28755c2 --- /dev/null +++ b/_preview/1/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/_preview/1/_static/scripts/bootstrap.js.map b/_preview/1/_static/scripts/bootstrap.js.map new file mode 100644 index 0000000..e9e8158 --- /dev/null +++ b/_preview/1/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n const instanceMap = elementMap.get(element);\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n instanceMap.set(key, instance);\n },\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n return null;\n },\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key);\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend';\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`);\n }\n return selector;\n};\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n return prefix;\n};\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n }\n\n // Get transition-duration of the element\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay);\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n return typeof object.nodeType !== 'undefined';\n};\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object));\n }\n return null;\n};\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible';\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])');\n if (!closedDetails) {\n return elementIsVisible;\n }\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n if (summary === null) {\n return false;\n }\n }\n return elementIsVisible;\n};\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n if (element.classList.contains('disabled')) {\n return true;\n }\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n if (element instanceof ShadowRoot) {\n return element;\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null;\n }\n return findShadowRoot(element.parentNode);\n};\nconst noop = () => {};\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n return null;\n};\nconst DOMContentLoadedCallbacks = [];\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\nconst isRTL = () => document.documentElement.dir === 'rtl';\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;\n};\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement);\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n index += shouldGetNext ? 1 : -1;\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n return fn.apply(element, [event]);\n };\n}\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n hydrateObj(event, {\n delegateTarget: target\n });\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n return fn.apply(target, [event]);\n }\n }\n };\n}\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string';\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n return [isDelegated, callable, typeEvent];\n}\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n callable = wrapFunction(callable);\n }\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n if (!fn) {\n return;\n }\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n const evt = hydrateObj(new Event(event, {\n bubbles,\n cancelable: true\n }), args);\n if (defaultPrevented) {\n evt.preventDefault();\n }\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n return evt;\n }\n};\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value;\n }\n });\n }\n }\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n if (value === 'false') {\n return false;\n }\n if (value === Number(value).toString()) {\n return Number(value);\n }\n if (value === '' || value === 'null') {\n return null;\n }\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n return attributes;\n },\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n static get DefaultType() {\n return {};\n }\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n return config;\n }\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.3';\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n if (!element) {\n return;\n }\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n static get VERSION() {\n return VERSION;\n }\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href');\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null;\n};\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n return parents;\n },\n prev(element, selector) {\n let previous = element.previousElementSibling;\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n previous = previous.previousElementSibling;\n }\n return [];\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n next = next.nextElementSibling;\n }\n return [];\n },\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n },\n getSelectorFromElement(element) {\n const selector = getSelector(element);\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null;\n }\n return null;\n },\n getElementFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.findOne(selector) : null;\n },\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element);\n return selector ? SelectorEngine.find(selector) : [];\n }\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target);\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n if (closeEvent.defaultPrevented) {\n return;\n }\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n }\n\n // Private\n _destroyElement() {\n this._element.remove();\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close');\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n if (!element || !Swipe.isSupported()) {\n return;\n }\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n this._initEvents();\n }\n\n // Getters\n static get Default() {\n return Default$c;\n }\n static get DefaultType() {\n return DefaultType$c;\n }\n static get NAME() {\n return NAME$d;\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n this._handleSwipe();\n execute(this._config.endCallback);\n }\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n if (!direction) {\n return;\n }\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n this._addEventListeners();\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$b;\n }\n static get DefaultType() {\n return DefaultType$b;\n }\n static get NAME() {\n return NAME$c;\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT);\n }\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n prev() {\n this._slide(ORDER_PREV);\n }\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n this._clearInterval();\n }\n cycle() {\n this._clearInterval();\n this._updateInterval();\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n this.cycle();\n }\n to(index) {\n const items = this._getItems();\n if (index > items.length - 1 || index < 0) {\n return;\n }\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n const activeIndex = this._getItemIndex(this._getActive());\n if (activeIndex === index) {\n return;\n }\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n this._slide(order, items[index]);\n }\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause();\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n const direction = KEY_TO_DIRECTION[event.key];\n if (direction) {\n event.preventDefault();\n this._slide(this._directionToOrder(direction));\n }\n }\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n if (!element) {\n return;\n }\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n const activeElement = this._getActive();\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n if (nextElement === activeElement) {\n return;\n }\n const nextElementIndex = this._getItemIndex(nextElement);\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n const slideEvent = triggerEvent(EVENT_SLIDE);\n if (slideEvent.defaultPrevented) {\n return;\n }\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return;\n }\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n this._setActiveIndicatorElement(nextElementIndex);\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n if (isCycling) {\n this.cycle();\n }\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n if (slideIndex) {\n carousel.to(slideIndex);\n carousel._maybeEnableCycle();\n return;\n }\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n carousel._maybeEnableCycle();\n return;\n }\n carousel.prev();\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n this._initializeChildren();\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$a;\n }\n static get DefaultType() {\n return DefaultType$a;\n }\n static get NAME() {\n return NAME$b;\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n let activeChildren = [];\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n const dimension = this._getDimension();\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n this._queueCallback(complete, this._element, true);\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n if (startEvent.defaultPrevented) {\n return;\n }\n const dimension = this._getDimension();\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger);\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n this._isTransitioning = true;\n const complete = () => {\n this._isTransitioning = false;\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n this._element.style[dimension] = '';\n this._queueCallback(complete, this._element, true);\n }\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n config.parent = getElement(config.parent);\n return config;\n }\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element);\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {};\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n }\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n }\n\n // Getters\n static get Default() {\n return Default$9;\n }\n static get DefaultType() {\n return DefaultType$9;\n }\n static get NAME() {\n return NAME$a;\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n if (showEvent.defaultPrevented) {\n return;\n }\n this._createPopper();\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n this._element.focus();\n this._element.setAttribute('aria-expanded', true);\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n this._element.classList.add(CLASS_NAME_SHOW$6);\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n const relatedTarget = {\n relatedTarget: this._element\n };\n this._completeHide(relatedTarget);\n }\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n super.dispose();\n }\n update() {\n this._inNavbar = this._detectNavbar();\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n if (this._popper) {\n this._popper.destroy();\n }\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n this._element.setAttribute('aria-expanded', 'false');\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n _getConfig(config) {\n config = super._getConfig(config);\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n return config;\n }\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n let referenceElement = this._element;\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n const popperConfig = this._getPopperConfig();\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n _getPlacement() {\n const parentDropdown = this._parent;\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n };\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n if (!items.length) {\n return;\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n if (!context || context._config.autoClose === false) {\n continue;\n }\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n const relatedTarget = {\n relatedTarget: context._element\n };\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n context._completeHide(relatedTarget);\n }\n }\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n if (isInput && !isEscapeEvent) {\n return;\n }\n event.preventDefault();\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n instance._selectMenuItem(event);\n return;\n }\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n }\n\n // Getters\n static get Default() {\n return Default$8;\n }\n static get DefaultType() {\n return DefaultType$8;\n }\n static get NAME() {\n return NAME$9;\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._append();\n const element = this._getElement();\n if (this._config.isAnimated) {\n reflow(element);\n }\n element.classList.add(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n dispose() {\n if (!this._isAppended) {\n return;\n }\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n this._element.remove();\n this._isAppended = false;\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n this._element = backdrop;\n }\n return this._element;\n }\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n _append() {\n if (this._isAppended) {\n return;\n }\n const element = this._getElement();\n this._config.rootElement.append(element);\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n }\n\n // Getters\n static get Default() {\n return Default$7;\n }\n static get DefaultType() {\n return DefaultType$7;\n }\n static get NAME() {\n return NAME$8;\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return;\n }\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n deactivate() {\n if (!this._isActive) {\n return;\n }\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n }\n\n // Private\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n const elements = SelectorEngine.focusableChildren(trapElement);\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n hide() {\n const width = this.getWidth();\n this._disableOverFlow();\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n isOverflowing() {\n return this.getWidth() > 0;\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n this._element.style.overflow = 'hidden';\n }\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n this._saveInitialAttribute(element, styleProperty);\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty);\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$6;\n }\n static get DefaultType() {\n return DefaultType$6;\n }\n static get NAME() {\n return NAME$7;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._isTransitioning = true;\n this._scrollBar.hide();\n document.body.classList.add(CLASS_NAME_OPEN);\n this._adjustDialog();\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._isShown = false;\n this._isTransitioning = true;\n this._focustrap.deactivate();\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n dispose() {\n EventHandler.off(window, EVENT_KEY$4);\n EventHandler.off(this._dialog, EVENT_KEY$4);\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n handleUpdate() {\n this._adjustDialog();\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n reflow(this._element);\n this._element.classList.add(CLASS_NAME_SHOW$4);\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n return;\n }\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n _hideModal() {\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', true);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n this._isTransitioning = false;\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n this._resetAdjustments();\n this._scrollBar.reset();\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n if (hideEvent.defaultPrevented) {\n return;\n }\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY;\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n this._element.classList.add(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n this._element.focus();\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const scrollbarWidth = this._scrollBar.getWidth();\n const isBodyOverflowing = scrollbarWidth > 0;\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](relatedTarget);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n });\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._addEventListeners();\n }\n\n // Getters\n static get Default() {\n return Default$5;\n }\n static get DefaultType() {\n return DefaultType$5;\n }\n static get NAME() {\n return NAME$6;\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n if (showEvent.defaultPrevented) {\n return;\n }\n this._isShown = true;\n this._backdrop.show();\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n this._element.setAttribute('aria-modal', true);\n this._element.setAttribute('role', 'dialog');\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n this._element.classList.add(CLASS_NAME_SHOW$3);\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n this._queueCallback(completeCallBack, this._element, true);\n }\n hide() {\n if (!this._isShown) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n if (hideEvent.defaultPrevented) {\n return;\n }\n this._focustrap.deactivate();\n this._element.blur();\n this._isShown = false;\n this._element.classList.add(CLASS_NAME_HIDING);\n this._backdrop.hide();\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n this._element.removeAttribute('aria-modal');\n this._element.removeAttribute('role');\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n this._queueCallback(completeCallback, this._element, true);\n }\n dispose() {\n this._backdrop.dispose();\n this._focustrap.deactivate();\n super.dispose();\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n this.hide();\n };\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n if (this._config.keyboard) {\n this.hide();\n return;\n }\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n });\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config](this);\n });\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = SelectorEngine.getElementFromSelector(this);\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n if (isDisabled(this)) {\n return;\n }\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n });\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\n// js-docs-end allow-list\n\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i;\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue));\n }\n return true;\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n }\n\n // Getters\n static get Default() {\n return Default$4;\n }\n static get DefaultType() {\n return DefaultType$4;\n }\n static get NAME() {\n return NAME$5;\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n hasContent() {\n return this.getContent().length > 0;\n }\n changeContent(content) {\n this._checkContent(content);\n this._config.content = {\n ...this._config.content,\n ...content\n };\n return this;\n }\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n const template = templateWrapper.children[0];\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n return template;\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n this._checkContent(config.content);\n }\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n if (!templateElement) {\n return;\n }\n content = this._resolvePossibleFunction(content);\n if (!content) {\n templateElement.remove();\n return;\n }\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n return;\n }\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n templateElement.textContent = content;\n }\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this]);\n }\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n templateElement.textContent = element.textContent;\n }\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' + '
' + '
' + '
',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n super(element, config);\n\n // Private\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null;\n\n // Protected\n this.tip = null;\n this._setListeners();\n if (!this._config.selector) {\n this._fixTitle();\n }\n }\n\n // Getters\n static get Default() {\n return Default$3;\n }\n static get DefaultType() {\n return DefaultType$3;\n }\n static get NAME() {\n return NAME$4;\n }\n\n // Public\n enable() {\n this._isEnabled = true;\n }\n disable() {\n this._isEnabled = false;\n }\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n this._activeTrigger.click = !this._activeTrigger.click;\n if (this._isShown()) {\n this._leave();\n return;\n }\n this._enter();\n }\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n this._disposePopper();\n super.dispose();\n }\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper();\n const tip = this._getTipElement();\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n const {\n container\n } = this._config;\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n if (this._isHovered === false) {\n this._leave();\n }\n this._isHovered = false;\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n hide() {\n if (!this._isShown()) {\n return;\n }\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n if (hideEvent.defaultPrevented) {\n return;\n }\n const tip = this._getTipElement();\n tip.classList.remove(CLASS_NAME_SHOW$2);\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n if (!this._isHovered) {\n this._disposePopper();\n }\n this._element.removeAttribute('aria-describedby');\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n update() {\n if (this._popper) {\n this._popper.update();\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n return this.tip;\n }\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml();\n\n // TODO: remove this check in v6\n if (!tip) {\n return null;\n }\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n return tip;\n }\n setContent(content) {\n this._newContent = content;\n if (this._isShown()) {\n this._disposePopper();\n this.show();\n }\n }\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n return this._templateFactory;\n }\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element]);\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n _getOffset() {\n const {\n offset\n } = this._config;\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n return offset;\n }\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element]);\n }\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n };\n }\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n context._leave();\n });\n }\n }\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n _fixTitle() {\n const title = this._element.getAttribute('title');\n if (!title) {\n return;\n }\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title');\n }\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n this._isHovered = true;\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n this._isHovered = false;\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n this._typeCheckConfig(config);\n return config;\n }\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n return config;\n }\n _getDelegateConfig() {\n const config = {};\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value;\n }\n }\n config.selector = false;\n config.trigger = 'manual';\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config;\n }\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' + '
' + '

' + '
' + '
',\n trigger: 'click'\n};\nconst DefaultType$2 = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n static get DefaultType() {\n return DefaultType$2;\n }\n static get NAME() {\n return NAME$3;\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent();\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n if (typeof config !== 'string') {\n return;\n }\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n data[config]();\n });\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n }\n\n // Getters\n static get Default() {\n return Default$1;\n }\n static get DefaultType() {\n return DefaultType$1;\n }\n static get NAME() {\n return NAME$2;\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables();\n this._maybeEnableSmoothScroll();\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n dispose() {\n this._observer.disconnect();\n super.dispose();\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body;\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n return config;\n }\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height;\n }\n });\n }\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n this._process(targetElement(entry));\n };\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n this._clearActiveClass(targetElement(entry));\n continue;\n }\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop;\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry);\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return;\n }\n continue;\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element);\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor);\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n this._clearActiveClass(this._config.target);\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n this._activateParents(target);\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both