diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md new file mode 100644 index 0000000..18f8fbb --- /dev/null +++ b/.claude/CLAUDE.md @@ -0,0 +1,62 @@ +# OpenPlains Learning AI Agent Instructions + +## Project Overview + +* OpenPlains Inc. is a company developing interactive geospatial modeling tools to democratize access to geospatial data and analysis. We are building a web-based platform that allows users to create, visualize, and share geospatial models using an intuitive interface. Our goal is to empower users of all skill levels to leverage geospatial data for decision-making, education, and research. + +* Company Website: [OpenPlains Inc.](https://openplains.com) + +* [OpenPlains Learning](https://learning.openplains.com) is our educational platform that provides courses, tutorials, and resources to help users learn how to use our geospatial modeling tools effectively. We offer a range of content from beginner-friendly introductions to advanced modeling techniques. We primarily focus on the GRASS ecosystem and how to utilize it with web-based tools. + +## Project Environment + +* Quarto (v1.8.26) is used for documentation and content creation. We use Quarto to create interactive documents, tutorials, and course materials that can be easily shared and accessed by our users. + +* We use [uv](https://docs.astral.sh/uv/) to manage our Python environments. The project is structured with a `pyproject.toml` file that defines our dependencies and project metadata. We also use `uv.lock` to lock our dependencies for reproducibility. + +## Key Commnads + +* Command: `uv sync` - This command is used to synchronize the project environment with the dependencies specified in `pyproject.toml`. It ensures that all required packages are installed and up-to-date. + +* Command: `uv run quarto render` - This command is used to render our Quarto documents. It compiles the source files into the desired output format (e.g., HTML, PDF) and allows us to create interactive and visually appealing content for our users. + +* Command: `uv run quarto preview` - This command is used to preview our Quarto documents in a web browser. It provides a live preview of the content as we make changes, allowing us to see how the final output will look and make adjustments as needed. + +* Command: `uv run quarto check` - This command is used to serve our Quarto documents locally. It starts a local web server that allows us to access and interact with our content in a web browser, making it easier to test and share our work during development. + +* Command: `uv run quarto convert` - This command is used to convert our Quarto documents from one format to another. For example, we can convert a Quarto document from qmd to a jupyter notebook, PDF or html, depending on our needs and the preferences of our users. + +## Project Structure + +The project is organized into several key directories and files: + +* `_quarto.yml`: This file contains the configuration for our Quarto project, including settings for rendering, output formats, and other project-specific options. + +* `index.qmd`: Home page content. + +* `content/`: This directory contains the source files for our Quarto documents, including tutorials, blog materials, presentations, and other educational content. + +* `_extensions/`: Custom Quarto extensions. + +* `themes.scss`: Custom SCSS for styling our Quarto documents. + +## Google Colab Links + +* Tutorials should be accessible via Google Colab for users who prefer to work in that environment. We will provide links to Colab notebooks for each tutorial, allowing users to run the code and interact with the content directly in their browser without needing to set up a local environment. + +## CI/CD + +* We use GitHub Actions for our CI/CD pipeline. Our workflow includes steps for linting, testing, and deploying our Quarto documents to our website. Whenever changes are pushed to the main branch, the workflow will automatically run these checks and deploy the updated content if everything passes successfully. + +* pre-commit hooks are set up to ensure code quality and consistency. We use tools like `black` for code formatting and `flake8` for linting to maintain a clean and readable codebase. + +## Additional Resources + +* [Quarto Documentation](https://quarto.org/docs/) +* [uv Documentation](https://docs.astral.sh/uv/) +* [GRASS Website](https://grass.osgeo.org/) +* [GRASS Documentation](https://grass.osgeo.org/grass-devel/manuals/) +* [GRASS Python API](https://grass.osgeo.org/grass-devel/manuals/libpython/index.html) +* [GRASS Progrmmers Manual](https://grass.osgeo.org/programming8/) +* [OpenPlains Literature](https://www-sciencedirect-com.prox.lib.ncsu.edu/science/journal/13648152/vsi/10MVDMFPK73) +* [OpenPlains GitHub Repositories](https://github.com/OpenPlainsInc) diff --git a/.gitignore b/.gitignore index d3f6f3a..452d006 100644 --- a/.gitignore +++ b/.gitignore @@ -166,4 +166,5 @@ venv/ /_site/ docs/ -grassdata/ \ No newline at end of file +grassdata/ +*.quarto_ipynb diff --git a/_freeze/content/notebooks/stac_tutorial/t_stac_tutorial/execute-results/html.json b/_freeze/content/notebooks/stac_tutorial/t_stac_tutorial/execute-results/html.json index 7952192..abcab44 100644 --- a/_freeze/content/notebooks/stac_tutorial/t_stac_tutorial/execute-results/html.json +++ b/_freeze/content/notebooks/stac_tutorial/t_stac_tutorial/execute-results/html.json @@ -1,18 +1,18 @@ { - "hash": "ad5b93edc67edb3b4329fe9c17b2b2c1", + "hash": "eadd22557d3256544583c2c8a1a25636", "result": { "engine": "jupyter", - "markdown": "---\ntitle: \"STAC Tutorial\"\ndescription: \"Learn how to use the GRASS addon t.stac to search and import STAC API data into a GRASS project.\"\nimage: images/stac-to-the-future.png\nauthor: Corey T. White\ndate: '2025-03-01'\ncategories: [stac, grass-addon, tutorial]\ndate-modified: today\n\npage-layout: full\ntitle-block-banner: true\ndraft: false\n\nformat:\n html:\n toc: true\n toc-depth: 4\n tabsets: true\n code-copy: true\n code-fold: false\n code-tools: true\n mermaid: \n theme: forest\n other-links:\n - text: grass\n href: https://grass.osgeo.org\n - text: STAC\n href: https://stacspec.org/en\n lightbox: true\n canonical-url: true\n notebook-links: true\t\n\nengine: jupyter\njupyter: python3\n\n\nexecute:\n enabled: true\n keep-ipynb: true\n eval: false\n freeze: auto\n cache: true\n\n---\n\nIn this tutorial we will learn about the [t.stac](https://grass.osgeo.org/grass-stable/manuals/addons/t.stac.html) suite of tools for [GRASS](https://grass.osgeo.org).\n\n* [t.stac.catalog](https://grass.osgeo.org/grass-stable/manuals/addons/t.stac.catalog.html) - is a tool for exploring SpatioTemporal Asset Catalogs metadata from a STAC API.\n* [t.stac.collection](https://grass.osgeo.org/grass-stable/manuals/addons/t.stac.collection.html) - is a tool for exploring SpatioTemporal Asset Catalog (STAC) collection metadata.\n* [t.stac.item](https://grass.osgeo.org/grass-stable/manuals/addons/t.stac.item.html) - is a tool for exploring and importing SpatioTemporal Asset Catalog item metadata and assets into GRASS.\n\n## Introduction\n\nSpatioTemporal Asset Catalog (STAC)...\n\n\nThe tutorial assumes you already have GRASS installed on your machine. If not please [download and install GRASS](https://grass.osgeo.org/download/) before continuing the tutorial.\n\n\n## Getting Started\n\n### Start GRASS Session\n\n::: {#config-grass .cell execution_count=1}\n``` {.python .cell-code}\n# Import standard python packages\nimport sys\nimport subprocess\nfrom IPython.display import display, JSON, HTML\nimport json\nimport pandas as pd\nfrom pathlib import Path\nimport seaborn as sns\n# import polars as pl\n\n# Ask GRASS where its Python packages are and add them to the path\nsys.path.append(\n subprocess.check_output([\"grass\", \"--config\", \"python_path\"], text=True).strip()\n)\n\n# Import the GRASS python packages we need\nimport grass.script as gs\nimport grass.jupyter as gj\n```\n:::\n\n\nCreate a GRASS project\n\n::: {#create-project .cell execution_count=2}\n``` {.python .cell-code}\ngs.create_project(\"stac\", epsg=\"32119\", overwrite=True)\n```\n:::\n\n\nand start a GRASS session.\n\n::: {#start-grass-session .cell execution_count=3}\n``` {.python .cell-code}\nsession = gj.init(\"stac\")\n```\n:::\n\n\n### Install Addon\n\nThe [t.stac](https://grass.osgeo.org/grass-stable/manuals/addons/t.stac.html) addons require the following Python packages.\n\n* [pystac (>=1.12)](https://pystac.readthedocs.io/en/latest/installation.html)\n* [pystac_client (>=0.8)](https://pystac-client.readthedocs.io/en/stable/)\n* [tqdm (>=4.67)](https://tqdm.github.io/)\n\nYou can install them using pip or the Python package manager of your choice. \n\n```bash\npip install pystac pystac_client tqdm\n```\n\nNow you can install the *t.stac* extensions.\n\n::: {#install-t-stac .cell execution_count=4}\n``` {.python .cell-code}\ngs.run_command(\"g.extension\", extension=\"t.stac\")\n```\n:::\n\n\n### Define computational region\n\n::: {#grass-set-region .cell execution_count=5}\n``` {.python .cell-code}\ngs.run_command(\n \"g.region\", n=236687, s=210391, e=616042, w=598921, nsres=10, ewres=10, flags=\"pa\"\n)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\nprojection: 99 (NAD83 / North Carolina)\nzone: 0\ndatum: nad83\nellipsoid: grs80\nnorth: 236690\nsouth: 210390\nwest: 598920\neast: 616050\nnsres: 10\newres: 10\nrows: 2630\ncols: 1713\ncells: 4505190\n```\n:::\n:::\n\n\n## STAC API\n\n::: {#set-stac-catalog-url .cell execution_count=6}\n``` {.python .cell-code}\nstac_url = \"https://earth-search.aws.element84.com/v1/\"\n```\n:::\n\n\n### Searching STAC Catalogs\n\n::: {.panel-tabset group=\"language\"}\n\n## Python\n\n::: {#tbl-stac-catalog .cell execution_count=7}\n``` {.python .cell-code}\ncatalogs_json = gs.parse_command(\n \"t.stac.catalog\", url=stac_url, format=\"json\"\n)\n\ndf_catalogs = pd.json_normalize(catalogs_json)\ndf_catalogs.head()\n```\n\n::: {.cell-output .cell-output-display execution_count=5}\n```{=html}\n
| \n | type | \nid | \nstac_version | \ndescription | \nlinks | \nconformsTo | \ntitle | \n
|---|---|---|---|---|---|---|---|
| 0 | \nCatalog | \nearth-search-aws | \n1.1.0 | \nA STAC API of public datasets on AWS | \n[{'rel': 'self', 'href': 'https://earth-search... | \n[https://api.stacspec.org/v1.0.0/core, https:/... | \nEarth Search by Element 84 | \n
| \n | 0 | \n
|---|---|
| type | \nCollection | \n
| id | \nsentinel-2-l2a | \n
| stac_version | \n1.1.0 | \n
| description | \nGlobal Sentinel-2 data from the Multispectral ... | \n
| links | \n[{'rel': 'self', 'href': 'https://earth-search... | \n
| \n | type | \nstac_version | \nstac_extensions | \nid | \ngeometry | \nbbox | \nproperties | \nlinks | \nassets | \ncollection | \n
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \nFeature | \n1.1.0 | \n[https://stac-extensions.github.io/processing/... | \nS2A_17SPV_20240929_0_L2A | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n{'created': '2024-09-29T23:18:47.401Z', 'platf... | \n[{'rel': 'self', 'href': 'https://earth-search... | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \nsentinel-2-l2a | \n
| 1 | \nFeature | \n1.1.0 | \n[https://stac-extensions.github.io/eo/v1.1.0/s... | \nS2B_17SPV_20240924_0_L2A | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n{'created': '2024-09-25T06:45:08.923Z', 'platf... | \n[{'rel': 'self', 'href': 'https://earth-search... | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \nsentinel-2-l2a | \n
| 2 | \nFeature | \n1.1.0 | \n[https://stac-extensions.github.io/view/v1.0.0... | \nS2A_17SPV_20240919_0_L2A | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n{'created': '2024-09-20T01:57:52.703Z', 'platf... | \n[{'rel': 'self', 'href': 'https://earth-search... | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \nsentinel-2-l2a | \n
| 3 | \nFeature | \n1.1.0 | \n[https://stac-extensions.github.io/grid/v1.1.0... | \nS2B_17SPV_20240914_0_L2A | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n{'created': '2024-09-15T00:07:17.726Z', 'platf... | \n[{'rel': 'self', 'href': 'https://earth-search... | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \nsentinel-2-l2a | \n
| 4 | \nFeature | \n1.1.0 | \n[https://stac-extensions.github.io/grid/v1.1.0... | \nS2A_17SPV_20240909_0_L2A | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n{'created': '2024-09-10T01:00:11.150Z', 'platf... | \n[{'rel': 'self', 'href': 'https://earth-search... | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \nsentinel-2-l2a | \n
| \n | 2 | \n
|---|---|
| type | \nFeature | \n
| stac_version | \n1.1.0 | \n
| stac_extensions | \n[https://stac-extensions.github.io/view/v1.0.0... | \n
| id | \nS2A_17SPV_20240919_0_L2A | \n
| geometry | \n{'type': 'Polygon', 'coordinates': [[[-79.8885... | \n
| bbox | \n[-79.9021350633042, 35.13301555004904, -78.668... | \n
| links | \n[{'rel': 'self', 'href': 'https://earth-search... | \n
| assets | \n{'aot': {'href': 'https://sentinel-cogs.s3.us-... | \n
| collection | \nsentinel-2-l2a | \n
| created | \n2024-09-20T01:57:52.703Z | \n
| platform | \nsentinel-2a | \n
| constellation | \nsentinel-2 | \n
| instruments | \n[msi] | \n
| eo:cloud_cover | \n72.722346 | \n
| mgrs:utm_zone | \n17 | \n
| mgrs:latitude_band | \nS | \n
| mgrs:grid_square | \nPV | \n
| grid:code | \nMGRS-17SPV | \n
| view:sun_azimuth | \n155.767672 | \n
| view:sun_elevation | \n52.998454 | \n
| s2:degraded_msi_data_percentage | \n0.0622 | \n
| s2:nodata_pixel_percentage | \n0 | \n
| s2:saturated_defective_pixel_percentage | \n0 | \n
| s2:cloud_shadow_percentage | \n2.901951 | \n
| s2:vegetation_percentage | \n17.622864 | \n
| s2:not_vegetated_percentage | \n2.652742 | \n
| s2:water_percentage | \n0.198822 | \n
| s2:unclassified_percentage | \n3.66454 | \n
| s2:medium_proba_clouds_percentage | \n19.171326 | \n
| s2:high_proba_clouds_percentage | \n53.275347 | \n
| s2:thin_cirrus_percentage | \n0.275673 | \n
| s2:snow_ice_percentage | \n0 | \n
| s2:product_type | \nS2MSI2A | \n
| s2:processing_baseline | \n05.11 | \n
| s2:product_uri | \nS2A_MSIL2A_20240919T155931_N0511_R097_T17SPV_2... | \n
| s2:generation_time | \n2024-09-19T23:53:48.000000Z | \n
| s2:datatake_id | \nGS2A_20240919T155931_048285_N05.11 | \n
| s2:datatake_type | \nINS-NOBS | \n
| s2:datastrip_id | \nS2A_OPER_MSI_L2A_DS_2APS_20240919T235348_S2024... | \n
| s2:granule_id | \nS2A_OPER_MSI_L2A_TL_2APS_20240919T235348_A0482... | \n
| s2:reflectance_conversion_factor | \n0.989819 | \n
| datetime | \n2024-09-19T16:13:27.093000Z | \n
| s2:sequence | \n0 | \n
| earthsearch:s3_path | \ns3://sentinel-cogs/sentinel-s2-l2a-cogs/17/S/P... | \n
| earthsearch:payload_id | \nroda-sentinel2/workflow-sentinel2-to-stac/15f0... | \n
| earthsearch:boa_offset_applied | \nTrue | \n
| processing:software | \n{'sentinel2-to-stac': '0.1.1'} | \n
| updated | \n2024-09-20T01:57:52.703Z | \n
| proj:code | \nEPSG:32617 | \n
| \n | 2 | \n
|---|---|
| created | \n2024-09-20T01:57:52.703Z | \n
| platform | \nsentinel-2a | \n
| constellation | \nsentinel-2 | \n
| instruments | \n[msi] | \n
| eo:cloud_cover | \n72.722346 | \n
| mgrs:utm_zone | \n17 | \n
| mgrs:latitude_band | \nS | \n
| mgrs:grid_square | \nPV | \n
| grid:code | \nMGRS-17SPV | \n
| view:sun_azimuth | \n155.767672 | \n
| view:sun_elevation | \n52.998454 | \n
| s2:degraded_msi_data_percentage | \n0.0622 | \n
| s2:nodata_pixel_percentage | \n0 | \n
| s2:saturated_defective_pixel_percentage | \n0 | \n
| s2:cloud_shadow_percentage | \n2.901951 | \n
| s2:vegetation_percentage | \n17.622864 | \n
| s2:not_vegetated_percentage | \n2.652742 | \n
| s2:water_percentage | \n0.198822 | \n
| s2:unclassified_percentage | \n3.66454 | \n
| s2:medium_proba_clouds_percentage | \n19.171326 | \n
| s2:high_proba_clouds_percentage | \n53.275347 | \n
| s2:thin_cirrus_percentage | \n0.275673 | \n
| s2:snow_ice_percentage | \n0 | \n
| s2:product_type | \nS2MSI2A | \n
| s2:processing_baseline | \n05.11 | \n
| s2:product_uri | \nS2A_MSIL2A_20240919T155931_N0511_R097_T17SPV_2... | \n
| s2:generation_time | \n2024-09-19T23:53:48.000000Z | \n
| s2:datatake_id | \nGS2A_20240919T155931_048285_N05.11 | \n
| s2:datatake_type | \nINS-NOBS | \n
| s2:datastrip_id | \nS2A_OPER_MSI_L2A_DS_2APS_20240919T235348_S2024... | \n
| s2:granule_id | \nS2A_OPER_MSI_L2A_TL_2APS_20240919T235348_A0482... | \n
| s2:reflectance_conversion_factor | \n0.989819 | \n
| datetime | \n2024-09-19T16:13:27.093000Z | \n
| s2:sequence | \n0 | \n
| earthsearch:s3_path | \ns3://sentinel-cogs/sentinel-s2-l2a-cogs/17/S/P... | \n
| earthsearch:payload_id | \nroda-sentinel2/workflow-sentinel2-to-stac/15f0... | \n
| earthsearch:boa_offset_applied | \nTrue | \n
| processing:software | \n{'sentinel2-to-stac': '0.1.1'} | \n
| updated | \n2024-09-20T01:57:52.703Z | \n
| proj:code | \nEPSG:32617 | \n
| \n | index | \n2 | \n
|---|---|---|
| 0 | \naot | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 1 | \nblue | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 2 | \ncoastal | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 3 | \ngranule_metadata | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 4 | \ngreen | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 5 | \nnir | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 6 | \nnir08 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 7 | \nnir09 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 8 | \nred | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 9 | \nrededge1 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 10 | \nrededge2 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 11 | \nrededge3 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 12 | \nscl | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 13 | \nswir16 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 14 | \nswir22 | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 15 | \nthumbnail | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 16 | \ntileinfo_metadata | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 17 | \nvisual | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 18 | \nwvp | \n{'href': 'https://sentinel-cogs.s3.us-west-2.a... | \n
| 19 | \naot-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 20 | \nblue-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 21 | \ncoastal-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 22 | \ngreen-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 23 | \nnir-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 24 | \nnir08-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 25 | \nnir09-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 26 | \nred-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 27 | \nrededge1-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 28 | \nrededge2-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 29 | \nrededge3-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 30 | \nscl-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 31 | \nswir16-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 32 | \nswir22-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 33 | \nvisual-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| 34 | \nwvp-jp2 | \n{'href': 's3://sentinel-s2-l2a/tiles/17/S/PV/2... | \n
| \n | href | \ntype | \ntitle | \neo:bands | \ngsd | \nproj:shape | \nproj:transform | \nraster:bands | \nroles | \ncollection_id | \nitem_id | \nfile_name | \ndatetime | \n
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240909_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240909_0_L2A.nir | \n2024-09-09T16:13:25.358000Z | \n
| 1 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240909_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240909_0_L2A.red | \n2024-09-09T16:13:25.358000Z | \n
| 2 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2B_17SPV_20240825_0_L2A | \nsentinel-2-l2a.S2B_17SPV_20240825_0_L2A.nir | \n2024-08-25T16:13:26.986000Z | \n
| 3 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2B_17SPV_20240825_0_L2A | \nsentinel-2-l2a.S2B_17SPV_20240825_0_L2A.red | \n2024-08-25T16:13:26.986000Z | \n
| 4 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240731_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240731_0_L2A.nir | \n2024-07-31T16:13:28.790000Z | \n
| 5 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240731_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240731_0_L2A.red | \n2024-07-31T16:13:28.790000Z | \n
| 6 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240611_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240611_0_L2A.nir | \n2024-06-11T16:13:32.315000Z | \n
| 7 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240611_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240611_0_L2A.red | \n2024-06-11T16:13:32.315000Z | \n
| 8 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240522_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240522_0_L2A.nir | \n2024-05-22T16:13:25.575000Z | \n
| 9 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240522_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240522_0_L2A.red | \n2024-05-22T16:13:25.575000Z | \n
| \n | href | \ntype | \ntitle | \neo:bands | \ngsd | \nproj:shape | \nproj:transform | \nraster:bands | \nroles | \ncollection_id | \nitem_id | \nfile_name | \ndatetime | \n
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240909_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240909_0_L2A.nir | \n2024-09-09T16:13:25.358000Z | \n
| 1 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240909_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240909_0_L2A.red | \n2024-09-09T16:13:25.358000Z | \n
| 2 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2B_17SPV_20240825_0_L2A | \nsentinel-2-l2a.S2B_17SPV_20240825_0_L2A.nir | \n2024-08-25T16:13:26.986000Z | \n
| 3 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nRed (band 4) - 10m | \n[{'name': 'red', 'common_name': 'red', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2B_17SPV_20240825_0_L2A | \nsentinel-2-l2a.S2B_17SPV_20240825_0_L2A.red | \n2024-08-25T16:13:26.986000Z | \n
| 4 | \nhttps://sentinel-cogs.s3.us-west-2.amazonaws.c... | \nimage/tiff; application=geotiff; profile=cloud... | \nNIR 1 (band 8) - 10m | \n[{'name': 'nir', 'common_name': 'nir', 'descri... | \n10 | \n[10980, 10980] | \n[10, 0, 600000, 0, -10, 4000020] | \n[{'nodata': 0, 'data_type': 'uint16', 'bits_pe... | \n[data, reflectance] | \nsentinel-2-l2a | \nS2A_17SPV_20240731_0_L2A | \nsentinel-2-l2a.S2A_17SPV_20240731_0_L2A.nir | \n2024-07-31T16:13:28.790000Z | \n
| Property | \nValue | \n
|---|---|
| ${k} | \n${renderValue(v, k)} | \n
| \n | type | \nid | \nstac_version | \ndescription | \nlinks | \nconformsTo | \ntitle | \n
|---|---|---|---|---|---|---|---|
| 0 | \nCatalog | \nearth-search-aws | \n1.1.0 | \nA STAC API of public datasets on AWS | \n[{'rel': 'self', 'href': 'https://earth-search... | \n[https://api.stacspec.org/v1.0.0/core, https:/... | \nEarth Search by Element 84 | \n
"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_3")+"
"}],this.cookieLevels=[{id:"strictly-necessary",title:this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_3")+"
"},{id:"functionality",title:this.cookieConsent.i18n.$t("i18n","pc_fnct_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_3")+"
"},{id:"tracking",title:this.cookieConsent.i18n.$t("i18n","pc_trck_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_trck_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_3")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_4")+"
"},{id:"targeting",title:this.cookieConsent.i18n.$t("i18n","pc_trgt_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_3")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_4")+"
"}];try{for(var i=R(this.cookieLevels),n=i.next();!n.done;n=i.next()){var o=n.value;this.preferenceItems.push({id:o.id,title:o.title,title_container:"title_"+o.id,content_container:"content_"+o.id,content:o.content})}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.preferenceItems.push({title:this.cookieConsent.i18n.$t("i18n","pc_minfo_text_1"),title_container:"title_more_information",content_container:"content_more_information",content:""+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_2")+"
"}),null!==this.cookieConsent.ownerWebsitePrivacyPolicyUrl&&a.isValidUrl(this.cookieConsent.ownerWebsitePrivacyPolicyUrl)&&(this.preferenceItems[this.preferenceItems.length-1].content=this.preferenceItems[this.preferenceItems.length-1].content+""+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_3",this.cookieConsent.ownerWebsitePrivacyPolicyUrl)+"
")},e}(),Z=function(){function e(e){this.preferencesCenterOverlay=null,this.cookieConsent=e}return e.prototype.listenToUserButtonToOpenPreferences=function(e){var t=this,i=document.querySelectorAll(e);t.cookieConsent.log("userButton detected:","info"),t.cookieConsent.log(i,"info","table"),i&&i.forEach((function(e){e.addEventListener("click",(function(){document.dispatchEvent(t.cookieConsent.events.cc_noticeBannerChangePreferencesPressed),t.showPreferencesCenter()}))}))},e.prototype.showPreferencesCenter=function(){var e,t=this;null===this.preferencesCenterOverlay&&(this.preferencesCenterOverlay=this.createPreferencesCenterOverlayAndDialog(),a.appendChild("body",this.preferencesCenterOverlay)),this.preferencesCenterOverlay.classList.add("termsfeed-com---is-visible"),t.cookieConsent.log("Preferences Center shown","info"),this.preferencesCenterOverlay.setAttribute("role","dialog"),this.preferencesCenterOverlay.setAttribute("aria-labelledby","cc-pc-head-title-headline"),this.preferencesCenterOverlay.setAttribute("tabindex","-1"),this.preferencesCenterOverlay.focus();var i=document.querySelector("#termsfeed-com---preferences-center"),n=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')[0],o=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=o[o.length-1];t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement: "+n,"info"),t.cookieConsent.log("preferencesCenterOverlayModal_focusableContent: "+o,"info"),t.cookieConsent.log("preferencesCenterOverlayModal_lastFocusableElement: "+r,"info"),document.addEventListener("keydown",(function(e){var i,o;("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===n&&(t.cookieConsent.log("preferencesCenterOverlayModal_lastFocusableElement before focus: "+r,"info"),null===(i=r)||void 0===i||i.focus(),e.preventDefault()):document.activeElement===r&&(t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement before focus: "+n,"info"),null===(o=n)||void 0===o||o.focus(),e.preventDefault()))})),t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement before focus: "+n,"info"),null===(e=n)||void 0===e||e.focus(),this.preferencesCenterOverlay.classList.add("termsfeed-com---lang-"+t.cookieConsent.i18n.userLang)},e.prototype.hidePreferencesCenter=function(){this.preferencesCenterOverlay.classList.remove("termsfeed-com---is-visible"),this.cookieConsent.log("Preferences Center hidden","info")},e.prototype.refreshPreferencesCenter=function(){if(null!==this.preferencesCenterOverlay)return this.preferencesCenterOverlay.parentNode.removeChild(this.preferencesCenterOverlay),this.preferencesCenterOverlay=null,this.showPreferencesCenter()},e.prototype.createPreferencesCenterOverlayAndDialog=function(){var e=this,t=document.createElement("div");t.classList.add("termsfeed-com---pc-overlay"),t.classList.add(e.cookieConsent.colorPalette.getClass()),t.classList.add("termsfeed-com---reset"),t.id="termsfeed-com---preferences-center",t.setAttribute("id","termsfeed-com---preferences-center");var i=document.createElement("div");i.classList.add("termsfeed-com---pc-dialog");var n=document.createElement("div");n.classList.add("cc-pc-container");var o=document.createElement("div");o.classList.add("cc-pc-head");var r=document.createElement("div");if(r.classList.add("cc-pc-head-title"),e.cookieConsent.ownerWebsiteName.length>2){var s=document.createElement("p");s.classList.add("cc-pc-head-title-text"),s.innerText=e.cookieConsent.ownerWebsiteName,a.appendChild(r,s)}var c=document.createElement("p");c.classList.add("cc-pc-head-title-headline"),c.setAttribute("id","cc-pc-head-title-headline"),c.innerHTML=e.cookieConsent.i18n.$t("i18n","pc_title"),a.appendChild(r,c);var l=document.createElement("div");l.classList.add("cc-pc-head-lang");var p=this.obtainLanguageSelector();a.appendChild(l,p);var d=document.createElement("button");d.classList.add("cc-pc-head-close"),d.innerHTML="✕",d.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_preferencesCenterClosePressed)})),a.appendChild(o,r),a.appendChild(o,l),!1===e.cookieConsent.ownerPreferencesCenterCloseButtonHide&&a.appendChild(l,d,"afterbegin");var u=document.createElement("div");u.classList.add("cc-cp-body");var m=this.getMenuContainer(),_=this.getContentContainer();a.appendChild(u,m),a.appendChild(u,_);var k=this.getFooterContainer();return a.appendChild(n,o),a.appendChild(n,u),a.appendChild(n,k),a.appendChild(i,n),a.appendChild(t,i),t},e.prototype.obtainLanguageSelector=function(){var e=this,t=document.createElement("select");return t.classList.add("cc-pc-head-lang-select"),[].forEach.call(e.cookieConsent.i18n.availableLanguages,(function(i){var n=document.createElement("option");n.text=i.title,n.value=i.value,e.cookieConsent.i18n.userLang===n.value&&n.setAttribute("selected","selected"),t.add(n)})),t.addEventListener("change",(function(){e.cookieConsent.i18n.userLang=t.value,e.cookieConsent.cookieLevels.languageChanged(),e.refreshPreferencesCenter(),document.dispatchEvent(e.cookieConsent.events.cc_userLanguageChanged)})),t},e.prototype.getContentContainer=function(){var e=this,t=document.createElement("div");t.classList.add("cc-cp-body-content");var i=0;return e.cookieConsent.cookieLevels.preferenceItems.forEach((function(n){var o=document.createElement("div");if(o.classList.add("cc-cp-body-content-entry"),o.setAttribute("id",n.content_container),o.setAttribute("role","tabpanel"),o.setAttribute("aria-labelledby",n.title_container),o.setAttribute("hidden",""),o.setAttribute("tabindex","0"),o.setAttribute("content_layout",n.content_container),o.setAttribute("active","false"),o.innerHTML=n.content,0===i&&(o.setAttribute("active","true"),o.removeAttribute("hidden")),i++,n.id){var r=e._getLevelCheckbox(n);a.appendChild(o,r)}a.appendChild(t,o)})),t},e.prototype.getMenuContainer=function(){var e=this,t=document.createElement("ul");t.classList.add("cc-cp-body-tabs"),t.setAttribute("role","tablist"),t.setAttribute("aria-label","Menu");var i=0;return e.cookieConsent.cookieLevels.preferenceItems.forEach((function(n){var o=document.createElement("li");o.classList.add("cc-cp-body-tabs-item");var r=document.createElement("button");r.classList.add("cc-cp-body-tabs-item-link"),r.setAttribute("id",n.title_container),r.setAttribute("role","tab"),r.setAttribute("aria-selected","false"),r.setAttribute("aria-controls",n.content_container),r.setAttribute("tabindex","-1"),r.setAttribute("t",n.content_container),r.innerHTML=n.title,0===i&&(o.setAttribute("active","true"),r.setAttribute("aria-selected","true"),r.setAttribute("tabindex","0")),i++,r.addEventListener("click",(function(t){t.preventDefault(),e.cookieConsent.log("Preferences Center tab item clicked: "+n.title,"info");var i=document.querySelectorAll('li[active="true"]');[].forEach.call(i,(function(e){e.setAttribute("active","false"),e.firstElementChild.setAttribute("aria-selected","false"),e.firstElementChild.setAttribute("tabindex","-1")})),o.setAttribute("active","true"),o.firstElementChild.setAttribute("aria-selected","true"),o.firstElementChild.setAttribute("tabindex","0");try{var a=document.querySelectorAll("div[content_layout]");[].forEach.call(a,(function(e){e.setAttribute("active","false"),e.setAttribute("hidden","")}));var r=document.querySelector('div[content_layout="'+n.content_container+'"]');r.setAttribute("active","true"),r.removeAttribute("hidden")}catch(t){}}));var s=0,c=document.getElementsByClassName("cc-cp-body-tabs-item-link");t.addEventListener("keydown",(function(e){"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(c[s].setAttribute("tabindex","-1"),"ArrowDown"===e.key||"ArrowRight"===e.key?++s>=c.length&&(s=0):"ArrowUp"!==e.key&&"ArrowLeft"!==e.key||--s<0&&(s=c.length-1),c[s].setAttribute("tabindex","0"),c[s].focus())})),a.appendChild(o,r),a.appendChild(t,o)})),t},e.prototype.getFooterContainer=function(){var e=this,t=document.createElement("div");t.classList.add("cc-cp-foot");var i=document.createElement("div");i.classList.add("cc-cp-foot-byline"),i.innerHTML=a.magicTransform("Q29va2llIENvbnNlbnQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVybXNmZWVkLmNvbS9jb29raWUtY29uc2VudC8iIHRhcmdldD0iX2JsYW5rIj5UZXJtc0ZlZWQ8L2E+");var n=document.createElement("div");n.classList.add("cc-cp-foot-button");var o=document.createElement("button");return o.classList.add("cc-cp-foot-save"),o.innerHTML=e.cookieConsent.i18n.$t("i18n","pc_save"),o.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_preferencesCenterSavePressed)})),a.appendChild(n,o),a.appendChild(t,i),a.appendChild(t,n),t},e.prototype._getLevelCheckbox=function(e){var t=this,i=document.createElement("div");if(i.classList.add("cc-custom-checkbox"),"strictly-necessary"!==e.id){var n=t.cookieConsent.userConsent.acceptedLevels,o=document.createElement("input");o.setAttribute("cookie_consent_toggler","true"),o.setAttribute("type","checkbox"),o.setAttribute("class","cc-custom-checkbox"),o.setAttribute("id",e.id),o.setAttribute("name",e.id),o.setAttribute("aria-labelledby",e.id+"_label"),(r=document.createElement("label")).setAttribute("for",e.id),r.setAttribute("id",e.id+"_label"),n[e.id]?(o.setAttribute("checked","checked"),o.setAttribute("aria-checked","true"),r.setAttribute("class","is-active"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","active")):(o.setAttribute("aria-checked","false"),r.setAttribute("class","is-inactive"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","inactive")),o.addEventListener("change",(function(){var i=o.checked,n=e.id,a=document.querySelector('label[for="'+n+'"]');t.cookieConsent.log("User changed cookie level ["+n+"], new status: "+i,"info"),document.dispatchEvent(t.cookieConsent.events.cc_userChangedConsent),!0===i?(t.cookieConsent.userConsent.acceptLevel(n),a.innerHTML=t.cookieConsent.i18n.$t("i18n","active")):(t.cookieConsent.userConsent.rejectLevel(n),a.innerHTML=t.cookieConsent.i18n.$t("i18n","inactive"))})),o.addEventListener("keypress",(function(e){if(" "===e.key||"Spacebar"===e.key)switch(o.getAttribute("aria-checked")){case"true":o.setAttribute("aria-checked","false");break;case"false":o.setAttribute("aria-checked","true")}})),a.appendChild(i,o),a.appendChild(i,r)}else{var r,s=document.createElement("input");s.setAttribute("cookie_consent_toggler","true"),s.setAttribute("type","checkbox"),s.setAttribute("checked","checked"),s.setAttribute("aria-checked","true"),s.setAttribute("disabled","disabled"),s.setAttribute("class","cc-custom-checkbox"),s.setAttribute("id",e.id),s.setAttribute("name",e.id),s.setAttribute("aria-labelledby",e.id+"_label"),s.setAttribute("tabindex","0"),(r=document.createElement("label")).setAttribute("for",e.id),r.setAttribute("id",e.id+"_label"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","always_active"),a.appendChild(i,s),a.appendChild(i,r)}return i},e}(),Y=function(){function e(e){this.noticeBanner=null,this.noticeBannerOverlay=null,this.noticeBannerExtraCss=[],this.cookieConsent=e,this.noticeBannerExtraCss.push(e.colorPalette.getClass())}return e.prototype.initNoticeBanner=function(){var e,t;if(null===this.noticeBanner&&(this.noticeBanner=this.createNoticeBanner()),t="afterbegin"===this.cookieConsent.ownerNoticeBannerAppendContentPosition||"beforeend"===this.cookieConsent.ownerNoticeBannerAppendContentPosition?this.cookieConsent.ownerNoticeBannerAppendContentPosition:"afterbegin",a.appendChild("body",this.noticeBanner,t),this.cookieConsent.log("Notice Banner shown "+t,"info"),document.dispatchEvent(this.cookieConsent.events.cc_noticeBannerShown),"interstitial"===this.cookieConsent.ownerNoticeBannerType||"standalone"===this.cookieConsent.ownerNoticeBannerType){var i=document.querySelector("#termsfeed-com---nb"),n=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')[0],o=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=o[o.length-1];document.addEventListener("keydown",(function(e){var t,i;("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===n&&(null===(t=r)||void 0===t||t.focus(),e.preventDefault()):document.activeElement===r&&(null===(i=n)||void 0===i||i.focus(),e.preventDefault()))})),null===(e=n)||void 0===e||e.focus()}return!0},e.prototype.hideNoticeBanner=function(){try{this.noticeBanner.classList.add("termsfeed-com---is-hidden"),this.cookieConsent.log("Notice Banner hidden","info")}catch(e){}},e.prototype.createNoticeBanner=function(){var e,t,i=document.createElement("div");if(i.classList.add("termsfeed-com---reset"),i.classList.add("termsfeed-com---nb"),i.setAttribute("id","termsfeed-com---nb"),i.setAttribute("role","dialog"),i.setAttribute("aria-modal","true"),i.setAttribute("aria-labelledby","cc-nb-title"),i.setAttribute("aria-describedby","cc-nb-text"),this.noticeBannerExtraCss.length)try{for(var n=R(this.noticeBannerExtraCss),o=n.next();!o.done;o=n.next()){var r=o.value;i.classList.add(r)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}if(i.classList.add("termsfeed-com---lang-"+this.cookieConsent.i18n.userLang),a.appendChild(i,this.createNoticeBannerContent()),"interstitial"===this.cookieConsent.ownerNoticeBannerType){var s=document.createElement("div");return s.classList.add("termsfeed-com---nb-interstitial-overlay"),a.appendChild(s,i),s}return i},e.prototype.createNoticeBannerContent=function(){var e=this,t=document.createElement("div");t.classList.add("cc-nb-main-container");var i=document.createElement("div");i.classList.add("cc-nb-title-container");var n=document.createElement("p");n.classList.add("cc-nb-title"),n.setAttribute("id","cc-nb-title"),n.innerText=e.cookieConsent.i18n.$t("i18n","nb_title"),a.appendChild(i,n);var o=document.createElement("div");o.classList.add("cc-nb-text-container");var r=document.createElement("p");r.classList.add("cc-nb-text"),r.setAttribute("id","cc-nb-text"),r.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_text");var s=document.createElement("span");s.classList.add("cc-nb-text-urls"),s.innerHTML=" ";var c=document.createElement("span");c.classList.add("cc-nb-text-urls-privacy"),c.setAttribute("role","link");var l=document.createElement("span");l.classList.add("cc-nb-text-urls-impressum"),l.setAttribute("role","link");var p=document.createElement("span");p.classList.add("cc-nb-text-urls-separator"),p.innerHTML=" | ",e.cookieConsent.noticeBannerInsertLegalUrls&&(e.cookieConsent.ownerWebsitePrivacyPolicyUrl&&e.cookieConsent.ownerWebsiteImpressumUrl?a.isValidUrl(e.cookieConsent.ownerWebsitePrivacyPolicyUrl)&&a.isValidUrl(e.cookieConsent.ownerWebsiteImpressumUrl)&&(c.innerHTML=e.cookieConsent.i18n.$t("i18n","privacy_policy",e.cookieConsent.ownerWebsitePrivacyPolicyUrl),l.innerHTML=e.cookieConsent.i18n.$t("i18n","impressum",e.cookieConsent.ownerWebsiteImpressumUrl),a.appendChild(s,c),a.appendChild(c,p),a.appendChild(s,l)):e.cookieConsent.ownerWebsitePrivacyPolicyUrl&&a.isValidUrl(e.cookieConsent.ownerWebsitePrivacyPolicyUrl)?(c.innerHTML=e.cookieConsent.i18n.$t("i18n","privacy_policy",e.cookieConsent.ownerWebsitePrivacyPolicyUrl),a.appendChild(s,c)):e.cookieConsent.ownerWebsiteImpressumUrl&&a.isValidUrl(e.cookieConsent.ownerWebsiteImpressumUrl)&&(l.innerHTML=e.cookieConsent.i18n.$t("i18n","impressum",e.cookieConsent.ownerWebsiteImpressumUrl),a.appendChild(s,l)),a.appendChild(r,s)),a.appendChild(o,r);var d=document.createElement("div");d.classList.add("cc-nb-buttons-container");var u=document.createElement("button");u.classList.add("cc-nb-okagree"),u.setAttribute("role","button"),"express"==e.cookieConsent.ownerConsentType?u.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_agree"):u.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_ok"),u.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerOkOrAgreePressed)})),a.appendChild(d,u);var m=document.createElement("button");m.classList.add("cc-nb-reject"),m.setAttribute("role","button"),m.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_reject"),m.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerRejectPressed)})),"express"==e.cookieConsent.ownerConsentType&&!1===e.cookieConsent.ownerNoticeBannerRejectButtonHide&&a.appendChild(d,m);var _=document.createElement("button");return _.classList.add("cc-nb-changep"),_.setAttribute("role","button"),_.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_changep"),_.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerChangePreferencesPressed)})),a.appendChild(d,_),a.appendChild(t,i),a.appendChild(t,o),a.appendChild(t,d),t},e}(),Q=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-simple"),i}return J(t,e),t}(Y),X=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-headline"),i}return J(t,e),t}(Y),ee=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-interstitial"),i}return J(t,e),t}(Y),te=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-standalone"),i}return J(t,e),t}(Y),ie=function(){function e(e){e.log("ConsentType main class initialized","info")}return e.prototype.loadInitialCookiesForNewUser=function(){},e}(),ne=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.loadInitialCookiesForNewUser=function(){this.cookieConsent.log("consentImplied loadInitialCookiesForNewUser triggered","info");var e=!1,t=!1,i=!1;if(null!==this.cookieConsent.ownerPageLoadConsentLevels)for(var n in this.cookieConsent.ownerPageLoadConsentLevels){var o=this.cookieConsent.ownerPageLoadConsentLevels[n];"functionality"==o&&(e=!0),"tracking"==o&&(t=!0),"targeting"==o&&(i=!0)}else e=!0,t=!0,i=!0;this.cookieConsent.javascriptItems.enableScriptsByLevel("strictly-necessary"),e?(this.cookieConsent.userConsent.acceptLevel("functionality"),this.cookieConsent.javascriptItems.enableScriptsByLevel("functionality")):this.cookieConsent.userConsent.rejectLevel("functionality"),t?(this.cookieConsent.userConsent.acceptLevel("tracking"),this.cookieConsent.javascriptItems.enableScriptsByLevel("tracking")):this.cookieConsent.userConsent.rejectLevel("tracking"),i?(this.cookieConsent.userConsent.acceptLevel("targeting"),this.cookieConsent.javascriptItems.enableScriptsByLevel("targeting")):this.cookieConsent.userConsent.rejectLevel("targeting"),this.cookieConsent.log("consentImplied loadInitialCookiesForNewUser: strictly-necessary (true), functionality ("+e+"), tracking ("+t+"), targeting ("+i+")","info")},t}(ie),oe=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.loadInitialCookiesForNewUser=function(){this.cookieConsent.log("consentExpress loadInitialCookiesForNewUser triggered","info");var e=!1,t=!1,i=!1;if(null!==this.cookieConsent.ownerPageLoadConsentLevels)for(var n in this.cookieConsent.ownerPageLoadConsentLevels){var o=this.cookieConsent.ownerPageLoadConsentLevels[n];"functionality"==o&&(e=!0),"tracking"==o&&(t=!0),"targeting"==o&&(i=!0)}else e=!1,t=!1,i=!1;this.cookieConsent.javascriptItems.enableScriptsByLevel("strictly-necessary"),e?(this.cookieConsent.userConsent.acceptLevel("functionality"),this.cookieConsent.javascriptItems.enableScriptsByLevel("functionality")):this.cookieConsent.userConsent.rejectLevel("functionality"),t?(this.cookieConsent.userConsent.acceptLevel("tracking"),this.cookieConsent.javascriptItems.enableScriptsByLevel("tracking")):this.cookieConsent.userConsent.rejectLevel("tracking"),i?(this.cookieConsent.userConsent.acceptLevel("targeting"),this.cookieConsent.javascriptItems.enableScriptsByLevel("targeting")):this.cookieConsent.userConsent.rejectLevel("targeting"),this.cookieConsent.log("consentExpress loadInitialCookiesForNewUser: strictly-necessary (true), functionality ("+e+"), tracking ("+t+"), targeting ("+i+")","info")},t}(ie),ae=function(){function e(e){this.cookieConsent=e}return e.prototype.getClass=function(){return"termsfeed-com---palette-light"},e}(),re=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.getClass=function(){return"termsfeed-com---palette-dark"},t}(ae),se=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.getClass=function(){return"termsfeed-com---palette-light"},t}(ae),ce=function(){function e(e){this.USER_TOKEN_COOKIE_NAME="cookie_consent_user_consent_token",this.cookieConsent=e,this.initUserConsentToken()}return e.prototype.initUserConsentToken=function(){var e=F("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t=F("abcdefghijklmnopqrstuvwxyz"),i=F("0123456789"),n=F(e,i,t);this.cookieConsent.userConsentToken=a.getCookie(this.USER_TOKEN_COOKIE_NAME)||this.cookieConsent.configUserConsentToken||function(e,t){return F(Array(t)).map((function(t){return e[Math.random()*e.length|0]})).join("")}(n,12),a.setCookie(this.USER_TOKEN_COOKIE_NAME,this.cookieConsent.userConsentToken,this.cookieConsent.ownerDomain,this.cookieConsent.cookieSecure,3650)},e}(),le=function(){function e(e){switch(this.configUserConsentToken=void 0,this.userConsentToken=void 0,this.debug=!1,this.ownerConsentType=e.consent_type||"express",this.ownerWebsiteName=e.website_name||"",this.ownerWebsitePrivacyPolicyUrl=e.website_privacy_policy_url||null,this.ownerColorPalette=e.palette||"light",this.ownerSiteLanguage=e.language||"en",this.ownerDomain=e.cookie_domain||"",this.ownerWebsiteImpressumUrl=e.website_impressum_url||null,this.noticeBannerInsertLegalUrls=e.notice_banner_insert_legal_urls||!1,this.cookieSecure=e.cookie_secure||!1,this.ownerPageLoadConsentLevels=e.page_load_consent_levels||null,this.ownerNoticeBannerType=e.notice_banner_type||"headline",this.ownerNoticeBannerRejectButtonHide=e.notice_banner_reject_button_hide||!1,this.ownerNoticeBannerAppendContentPosition=e.notice_banner_append||"afterbegin",this.ownerOpenPreferencesCenterSelector=e.open_preferences_center_selector||"#open_preferences_center",this.ownerPreferencesCenterCloseButtonHide=e.preferences_center_close_button_hide||!1,this.pageRefreshConfirmationButtons=e.page_refresh_confirmation_buttons||!1,this.configUserConsentToken=e.user_consent_token||null,this.isDemo="true"==e.demo,this.debug="true"==e.debug,this.ownerConsentType){default:case"express":this.consentType=new oe(this);break;case"implied":this.consentType=new ne(this),this.userConsentTokenClass=new ce(this)}switch(this.ownerColorPalette){default:case"dark":this.colorPalette=new re(this);break;case"light":this.colorPalette=new se(this)}switch(this.ownerNoticeBannerType){default:case"simple":this.noticeBannerContainer=new Q(this);break;case"headline":this.noticeBannerContainer=new X(this);break;case"interstitial":this.noticeBannerContainer=new ee(this);break;case"standalone":this.noticeBannerContainer=new te(this)}this.events=new K,this.eventsListeners=new H(this),this.i18n=new D(this),this.cookieLevels=new G(this),this.userConsent=new V(this),this.javascriptItems=new $(this),this.preferencesCenterContainer=new Z(this),null!==this.ownerOpenPreferencesCenterSelector&&this.preferencesCenterContainer.listenToUserButtonToOpenPreferences(this.ownerOpenPreferencesCenterSelector),!0===this.userConsent.userAccepted?(this.userConsent.loadAcceptedCookies(),!0===this.isDemo&&this.noticeBannerContainer.initNoticeBanner()):(this.noticeBannerContainer.initNoticeBanner(),this.consentType.loadInitialCookiesForNewUser())}return e.prototype.log=function(e,t,i){void 0===i&&(i="log"),!0===this.debug&&("log"===i||"table"===i)&&console.log("["+t+"]",e)},e.prototype.openPreferencesCenter=function(){this.preferencesCenterContainer.showPreferencesCenter()},e}(),pe=function(e){return o=new le(e),window.cookieconsent.openPreferencesCenter=function(){o.openPreferencesCenter()},o}}]); \ No newline at end of file +var cookieconsent=function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=51)}([function(e,t,i){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=function(e,t){var i=e[1]||"",n=e[3];if(!n)return i;if(t&&"function"==typeof btoa){var o=(r=n,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */"),a=n.sources.map((function(e){return"/*# sourceURL="+n.sourceRoot+e+" */"}));return[i].concat(a).concat([o]).join("\n")}var r;return[i].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+i+"}":i})).join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},o=0;o"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_yprivacy_text_3")+"
"}],this.cookieLevels=[{id:"strictly-necessary",title:this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_sncssr_text_3")+"
"},{id:"functionality",title:this.cookieConsent.i18n.$t("i18n","pc_fnct_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_fnct_text_3")+"
"},{id:"tracking",title:this.cookieConsent.i18n.$t("i18n","pc_trck_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_trck_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_3")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trck_text_4")+"
"},{id:"targeting",title:this.cookieConsent.i18n.$t("i18n","pc_trgt_text_1"),content:""+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_2")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_3")+"
"+this.cookieConsent.i18n.$t("i18n","pc_trgt_text_4")+"
"}];try{for(var i=R(this.cookieLevels),n=i.next();!n.done;n=i.next()){var o=n.value;this.preferenceItems.push({id:o.id,title:o.title,title_container:"title_"+o.id,content_container:"content_"+o.id,content:o.content})}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}this.preferenceItems.push({title:this.cookieConsent.i18n.$t("i18n","pc_minfo_text_1"),title_container:"title_more_information",content_container:"content_more_information",content:""+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_1")+"
"+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_2")+"
"}),null!==this.cookieConsent.ownerWebsitePrivacyPolicyUrl&&a.isValidUrl(this.cookieConsent.ownerWebsitePrivacyPolicyUrl)&&(this.preferenceItems[this.preferenceItems.length-1].content=this.preferenceItems[this.preferenceItems.length-1].content+""+this.cookieConsent.i18n.$t("i18n","pc_minfo_text_3",this.cookieConsent.ownerWebsitePrivacyPolicyUrl)+"
")},e}(),Z=function(){function e(e){this.preferencesCenterOverlay=null,this.cookieConsent=e}return e.prototype.listenToUserButtonToOpenPreferences=function(e){var t=this,i=document.querySelectorAll(e);t.cookieConsent.log("userButton detected:","info"),t.cookieConsent.log(i,"info","table"),i&&i.forEach((function(e){e.addEventListener("click",(function(){document.dispatchEvent(t.cookieConsent.events.cc_noticeBannerChangePreferencesPressed),t.showPreferencesCenter()}))}))},e.prototype.showPreferencesCenter=function(){var e,t=this;null===this.preferencesCenterOverlay&&(this.preferencesCenterOverlay=this.createPreferencesCenterOverlayAndDialog(),a.appendChild("body",this.preferencesCenterOverlay)),this.preferencesCenterOverlay.classList.add("termsfeed-com---is-visible"),t.cookieConsent.log("Preferences Center shown","info"),this.preferencesCenterOverlay.setAttribute("role","dialog"),this.preferencesCenterOverlay.setAttribute("aria-labelledby","cc-pc-head-title-headline"),this.preferencesCenterOverlay.setAttribute("tabindex","-1"),this.preferencesCenterOverlay.focus();var i=document.querySelector("#termsfeed-com---preferences-center"),n=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')[0],o=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=o[o.length-1];t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement: "+n,"info"),t.cookieConsent.log("preferencesCenterOverlayModal_focusableContent: "+o,"info"),t.cookieConsent.log("preferencesCenterOverlayModal_lastFocusableElement: "+r,"info"),document.addEventListener("keydown",(function(e){var i,o;("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===n&&(t.cookieConsent.log("preferencesCenterOverlayModal_lastFocusableElement before focus: "+r,"info"),null===(i=r)||void 0===i||i.focus(),e.preventDefault()):document.activeElement===r&&(t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement before focus: "+n,"info"),null===(o=n)||void 0===o||o.focus(),e.preventDefault()))})),t.cookieConsent.log("preferencesCenterOverlayModal_firstFocusableElement before focus: "+n,"info"),null===(e=n)||void 0===e||e.focus(),this.preferencesCenterOverlay.classList.add("termsfeed-com---lang-"+t.cookieConsent.i18n.userLang)},e.prototype.hidePreferencesCenter=function(){this.preferencesCenterOverlay.classList.remove("termsfeed-com---is-visible"),this.cookieConsent.log("Preferences Center hidden","info")},e.prototype.refreshPreferencesCenter=function(){if(null!==this.preferencesCenterOverlay)return this.preferencesCenterOverlay.parentNode.removeChild(this.preferencesCenterOverlay),this.preferencesCenterOverlay=null,this.showPreferencesCenter()},e.prototype.createPreferencesCenterOverlayAndDialog=function(){var e=this,t=document.createElement("div");t.classList.add("termsfeed-com---pc-overlay"),t.classList.add(e.cookieConsent.colorPalette.getClass()),t.classList.add("termsfeed-com---reset"),t.id="termsfeed-com---preferences-center",t.setAttribute("id","termsfeed-com---preferences-center");var i=document.createElement("div");i.classList.add("termsfeed-com---pc-dialog");var n=document.createElement("div");n.classList.add("cc-pc-container");var o=document.createElement("div");o.classList.add("cc-pc-head");var r=document.createElement("div");if(r.classList.add("cc-pc-head-title"),e.cookieConsent.ownerWebsiteName.length>2){var s=document.createElement("p");s.classList.add("cc-pc-head-title-text"),s.innerText=e.cookieConsent.ownerWebsiteName,a.appendChild(r,s)}var c=document.createElement("p");c.classList.add("cc-pc-head-title-headline"),c.setAttribute("id","cc-pc-head-title-headline"),c.innerHTML=e.cookieConsent.i18n.$t("i18n","pc_title"),a.appendChild(r,c);var l=document.createElement("div");l.classList.add("cc-pc-head-lang");var p=this.obtainLanguageSelector();a.appendChild(l,p);var d=document.createElement("button");d.classList.add("cc-pc-head-close"),d.innerHTML="✕",d.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_preferencesCenterClosePressed)})),a.appendChild(o,r),a.appendChild(o,l),!1===e.cookieConsent.ownerPreferencesCenterCloseButtonHide&&a.appendChild(l,d,"afterbegin");var u=document.createElement("div");u.classList.add("cc-cp-body");var m=this.getMenuContainer(),_=this.getContentContainer();a.appendChild(u,m),a.appendChild(u,_);var k=this.getFooterContainer();return a.appendChild(n,o),a.appendChild(n,u),a.appendChild(n,k),a.appendChild(i,n),a.appendChild(t,i),t},e.prototype.obtainLanguageSelector=function(){var e=this,t=document.createElement("select");return t.classList.add("cc-pc-head-lang-select"),[].forEach.call(e.cookieConsent.i18n.availableLanguages,(function(i){var n=document.createElement("option");n.text=i.title,n.value=i.value,e.cookieConsent.i18n.userLang===n.value&&n.setAttribute("selected","selected"),t.add(n)})),t.addEventListener("change",(function(){e.cookieConsent.i18n.userLang=t.value,e.cookieConsent.cookieLevels.languageChanged(),e.refreshPreferencesCenter(),document.dispatchEvent(e.cookieConsent.events.cc_userLanguageChanged)})),t},e.prototype.getContentContainer=function(){var e=this,t=document.createElement("div");t.classList.add("cc-cp-body-content");var i=0;return e.cookieConsent.cookieLevels.preferenceItems.forEach((function(n){var o=document.createElement("div");if(o.classList.add("cc-cp-body-content-entry"),o.setAttribute("id",n.content_container),o.setAttribute("role","tabpanel"),o.setAttribute("aria-labelledby",n.title_container),o.setAttribute("hidden",""),o.setAttribute("tabindex","0"),o.setAttribute("content_layout",n.content_container),o.setAttribute("active","false"),o.innerHTML=n.content,0===i&&(o.setAttribute("active","true"),o.removeAttribute("hidden")),i++,n.id){var r=e._getLevelCheckbox(n);a.appendChild(o,r)}a.appendChild(t,o)})),t},e.prototype.getMenuContainer=function(){var e=this,t=document.createElement("ul");t.classList.add("cc-cp-body-tabs"),t.setAttribute("role","tablist"),t.setAttribute("aria-label","Menu");var i=0;return e.cookieConsent.cookieLevels.preferenceItems.forEach((function(n){var o=document.createElement("li");o.classList.add("cc-cp-body-tabs-item");var r=document.createElement("button");r.classList.add("cc-cp-body-tabs-item-link"),r.setAttribute("id",n.title_container),r.setAttribute("role","tab"),r.setAttribute("aria-selected","false"),r.setAttribute("aria-controls",n.content_container),r.setAttribute("tabindex","-1"),r.setAttribute("t",n.content_container),r.innerHTML=n.title,0===i&&(o.setAttribute("active","true"),r.setAttribute("aria-selected","true"),r.setAttribute("tabindex","0")),i++,r.addEventListener("click",(function(t){t.preventDefault(),e.cookieConsent.log("Preferences Center tab item clicked: "+n.title,"info");var i=document.querySelectorAll('li[active="true"]');[].forEach.call(i,(function(e){e.setAttribute("active","false"),e.firstElementChild.setAttribute("aria-selected","false"),e.firstElementChild.setAttribute("tabindex","-1")})),o.setAttribute("active","true"),o.firstElementChild.setAttribute("aria-selected","true"),o.firstElementChild.setAttribute("tabindex","0");try{var a=document.querySelectorAll("div[content_layout]");[].forEach.call(a,(function(e){e.setAttribute("active","false"),e.setAttribute("hidden","")}));var r=document.querySelector('div[content_layout="'+n.content_container+'"]');r.setAttribute("active","true"),r.removeAttribute("hidden")}catch(t){}}));var s=0,c=document.getElementsByClassName("cc-cp-body-tabs-item-link");t.addEventListener("keydown",(function(e){"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"ArrowLeft"!==e.key&&"ArrowRight"!==e.key||(c[s].setAttribute("tabindex","-1"),"ArrowDown"===e.key||"ArrowRight"===e.key?++s>=c.length&&(s=0):"ArrowUp"!==e.key&&"ArrowLeft"!==e.key||--s<0&&(s=c.length-1),c[s].setAttribute("tabindex","0"),c[s].focus())})),a.appendChild(o,r),a.appendChild(t,o)})),t},e.prototype.getFooterContainer=function(){var e=this,t=document.createElement("div");t.classList.add("cc-cp-foot");var i=document.createElement("div");i.classList.add("cc-cp-foot-byline"),i.innerHTML=a.magicTransform("Q29va2llIENvbnNlbnQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVybXNmZWVkLmNvbS9jb29raWUtY29uc2VudC8iIHRhcmdldD0iX2JsYW5rIj5UZXJtc0ZlZWQ8L2E+");var n=document.createElement("div");n.classList.add("cc-cp-foot-button");var o=document.createElement("button");return o.classList.add("cc-cp-foot-save"),o.innerHTML=e.cookieConsent.i18n.$t("i18n","pc_save"),o.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_preferencesCenterSavePressed)})),a.appendChild(n,o),a.appendChild(t,i),a.appendChild(t,n),t},e.prototype._getLevelCheckbox=function(e){var t=this,i=document.createElement("div");if(i.classList.add("cc-custom-checkbox"),"strictly-necessary"!==e.id){var n=t.cookieConsent.userConsent.acceptedLevels,o=document.createElement("input");o.setAttribute("cookie_consent_toggler","true"),o.setAttribute("type","checkbox"),o.setAttribute("class","cc-custom-checkbox"),o.setAttribute("id",e.id),o.setAttribute("name",e.id),o.setAttribute("aria-labelledby",e.id+"_label"),(r=document.createElement("label")).setAttribute("for",e.id),r.setAttribute("id",e.id+"_label"),n[e.id]?(o.setAttribute("checked","checked"),o.setAttribute("aria-checked","true"),r.setAttribute("class","is-active"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","active")):(o.setAttribute("aria-checked","false"),r.setAttribute("class","is-inactive"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","inactive")),o.addEventListener("change",(function(){var i=o.checked,n=e.id,a=document.querySelector('label[for="'+n+'"]');t.cookieConsent.log("User changed cookie level ["+n+"], new status: "+i,"info"),document.dispatchEvent(t.cookieConsent.events.cc_userChangedConsent),!0===i?(t.cookieConsent.userConsent.acceptLevel(n),a.innerHTML=t.cookieConsent.i18n.$t("i18n","active")):(t.cookieConsent.userConsent.rejectLevel(n),a.innerHTML=t.cookieConsent.i18n.$t("i18n","inactive"))})),o.addEventListener("keypress",(function(e){if(" "===e.key||"Spacebar"===e.key)switch(o.getAttribute("aria-checked")){case"true":o.setAttribute("aria-checked","false");break;case"false":o.setAttribute("aria-checked","true")}})),a.appendChild(i,o),a.appendChild(i,r)}else{var r,s=document.createElement("input");s.setAttribute("cookie_consent_toggler","true"),s.setAttribute("type","checkbox"),s.setAttribute("checked","checked"),s.setAttribute("aria-checked","true"),s.setAttribute("disabled","disabled"),s.setAttribute("class","cc-custom-checkbox"),s.setAttribute("id",e.id),s.setAttribute("name",e.id),s.setAttribute("aria-labelledby",e.id+"_label"),s.setAttribute("tabindex","0"),(r=document.createElement("label")).setAttribute("for",e.id),r.setAttribute("id",e.id+"_label"),r.innerHTML=t.cookieConsent.i18n.$t("i18n","always_active"),a.appendChild(i,s),a.appendChild(i,r)}return i},e}(),Y=function(){function e(e){this.noticeBanner=null,this.noticeBannerOverlay=null,this.noticeBannerExtraCss=[],this.cookieConsent=e,this.noticeBannerExtraCss.push(e.colorPalette.getClass())}return e.prototype.initNoticeBanner=function(){var e,t;if(null===this.noticeBanner&&(this.noticeBanner=this.createNoticeBanner()),t="afterbegin"===this.cookieConsent.ownerNoticeBannerAppendContentPosition||"beforeend"===this.cookieConsent.ownerNoticeBannerAppendContentPosition?this.cookieConsent.ownerNoticeBannerAppendContentPosition:"afterbegin",a.appendChild("body",this.noticeBanner,t),this.cookieConsent.log("Notice Banner shown "+t,"info"),document.dispatchEvent(this.cookieConsent.events.cc_noticeBannerShown),"interstitial"===this.cookieConsent.ownerNoticeBannerType||"standalone"===this.cookieConsent.ownerNoticeBannerType){var i=document.querySelector("#termsfeed-com---nb"),n=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')[0],o=i.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=o[o.length-1];document.addEventListener("keydown",(function(e){var t,i;("Tab"===e.key||9===e.keyCode)&&(e.shiftKey?document.activeElement===n&&(null===(t=r)||void 0===t||t.focus(),e.preventDefault()):document.activeElement===r&&(null===(i=n)||void 0===i||i.focus(),e.preventDefault()))})),null===(e=n)||void 0===e||e.focus()}return!0},e.prototype.hideNoticeBanner=function(){try{this.noticeBanner.classList.add("termsfeed-com---is-hidden"),this.cookieConsent.log("Notice Banner hidden","info")}catch(e){}},e.prototype.createNoticeBanner=function(){var e,t,i=document.createElement("div");if(i.classList.add("termsfeed-com---reset"),i.classList.add("termsfeed-com---nb"),i.setAttribute("id","termsfeed-com---nb"),i.setAttribute("role","dialog"),i.setAttribute("aria-modal","true"),i.setAttribute("aria-labelledby","cc-nb-title"),i.setAttribute("aria-describedby","cc-nb-text"),this.noticeBannerExtraCss.length)try{for(var n=R(this.noticeBannerExtraCss),o=n.next();!o.done;o=n.next()){var r=o.value;i.classList.add(r)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}if(i.classList.add("termsfeed-com---lang-"+this.cookieConsent.i18n.userLang),a.appendChild(i,this.createNoticeBannerContent()),"interstitial"===this.cookieConsent.ownerNoticeBannerType){var s=document.createElement("div");return s.classList.add("termsfeed-com---nb-interstitial-overlay"),a.appendChild(s,i),s}return i},e.prototype.createNoticeBannerContent=function(){var e=this,t=document.createElement("div");t.classList.add("cc-nb-main-container");var i=document.createElement("div");i.classList.add("cc-nb-title-container");var n=document.createElement("p");n.classList.add("cc-nb-title"),n.setAttribute("id","cc-nb-title"),n.innerText=e.cookieConsent.i18n.$t("i18n","nb_title"),a.appendChild(i,n);var o=document.createElement("div");o.classList.add("cc-nb-text-container");var r=document.createElement("p");r.classList.add("cc-nb-text"),r.setAttribute("id","cc-nb-text"),r.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_text");var s=document.createElement("span");s.classList.add("cc-nb-text-urls"),s.innerHTML=" ";var c=document.createElement("span");c.classList.add("cc-nb-text-urls-privacy"),c.setAttribute("role","link");var l=document.createElement("span");l.classList.add("cc-nb-text-urls-impressum"),l.setAttribute("role","link");var p=document.createElement("span");p.classList.add("cc-nb-text-urls-separator"),p.innerHTML=" | ",e.cookieConsent.noticeBannerInsertLegalUrls&&(e.cookieConsent.ownerWebsitePrivacyPolicyUrl&&e.cookieConsent.ownerWebsiteImpressumUrl?a.isValidUrl(e.cookieConsent.ownerWebsitePrivacyPolicyUrl)&&a.isValidUrl(e.cookieConsent.ownerWebsiteImpressumUrl)&&(c.innerHTML=e.cookieConsent.i18n.$t("i18n","privacy_policy",e.cookieConsent.ownerWebsitePrivacyPolicyUrl),l.innerHTML=e.cookieConsent.i18n.$t("i18n","impressum",e.cookieConsent.ownerWebsiteImpressumUrl),a.appendChild(s,c),a.appendChild(c,p),a.appendChild(s,l)):e.cookieConsent.ownerWebsitePrivacyPolicyUrl&&a.isValidUrl(e.cookieConsent.ownerWebsitePrivacyPolicyUrl)?(c.innerHTML=e.cookieConsent.i18n.$t("i18n","privacy_policy",e.cookieConsent.ownerWebsitePrivacyPolicyUrl),a.appendChild(s,c)):e.cookieConsent.ownerWebsiteImpressumUrl&&a.isValidUrl(e.cookieConsent.ownerWebsiteImpressumUrl)&&(l.innerHTML=e.cookieConsent.i18n.$t("i18n","impressum",e.cookieConsent.ownerWebsiteImpressumUrl),a.appendChild(s,l)),a.appendChild(r,s)),a.appendChild(o,r);var d=document.createElement("div");d.classList.add("cc-nb-buttons-container");var u=document.createElement("button");u.classList.add("cc-nb-okagree"),u.setAttribute("role","button"),"express"==e.cookieConsent.ownerConsentType?u.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_agree"):u.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_ok"),u.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerOkOrAgreePressed)})),a.appendChild(d,u);var m=document.createElement("button");m.classList.add("cc-nb-reject"),m.setAttribute("role","button"),m.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_reject"),m.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerRejectPressed)})),"express"==e.cookieConsent.ownerConsentType&&!1===e.cookieConsent.ownerNoticeBannerRejectButtonHide&&a.appendChild(d,m);var _=document.createElement("button");return _.classList.add("cc-nb-changep"),_.setAttribute("role","button"),_.innerHTML=e.cookieConsent.i18n.$t("i18n","nb_changep"),_.addEventListener("click",(function(){document.dispatchEvent(e.cookieConsent.events.cc_noticeBannerChangePreferencesPressed)})),a.appendChild(d,_),a.appendChild(t,i),a.appendChild(t,o),a.appendChild(t,d),t},e}(),Q=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-simple"),i}return J(t,e),t}(Y),X=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-headline"),i}return J(t,e),t}(Y),ee=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-interstitial"),i}return J(t,e),t}(Y),te=function(e){function t(t){var i=e.call(this,t)||this;return i.noticeBannerExtraCss.push("termsfeed-com---nb-standalone"),i}return J(t,e),t}(Y),ie=function(){function e(e){e.log("ConsentType main class initialized","info")}return e.prototype.loadInitialCookiesForNewUser=function(){},e}(),ne=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.loadInitialCookiesForNewUser=function(){this.cookieConsent.log("consentImplied loadInitialCookiesForNewUser triggered","info");var e=!1,t=!1,i=!1;if(null!==this.cookieConsent.ownerPageLoadConsentLevels)for(var n in this.cookieConsent.ownerPageLoadConsentLevels){var o=this.cookieConsent.ownerPageLoadConsentLevels[n];"functionality"==o&&(e=!0),"tracking"==o&&(t=!0),"targeting"==o&&(i=!0)}else e=!0,t=!0,i=!0;this.cookieConsent.javascriptItems.enableScriptsByLevel("strictly-necessary"),e?(this.cookieConsent.userConsent.acceptLevel("functionality"),this.cookieConsent.javascriptItems.enableScriptsByLevel("functionality")):this.cookieConsent.userConsent.rejectLevel("functionality"),t?(this.cookieConsent.userConsent.acceptLevel("tracking"),this.cookieConsent.javascriptItems.enableScriptsByLevel("tracking")):this.cookieConsent.userConsent.rejectLevel("tracking"),i?(this.cookieConsent.userConsent.acceptLevel("targeting"),this.cookieConsent.javascriptItems.enableScriptsByLevel("targeting")):this.cookieConsent.userConsent.rejectLevel("targeting"),this.cookieConsent.log("consentImplied loadInitialCookiesForNewUser: strictly-necessary (true), functionality ("+e+"), tracking ("+t+"), targeting ("+i+")","info")},t}(ie),oe=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.loadInitialCookiesForNewUser=function(){this.cookieConsent.log("consentExpress loadInitialCookiesForNewUser triggered","info");var e=!1,t=!1,i=!1;if(null!==this.cookieConsent.ownerPageLoadConsentLevels)for(var n in this.cookieConsent.ownerPageLoadConsentLevels){var o=this.cookieConsent.ownerPageLoadConsentLevels[n];"functionality"==o&&(e=!0),"tracking"==o&&(t=!0),"targeting"==o&&(i=!0)}else e=!1,t=!1,i=!1;this.cookieConsent.javascriptItems.enableScriptsByLevel("strictly-necessary"),e?(this.cookieConsent.userConsent.acceptLevel("functionality"),this.cookieConsent.javascriptItems.enableScriptsByLevel("functionality")):this.cookieConsent.userConsent.rejectLevel("functionality"),t?(this.cookieConsent.userConsent.acceptLevel("tracking"),this.cookieConsent.javascriptItems.enableScriptsByLevel("tracking")):this.cookieConsent.userConsent.rejectLevel("tracking"),i?(this.cookieConsent.userConsent.acceptLevel("targeting"),this.cookieConsent.javascriptItems.enableScriptsByLevel("targeting")):this.cookieConsent.userConsent.rejectLevel("targeting"),this.cookieConsent.log("consentExpress loadInitialCookiesForNewUser: strictly-necessary (true), functionality ("+e+"), tracking ("+t+"), targeting ("+i+")","info")},t}(ie),ae=function(){function e(e){this.cookieConsent=e}return e.prototype.getClass=function(){return"termsfeed-com---palette-light"},e}(),re=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.getClass=function(){return"termsfeed-com---palette-dark"},t}(ae),se=function(e){function t(t){var i=e.call(this,t)||this;return i.cookieConsent=t,i}return J(t,e),t.prototype.getClass=function(){return"termsfeed-com---palette-light"},t}(ae),ce=function(){function e(e){this.USER_TOKEN_COOKIE_NAME="cookie_consent_user_consent_token",this.cookieConsent=e,this.initUserConsentToken()}return e.prototype.initUserConsentToken=function(){var e=F("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t=F("abcdefghijklmnopqrstuvwxyz"),i=F("0123456789"),n=F(e,i,t);this.cookieConsent.userConsentToken=a.getCookie(this.USER_TOKEN_COOKIE_NAME)||this.cookieConsent.configUserConsentToken||function(e,t){return F(Array(t)).map((function(t){return e[Math.random()*e.length|0]})).join("")}(n,12),a.setCookie(this.USER_TOKEN_COOKIE_NAME,this.cookieConsent.userConsentToken,this.cookieConsent.ownerDomain,this.cookieConsent.cookieSecure,3650)},e}(),le=function(){function e(e){switch(this.configUserConsentToken=void 0,this.userConsentToken=void 0,this.debug=!1,this.ownerConsentType=e.consent_type||"express",this.ownerWebsiteName=e.website_name||"",this.ownerWebsitePrivacyPolicyUrl=e.website_privacy_policy_url||null,this.ownerColorPalette=e.palette||"light",this.ownerSiteLanguage=e.language||"en",this.ownerDomain=e.cookie_domain||"",this.ownerWebsiteImpressumUrl=e.website_impressum_url||null,this.noticeBannerInsertLegalUrls=e.notice_banner_insert_legal_urls||!1,this.cookieSecure=e.cookie_secure||!1,this.ownerPageLoadConsentLevels=e.page_load_consent_levels||null,this.ownerNoticeBannerType=e.notice_banner_type||"headline",this.ownerNoticeBannerRejectButtonHide=e.notice_banner_reject_button_hide||!1,this.ownerNoticeBannerAppendContentPosition=e.notice_banner_append||"afterbegin",this.ownerOpenPreferencesCenterSelector=e.open_preferences_center_selector||"#open_preferences_center",this.ownerPreferencesCenterCloseButtonHide=e.preferences_center_close_button_hide||!1,this.pageRefreshConfirmationButtons=e.page_refresh_confirmation_buttons||!1,this.configUserConsentToken=e.user_consent_token||null,this.isDemo="true"==e.demo,this.debug="true"==e.debug,this.ownerConsentType){default:case"express":this.consentType=new oe(this);break;case"implied":this.consentType=new ne(this),this.userConsentTokenClass=new ce(this)}switch(this.ownerColorPalette){default:case"dark":this.colorPalette=new re(this);break;case"light":this.colorPalette=new se(this)}switch(this.ownerNoticeBannerType){default:case"simple":this.noticeBannerContainer=new Q(this);break;case"headline":this.noticeBannerContainer=new X(this);break;case"interstitial":this.noticeBannerContainer=new ee(this);break;case"standalone":this.noticeBannerContainer=new te(this)}this.events=new K,this.eventsListeners=new H(this),this.i18n=new D(this),this.cookieLevels=new G(this),this.userConsent=new V(this),this.javascriptItems=new $(this),this.preferencesCenterContainer=new Z(this),null!==this.ownerOpenPreferencesCenterSelector&&this.preferencesCenterContainer.listenToUserButtonToOpenPreferences(this.ownerOpenPreferencesCenterSelector),!0===this.userConsent.userAccepted?(this.userConsent.loadAcceptedCookies(),!0===this.isDemo&&this.noticeBannerContainer.initNoticeBanner()):(this.noticeBannerContainer.initNoticeBanner(),this.consentType.loadInitialCookiesForNewUser())}return e.prototype.log=function(e,t,i){void 0===i&&(i="log"),!0===this.debug&&("log"===i||"table"===i)&&console.log("["+t+"]",e)},e.prototype.openPreferencesCenter=function(){this.preferencesCenterContainer.showPreferencesCenter()},e}(),pe=function(e){return o=new le(e),window.cookieconsent.openPreferencesCenter=function(){o.openPreferencesCenter()},o}}]); \ No newline at end of file diff --git a/content/blog/emoji_geomorphometry.quarto_ipynb b/content/blog/emoji_geomorphometry.quarto_ipynb index 4cee4ec..b2f3e2d 100644 --- a/content/blog/emoji_geomorphometry.quarto_ipynb +++ b/content/blog/emoji_geomorphometry.quarto_ipynb @@ -109,7 +109,7 @@ "\n", "**Note:** These emojis are used for illustrative purposes in rendered image overlays or legends and may not be rendered in GRASS GUI." ], - "id": "7d81051f" + "id": "e744bfed" } ], "metadata": { diff --git a/content/notebooks/actinia/basics_actinia.quarto_ipynb b/content/notebooks/actinia/basics_actinia.quarto_ipynb deleted file mode 100644 index 295f8d4..0000000 --- a/content/notebooks/actinia/basics_actinia.quarto_ipynb +++ /dev/null @@ -1,510 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "title: Introduction to Actinia\n", - "description: Learn how to use actinia to create a cloud-based processing environment for GRASS.\n", - "format:\n", - " html:\n", - " toc: true\n", - " code-tools: true\n", - " code-copy: true\n", - " code-fold: false\n", - " other-links:\n", - " - text: actinia\n", - " href: https://github.com/actinia-org\n", - " - text: grass\n", - " href: https://grass.osgeo.org\n", - " code-links:\n", - " - text: Docker Container\n", - " icon: file-code\n", - " href: https://github.com/OpenPlainsInc/foss4gna-2024-workshop\n", - " - text: OpenPlainsInc/actinia_openapi_python_client\n", - " icon: file-code\n", - " href: https://github.com/OpenPlainsInc/actinia_openapi_python_client\n", - "author:\n", - " - Corey T. White\n", - "date: May 6, 2025\n", - "keep-ipynb: true\n", - "toc: true\n", - "toc-depth: 4\n", - "image: ../../images/logos/actinia/actinia_logo.svg\n", - "categories:\n", - " - geospatial\n", - " - actinia\n", - " - GRASS v8.5\n", - " - jupyter\n", - " - lidar\n", - " - STAC\n", - "page-layout: full\n", - "title-block-banner: true\n", - "jupyter: python3\n", - "filters:\n", - " - include-code-files\n", - "draft: true\n", - "---\n" - ], - "id": "64ce69cd" - }, - { - "cell_type": "code", - "metadata": {}, - "source": [ - "#| echo: false\n", - "!figlet \"actinia 101\"" - ], - "id": "1ddfa56f", - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## A REST API for GRASS GIS\n", - "\n", - "| Property | +Value | +
|---|---|
| ${k} | +${renderValue(v, k)} | +