diff --git a/.babelrc b/.babelrc index f4907c3..7e2dd4e 100644 --- a/.babelrc +++ b/.babelrc @@ -2,7 +2,7 @@ "env": { "production": { "presets": [ - ["env", { + ["@babel/preset-react", { "targets": { "browsers": ["Firefox >= 48", "Chrome >= 50", "ie >= 9"] } @@ -11,7 +11,7 @@ }, "development": { "presets": [ - ["env", { + ["@babel/preset-react", { "targets": { "browsers": ["last 1 Chrome version", "last 1 Firefox version"] } @@ -20,15 +20,13 @@ }, "test": { "presets": [ - [ - "env", - { - "targets": { - "node": "current" - } - } - ] + "@babel/preset-react", + ["@babel/preset-env", { + "targets": { + "node": "current" + } + }] ] } } -} \ No newline at end of file +} diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6c27c4f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,16 @@ +# ignore hidden files +.* +# except .babelrc, needed to build bundles-*.js by webpack +!.babelrc + +*.egg-info +**/__pycache__ +Dockerfile +Jenkinsfile +Makefile +tox.ini +deploy +data +test +debian +node_modules \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d900ed..9ca916f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,99 +1,15 @@ -image: python:latest - -stages: - - deps - - lint - - test - - qa - -cache: - paths: - - node_modules/ - -# see test/pgfixtures.py that needs these variables -variables: - POSTGRES_HOST: localhost - POSTGRES_PORT: 5432 - POSTGRES_USER: siaftest - POSTGRES_PASSWORD: siaftest - -flake8: - stage: lint - before_script: - - pip install tox - script: tox -e flake8 - allow_failure: true -black: - stage: lint - before_script: - - pip install tox - script: tox -e black - allow_failure: true -dodgy: - stage: lint - before_script: - - pip install tox - script: tox -e dodgy - allow_failure: true -check-manifest: - stage: lint - before_script: - - pip install tox - script: tox -e check-manifest - allow_failure: true - -py3: - stage: test - image: python - before_script: - # TODO - move this to an image - - apt update && apt -y install ruby-sass python3-dev npm poppler-utils - - pip install tox - services: - - name: dvainrub/postgres-plpython - - name: docker.elastic.co/elasticsearch/elasticsearch-oss:7.6.1 - alias: elasticsearch - command: ['bin/elasticsearch', '-Ediscovery.type=single-node'] - script: - - tox -e py37-gitlab-ci - -sonarqube: - stage: qa - image: newtmitch/sonar-scanner - only: - - branch/default - script: - - apt install -y python-setuptools - - sonar-scanner - --define sonar.scm.revision=${CI_COMMIT_REF_NAME##*/} - --define sonar.projectBaseDir=. - --define sonar.projectVersion=`python setup.py --version` - --define sonar.scm.provider=hg - --define sonar.host.url=${SONAR_URL} - -js-deps: - stage: deps - image: node:latest - script: - - npm install - artifacts: - paths: - - node_modules/ - -js-format: - stage: lint - image: node:latest - script: - - npm run format - -js-lint: - stage: lint - image: node:latest - script: - - npm run lint - -js-build: - stage: test - image: node:latest - script: - - npm run build +include: + - project: francearchives/infra + file: gitlab-ci/gitlab-ci.yml + - project: francearchives/infra + file: gitlab-ci/gitlab-ci-consultation.yml + +trigger-cms: + stage: livraisoncontinue + only: + - branch/integration + trigger: + project: francearchives/cubicweb-frarchives-edition + branch: branch/integration + strategy: depend + allow_failure: true diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000..68d6348 --- /dev/null +++ b/.yamllint @@ -0,0 +1,7 @@ +extends: default + +rules: + # 80 chars should be enough, but don't fail if a line is longer + line-length: + max: 100 + level: warning diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c2602b8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,44 @@ +FROM python:3.9-alpine AS temp +RUN apk --no-cache add npm +RUN npm install -g sass +COPY . . + +RUN npm ci +ENV NODE_ENV="production" +RUN npm run build +RUN sass scss/main.scss:cubicweb_francearchives/data/css/francearchives.bundle.css +RUN python setup.py sdist + +FROM logilab/cubicweb-base:bullseye-1.0@sha256:39e0c229d6fff2a96f17451587dd93022bfead40763267448ad17d53383ad671 +USER root +RUN apt update && apt -y --no-install-recommends install \ + screen \ + curl \ + poppler-utils \ + procps \ + wget \ + gnupg \ + && rm -rf /var/lib/apt/lists/* +# XXX restart worker after a number of requests (prevent memory leak) +# TODO remove when https://forge.extranet.logilab.fr/cubicweb/docker-cubicweb/-/issues/8 is fixed +RUN echo "max-requests = 128000" >> /etc/uwsgi/uwsgi.ini +# enable stats socket used by uwsgi prometheus exporter +RUN echo "memory-report = true" >> /etc/uwsgi/uwsgi.ini +RUN echo "stats = 127.0.0.1:8001" >> /etc/uwsgi/uwsgi.ini +USER cubicweb +COPY --from=temp dist/cubicweb-francearchives-*.tar.gz . +COPY ./requirements.txt /requirements.txt +RUN pip install --no-cache-dir -r /requirements.txt +RUN pip install cubicweb-francearchives-*.tar.gz +RUN pip install pyramid-session-redis +ENV CUBE=francearchives +ENV CW_DB_NAME=${CUBE} +RUN docker-cubicweb-helper create-instance +USER root +RUN rm /requirements.txt +RUN echo "deb http://apt.postgresql.org/pub/repos/apt bullseye-pgdg main" > /etc/apt/sources.list.d/pgdg.list +RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - +RUN apt-get update +RUN apt-get remove -y postgresql-client +RUN apt-get install -y postgresql-client-12 +USER cubicweb diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 4fe5f09..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,34 +0,0 @@ -#!groovy -node('debian_stretch') { - stage('Setup') { - if (env.DESCRIPTION) { - currentBuild.description = env.DESCRIPTION - } - checkout scm - if (env.DIFF_ID) { - sh('hg phabread --stack ' + env.DIFF_ID + ' | hg import -') - } - sh('sudo apt-get install -y poppler-utils') - } - stage('Lint') { - parallel ( - 'flake8': { - sh 'tox -e flake8' - }, - 'dodgy': { - sh 'tox -e dodgy' - }, - 'check-manifest': { - sh 'tox -e check-manifest' - } - ) - } - stage('Test') { - timeout(time: 1, unit: 'HOURS') { - withEnv(["PATH+POSTGRESQL=/usr/lib/postgresql/9.6/bin", - "FRARCHIVES_NO_BUILD_DATA_FILES=1"]) { - sh 'tox -e py3' - } - } - } -} diff --git a/MANIFEST.in b/MANIFEST.in index a14c263..0d97a84 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,5 @@ -recursive-include cubicweb_francearchives *.py *.css *.js *.jinja2 *.jpg *.json *.csv *.ttf *.otf *.eot *.svg *.xsl *.xslt *.html *.png *.woff *.woff2 *.xml *.yaml *.txt *.ico .editorconfig .jshintrc *.po *.pot *.scss *.md -recursive-include doc *.html *.rst *.yaml +recursive-include cubicweb_francearchives *.py *.css *.js *.jinja2 *.jpg *.json *.csv *.ttf *.otf *.eot *.svg *.xsl *.xslt *.html *.png *.woff *.woff2 *.xml *.yaml *.txt *.ico .editorconfig .jshintrc *.po *.pot *.scss *.md *.sql +recursive-include doc *.html *.rst *.yaml *.example recursive-include a11y *.js *.json recursive-include appjs *.js include pyproject.toml @@ -10,7 +10,7 @@ include LICENCE.txt Licence_CeCILL-C_V1-en.txt include francearchives_screenshot.jpg include *.js include pa11y.json -recursive-include test *.py bootstrap_cubes *.XML *.csv *.jpg *.pdf *.png *.rdf *.rst *.txt *.xml *.xsd ccsv +recursive-include test *.py bootstrap_cubes *.XML *.csv *.jpg *.pdf *.png *.rdf *.rst *.txt *.xml *.xsd ccsv *.json *.ttl # build from sass include cubicweb_francearchives/data/css/francearchives.bundle.css include cubicweb_francearchives/data/css/francearchives.bundle.css.map @@ -20,6 +20,7 @@ include cubicweb_francearchives/data/bundle-pnialocation-map.js include cubicweb_francearchives/data/bundle-pnia-toc.js include cubicweb_francearchives/data/bundle-pnia-faq.js include cubicweb_francearchives/data/bundle-glossary.js +include cubicweb_francearchives/data/*.geojson prune scss prune debian exclude gitfilter @@ -30,5 +31,12 @@ exclude .prettierrc exclude .gitlab-ci.yml exclude .style.yapf exclude dev-requirements.txt +exclude requirements.txt exclude tox.ini +exclude .yamllint exclude Makefile +exclude Makefile.docker +exclude Dockerfile +prune deploy +exclude deploy.sh +exclude env.example diff --git a/Makefile.docker b/Makefile.docker new file mode 100644 index 0000000..84b7b7a --- /dev/null +++ b/Makefile.docker @@ -0,0 +1,16 @@ +version = $(shell hg log -r . -T "{sub(':.*', '', '{latesttag}')}{sub('^-0-.*', '', '-{latesttagdistance}-hg{shortest(node, 7)}')}\n") +tag-version = $(REGISTRY):$(version) +tag-latest = $(REGISTRY):latest + +all: build + +build: + docker build --pull -t $(tag-version) . + +build-nocache: + docker build --pull --no-cache -t $(tag-version) . + +push: + docker push $(tag-version) + docker tag $(tag-version) $(tag-latest) + docker push $(tag-latest) diff --git a/README.rst b/README.rst index 7c0aeee..702514d 100644 --- a/README.rst +++ b/README.rst @@ -8,100 +8,362 @@ Ce cube utilise le framework CubicWeb https://www.cubicweb.org/ Les dépendances sont décrites dans le packaging python (`__pkginfo__.py`) et javascript (`package.json`). -Copie d'écran -------------- - -.. image:: francearchives_screenshot.jpg Licence ------- -cubicweb-francearchives is released under the terms of the CeCiLL v2 license. +cubicweb-francearchives est publié sous les termes de la licence CeCiLL v2. La licence complète peut être trouvée dans ce dépot `LICENCE.txt` et https://cecill.info/licences/Licence_CeCILL_V2.1-fr.html -Black ------ +Description du projet FranceArchives +------------------------------------ -Pour lancer **black** :: +Le projet FranceArchives repose sur 2 cubes: - black --config pyproject.toml . +- cubicweb-francearchives, le cube de consultation. -Ajouter **black** dans les hooks **hg** :: +- cubicweb-frarchives-edition, le cube d'édition (CMS), il dépend du cube de + consultation et contient les mécanismes propres à la partie gestion de données + de l'application FranceArchives. -créer le script `path_hook` (exemple de code) :: +De la même manière, deux instances sont déployées en production : - #!/bin/sh - for fpath in $(hg status --no-status --modified --added | grep ".py$") ; do - black ${fpath} - done +- instance de consultation, une instance de cubicweb-francearchives, qui permet + toutes les fonctionnalités de recherche, consultation des ressources publiées, + etc. sur le site FranceArchives. -et appeler le ̀.hg\hgrc` du projet :: +- instance d'édition, une instance de cubicweb-frarchives-edition, qui permet + d'éditer, d'importer des données, de rechercher et visualiser toutes les + ressources de la base de données (publiées ou non). - [hooks] - precommit = path_to_hook - pre-amend = path_to_hook +Lors du développement sur FranceArchives, il est utile d'avoir les 2 instances +en parallèle pour vérifier que les développements faits sur un des deux cubes +fonctionnent comme souhaité sur les deux instances. +Dans cette documentation, nous présentons la manière d'installer tout d'abord +l'instance d'édition puis l'instance de consultation. -il est possible d'intégrer la config utilisée pour le projet :: +Installation de l'environnement de développement du projet FranceArchives +========================================================================= - #!/bin/sh - for fpath in $(hg status --no-status --modified --added | grep ".py$") ; do - black --config $1 ${fpath} - done +Mise en place de l'environnement (virtualenv) +--------------------------------------------- +On suppose qu'on travaille dans un répertoire principal . -et appeler le ̀.hg\hgrc` du projet :: - [hooks] - precommit = path_to_hook pyproject.toml - pre-amend = path_to_hook pyproject.toml +On installe le ou les cubes sur lesquels on va développer (c'est-à-dire, *pas +ceux qui sont juste des dépendances*, comme le cube file dans notre cas). + +:: + + [monprojet]$ hg clone https://forge.extranet.logilab.fr/francearchives/cubicweb-francearchives + [monprojet]$ hg clone https://forge.extranet.logilab.fr/francearchives/cubicweb-frarchives-edition + +Création d'un virtualenv (ou ``mkvirtualenv fa-venv`` avec le paquet `virtualenvwrapper`) + +:: + + [monprojet]$ virtualenv --system-site-packages fa-venv + [monprojet]$ .fa-venv/bin/activate + + +Installation des dépendances : + +:: + + (fa-venv)[monprojet]$ cd cubicweb-francearchives + (fa-venv)[cubicweb-francearchives]$ pip install -e . + (fa-venv)[cubicweb-francearchives]$ pip install -r dev-requirements.txt + (fa-venv)[monprojet]$ cd ../cubicweb-frarchives-edition + (fa-venv)[cubicweb-frarchives-edition]$ pip install -e . + (fa-venv)[cubicweb-frarchives-edition]$ pip install -r dev-requirements.txt + +Pour avoir les mêmes versions des dépendances que l'instance en production, il +est aussi possible de faire un `pip install -r requirements.txt` dans les 2 dossiers. + +Installation de redis +--------------------- + +L'instance va nécessiter un serveur redis sur votre ordinateur : + +:: + + $ sudo apt-get install redis-server + $ system-ctl start redis + + +Utiliser S3Storage en local +--------------------------- + +Installer minio https://min.io/download#/linux + +Créer le bucket pour francearchives :: + + $ mkdir -p /minio/${AWS_S3_BUCKET_NAME} + +Ajouter les variables d'environnement pour le cube : pour plus de praticité, +les lignes suivantes peuvent être ajoutées au fichier bin/activate de votre +virtualenv (.fa-venv/bin/activate) :: + + $ export AWS_S3_ENDPOINT_URL=http://127.0.0.1:9000 + $ export AWS_ACCESS_KEY_ID= + $ export AWS_SECRET_ACCESS_KEY= + $ export AWS_S3_BUCKET_NAME= + + +Lancer le serveur minio :: + + $ export MINIO_ROOT_USER= + $ export MINIO_ROOT_PASSWORD= + $ minio server /minio + +Vous pouvez accéder à minio sur http://127.0.0.1:9000/minio/login + +Installer ElasticSearch +----------------------- + +Pour fonctionner, votre instance aura besoin d'un serveur elasticsearch sur votre +machine. Il peut être lancé depuis une installation locale +(voir https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html) +ou via une image docker. +Initialisation d'une instance CMS +--------------------------------- + +Nous allons créer une instance du cube frarchives_edition *avec un utilisateur +anonyme*. Donc, activer le virtualenv, puis : + +:: + + (fa-venv)$ cubicweb-ctl create frarchives_edition atelier + +Attention à porter sur la configuration de l'instance lorsque la commande précédente +est lancée. + +Mot de passe admin +~~~~~~~~~~~~~~~~~~ + +Lors de la création de la base, il y une vérification de la sécurité du mot de +passe admin. +Il doit contenir au moins 12 caractères et être composé de majuscules, minuscules, +chiffres et caractères spéciaux. + +Si vous possédez un dump d'une base FranceArchives +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Si vous possédez un dump d'une base FranceArchives, ne créez pas la base +(Répondre non à la question "Run db-create to create the system database ?") + +Note : Commande pour créer un dump postgres d'une base de données + +:: + + pg_dump -v --no-owner -Fc atelier > dump_atelier + +Note : Commande pour initialiser une base de données à partir du dump généré +par la commande précédente + +:: + + pg_restore --no-owner -Fc -d atelier dump_atelier + +Il vous faudra ensuite réinitialiser le mot de passe admin de votre instance + +:: + + (fa-venv)$ cubicweb-ctl reset-admin-pwd atelier + +Si vous voulez partir d'une base vide +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Vous pouvez lancer la commande db-create lors de la création de l'instance. + +Configuration pyramid +~~~~~~~~~~~~~~~~~~~~~ + +Il faut installer un fichier ``pyramid.ini`` dans le répertoire de +l'instance (par ex. ``~/etc/cubicweb.d/atelier/`` contenant) : + +:: + + [main] + + cubicweb.auth.authtkt.session.secret = stuff + cubicweb.auth.authtkt.persistent.secret = stuff + cubicweb.auth.authtkt.session.secure = no + cubicweb.auth.authtkt.persistent.secure = no + cubicweb.auth.authtkt.session.timeout = 3600 + + cubicweb.bwcompat = no + cubicweb.defaults = no + + cubicweb.includes = + cubicweb.pyramid.auth + cubicweb.pyramid.login + cubicweb_frarchives_edition.cms + + pyramid.includes = + pyramid_redis_sessions + # pyramid_debugtoolbar + + redis.sessions.timeout = 1200 + redis.sessions.secret = stuff + redis.sessions.prefix = pniacms: + redis.sessions.url = redis://localhost:6379/0 + rq.redis_url = redis://localhost:6379/0 + +Configuration CubicWeb +~~~~~~~~~~~~~~~~~~~~~~ + +Copier le contenu du fichier `./doc/all-in-one.conf.example` dans le fichier de configuration +de votre instance: `~/etc/cubicweb.d/atelier/all-in-one.conf` + +Installer et compiler le JavaScript +----------------------------------- + +Dans chaque projet (cubicweb-francearchives et cubicweb-frarchives-edition), +lancer les commandes suivantes :: + + npm ci + npm run build + +Pour avoir un build continu :: + + npm run watch Compilier les css ----------------- -Il est nécessaire d'installer l'outil ``ruby-sass``. +Il est nécessaire d'installer ``sass``; + +:: + + npm install -g sass -1. Pour compiler la feuille des styles unique utiliser la commande suivante : +1. Pour compiler la feuille des styles unique utiliser la commande suivante dans le +:: - sass scss/main.scss:cubicweb_francearchives/data/css/francearchives.bundle.css + [cubicweb-francearchives]$ sass scss/main.scss:cubicweb_francearchives/data/css/francearchives.bundle.css 2. Utiliser -watch pour tenir compte des modifications : - sass --watch scss/main.scss:cubicweb_francearchives/data/css/francearchives.bundle.css +:: -Création d'un virtualenv ------------------------- + [cubicweb-francearchives]$ sass --watch scss/main.scss:cubicweb_francearchives/data/css/francearchives.bundle.css -La création d'une instance se fait traditionnellement via un virtualenv. -Pour créer le virtualenv lancez la commande ``mkvirtualenv $NAME`` (paquet `virtualenvwrapper`). +Si vous tombez sur l'erreur suivante :: + >>> Sass is watching for changes. Press Ctrl-C to stop. + LoadError: cannot load such file -- sass-listen -Création d'une instance ------------------------ +installer le packet `sass-listen` peut aider à resoudre le problème :: + + $ sudo gem install sass-listen + +Remplir les champs de traduction +-------------------------------- + +Pour gérer la traduction, lancez la commande : + +:: + + (fa-env)$ cubicweb-ctl i18ninstance atelier + + +Démarrer l'instance +------------------- + +Vous y êtes presque !! + +Avant de lancer votre instance, n'oubliez pas d'avoir : +- votre serveur minio qui tourne (voir section sur Minio) +- un serveur elasticsearch qui tourne + +:: + + (fa-env)$ cubicweb-ctl pyramid -D atelier -Après avoir créé le virtualenv et téléchargé le dépôt francearchives, les prochaines étapes -sont d'installer les paquets requis et le cube lui-même.:: - cd $PATH_TO_CUBE_FRANCEARCHIVES - pip install -r dev-requirements.txt - pip install -e . +Démarrer un worker +------------------ -Ensuite créez une instance en utilisant la commande:: +Pour exécuter les tâches asynchrones (comme l'import de fichiers EAD, etc.) +on utilise un worker RQ, à lancer en parallèle de l'application pyramid. - cubicweb-ctl create francearchives $INSTANCE_NAME +:: -Finalement il faut créer une fiche de configuration pyramid pour l'instance dans -$PATH_TO_INSTANCE/pyramid.ini (par défaut $PATH_TO_INSTANCE est -``$HOME/etc/cubicweb.d/$INSTANCE_NAME``). + (fa-env)$ cubicweb-ctl rq-worker atelier -Example:: + +Remplir ses index elasticsearch +------------------------------- + +Si vous êtes partis d'une base existante (dump PostGres), vous allez devoir +indexer vos données dans les index elasticsearch. + +Indexer les documents : + +:: + + (fa-env)$ cubicweb-ctl index-in-es atelier + + +Indexer les autorités : + +:: + + (fa-env)$ cubicweb-ctl index-es-suggest atelier + + +Configurer son instance de consultation +======================================= + +En production, deux instances fonctionnent en parallèle : une de type CMS (que l'on +a appelée atelier dans les étapes précédentes). Il peut ête utile d'avoir +également sous la main une instance consultation. + +Activer le virtualenv puis :: + + (fa-venv)$ cubicweb-ctl create francearchives consultation + +Cette instance va utiliser le namespace "published" de l'instance atelier. +Il ne faut donc pas lancer la commande db-create. + +Fichier sources +--------------- + +Modifier le fichier ~/etc/cubicweb.d/consultation/sources pour y +ajouter/modifier les informations suivantes :: + + db-name=atelier + + db-namespace=published + +Fichier all-in-one.conf +----------------------- + +Copier le contenu du fichier `./doc/consultation_all-in-one.conf.example` dans le fichier de configuration +de votre instance: `~/etc/cubicweb.d/consultation/all-in-one.conf` + +Fichier pyramid.ini +------------------- + +Copier la configuration suivante dans le fichier `~/etc/cubicweb.d/consultation/pyramid.ini` + +:: [main] + cubicweb.auth.authtkt.session.secret = stuff + cubicweb.auth.authtkt.persistent.secret = stuff + cubicweb.auth.authtkt.session.secure = no + cubicweb.auth.authtkt.persistent.secure = no + cubicweb.session.secret = the-secret + cubicweb.bwcompat = no cubicweb.defaults = no @@ -109,23 +371,82 @@ Example:: cubicweb.pyramid.auth cubicweb.pyramid.session - cubicweb.auth.authtkt.session.secret = stuff - cubicweb.auth.authtkt.persistent.secret = stuff - cubicweb.auth.authtkt.session.secure = no - cubicweb.auth.authtkt.persistent.secure = no - cubicweb.session.secret = the-secret +Remplir les champs de traduction +-------------------------------- + +Pour gérer la traduction dans cette instance, lancez la commande : + +:: + + (fa-env)$ cubicweb-ctl i18ninstance consultation + + +Lancer l'instance de consultation +--------------------------------- + +L'instance de consultation se lance comme l'instance CMS : +Avant de lancer votre instance, n'oubliez pas d'avoir : +- votre serveur minio qui tourne (voir section sur Minio) +- un serveur elasticsearch qui tourne + +:: + + (fa-env)$ cubicweb-ctl pyramid -D consultation + + +Bonnes pratiques de développement +================================= + + +Black +----- + +Pour lancer **black** :: + + black --config pyproject.toml . + +Ajouter **black** dans les hooks **hg** :: + +créer le script `path_hook` (exemple de code) :: + + #!/bin/sh + for fpath in $(hg status --no-status --modified --added | grep ".py$") ; do + black ${fpath} + done + +et appeler le ̀.hg\hgrc` du projet :: + + [hooks] + precommit = path_to_hook + pre-amend = path_to_hook + + +il est possible d'intégrer la config utilisée pour le projet :: + + #!/bin/sh + for fpath in $(hg status --no-status --modified --added | grep ".py$") ; do + black --config $1 ${fpath} + done + + +et appeler le ̀.hg\hgrc` du projet :: + + [hooks] + precommit = path_to_hook pyproject.toml + pre-amend = path_to_hook pyproject.toml Tests ----- + Lancer les tests avec tox ~~~~~~~~~~~~~~~~~~~~~~~~~ Vous aurez besoin de : - * elasticsearch version 7.x installable en suivant ce guide https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html - * ``sudo apt-get install poppler-utils`` (pour ``pdftotext``) - * ``sudo apt-get install ruby-sass`` (pour ``sass``) +* elasticsearch version 7.x installable en suivant ce guide https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html +* ``sudo apt-get install poppler-utils`` (pour ``pdftotext``) +* ``sudo apt-get install ruby-sass`` (pour ``sass``) Pour lancer les tests :: @@ -178,16 +499,50 @@ Lancer les tests a11y BASEURL=/fr node a11y/test.js +Déployer Kubernetes en local +---------------------------- + +Pour préparer le déploiement en local, il faut + +* récupérer le fichier de configuration du cluster Kubernetes et ajouter la variable KUBECONFIG:: + + export KUBECONFIG= + +* se créer un access token pour le project cubicweb-francearchives + +Pour déployer, il faut + +1. se connecter au dépôt des images docker avec son access token:: + + docker login -u -p + +2. récupérer les données à remplir et les crédentiels de la CI +3. copier le fichier ``env.example``:: + + cp env.example .env + + et remplir le nouveau fichier avec les données récupérés +4. lancer le script en utilisant les crédentiels de la CI:: + + CI_REGISTRY= REGISTRY_DEPLOY_TOKEN= REGISTRY_DEPLOY_USERNAME= ./deploy.sh .env + +5. pour voir seulement les changements sans les déploier, il est possible de rajouter l'option + ``--dry-run`` + Documentation supplémentaire ---------------------------- -Des éléments supplémentaires de documentation sont dans `doc/`, dont notamment :: +Des éléments supplémentaires de documentation sont dans `doc/`, dont notamment : * `doc_dev.rst` explique des problèmes qui peuvent être rencontrés lors de l'installation ; -* `doc_exploitation.rst` contient la configuration recommandée de ``pyramid``. +Des informations sur la mise en production, le fonctionnement interne du site, et +des études réalisées pour le client sont disponibles sur dans le repo : + +https://forge.extranet.logilab.fr/francearchives/documentation/ + Contributrices et contributeurs ------------------------------- @@ -199,6 +554,7 @@ ce logiciel (ordre alphabetique) : * Arthur Lutz * Carine Dengler * David Douard +* Elodie Thiéblin * Juliette Belin * Katia Saurfelt * Samuel Trégouët diff --git a/appjs/advanced-search/authoritySearchBar.tsx b/appjs/advanced-search/authoritySearchBar.tsx new file mode 100644 index 0000000..bbbd9fe --- /dev/null +++ b/appjs/advanced-search/authoritySearchBar.tsx @@ -0,0 +1,186 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useEffect, useState} from 'react' +import {AsyncTypeahead} from 'react-bootstrap-typeahead' +import { + SearchRequest, + QueryDslBoolQuery, +} from '@elastic/elasticsearch/lib/api/types' +import {translate as t} from '../translate' + +const TYPE_ES = { + a: 'AgentAuthority', + l: 'LocationAuthority', + s: 'SubjectAuthority', +} + +export function AuthorityTypeAhead({ + archivesRef, + ressourcesSite, + endpoint, + selectedMemory, + update, + typeaheadId, + type, + clearNow, + setClearNow, +}) { + const [isLoading, setIsLoading] = useState(false) + const [options, setOptions] = useState(selectedMemory) + const [selected, setSelected] = useState(selectedMemory) + const [errorMsg, setErrorMsg] = React.useState() + useEffect(() => { + if (clearNow) { + setSelected([{eid: '', label: ''}]) + setClearNow(false) + } + }, [clearNow]) + + const handleSearch = (textSearch) => { + setIsLoading(true) + // TODO: remove accents ? + let must: QueryDslBoolQuery['must'] = [ + {match: {cw_etype: TYPE_ES[type]}}, + { + multi_match: { + query: textSearch, + operator: 'and', + type: 'bool_prefix', // look for terms starting by textSearch + fields: ['label', 'label._2gram', 'label._3gram'], + }, + }, + ] + let countAttr = 'count' + if (archivesRef && !ressourcesSite) { + countAttr = 'archives' + must.push({range: {archives: {gte: 1}}}) + } else if (!archivesRef && ressourcesSite) { + countAttr = 'siteres' + must.push({range: {siteres: {gte: 1}}}) + } else { + must.push({range: {count: {gte: 1}}}) + } + + const es_query: SearchRequest = { + query: { + bool: { + must: must, + should: [ + // give a better score if textSearch strictly matches an authority name + { + match_phrase: { + 'text.raw': { + query: textSearch, + boost: 10, + slop: 2, + }, + }, + }, + // give a better score if the whole name starts with textSearch + { + match_bool_prefix: { + 'text.raw': {query: textSearch}, + }, + }, + ], + }, + }, + sort: ['_score'], + from: 0, + size: 100, + } + fetch(`${endpoint}`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(es_query), + }) + .then((resp) => { + return resp.json() + }) + .then((response) => { + if (response.errors !== undefined) { + setErrorMsg(response.errors[0].details) + setOptions([]) + } else { + setErrorMsg(null) + const items = response['hits']['hits'].map((element) => { + let count = element['_source'][countAttr] + return { + eid: element['_source']['eid'], + label: element['_source']['text'], + } + }) + setOptions(items) + } + setIsLoading(false) + }) + .catch((error) => { + console.error(error) + }) + } + const filterBy = () => true + const hasError = errorMsg !== undefined && errorMsg !== null + return ( + <> + {hasError ? ( +
{errorMsg}
+ ) : null} + { + if (selectedElement.length == 1) { + update({ + value: selectedElement[0].eid, + label: selectedElement[0].label, + }) + } else { + //Nothing is selected + update({value: '', label: ''}) + } + setSelected(selectedElement) + }} + selected={selected} + className={hasError ? 'is-invalid' : ''} + useCache={false} + /> + + ) +} diff --git a/appjs/advanced-search/datesBox.tsx b/appjs/advanced-search/datesBox.tsx new file mode 100644 index 0000000..bb57939 --- /dev/null +++ b/appjs/advanced-search/datesBox.tsx @@ -0,0 +1,64 @@ +import React, {Fragment, useState} from 'react' +import Button from 'react-bootstrap/Button' +import InputGroup from 'react-bootstrap/InputGroup' + +import {YearInput} from './widgets' +import {translate as t} from '../translate' + +export function DatesBox({minDate, setMinDate, maxDate, setMaxDate}) { + const [periodInput, setPeriodInput] = useState(minDate != maxDate) + + return ( + +

{t('Dates')}

+ + + + {!periodInput ? ( + { + setMinDate(value) + setMaxDate(value) + }} + minValue={false} + /> + ) : ( + <> + + + + )} + +
+ ) +} diff --git a/appjs/advanced-search/main.tsx b/appjs/advanced-search/main.tsx new file mode 100644 index 0000000..58e9338 --- /dev/null +++ b/appjs/advanced-search/main.tsx @@ -0,0 +1,213 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useEffect, useState} from 'react' +import ReactDOM from 'react-dom' + +import Button from 'react-bootstrap/Button' +import {Checkbox} from './widgets' +import {TextOrAuthoritySearchBox} from './textOrAuthorityBox' +import {useAdvancedSearch} from './useAdvancedSearch' +import {ServicesBox} from './servicesBox' +import {ProducerBox} from './producerBox' +import {DatesBox} from './datesBox' +import InputGroup from 'react-bootstrap/InputGroup' +import {translate as t} from '../translate' + +function AdvancedSearch() { + const [loading, setLoading] = useState(true) + const { + archivesRef, + toggleArchivesRef, + ressourcesSite, + toggleRessourcesSite, + searches, + addSearch, + updateSearch, + removeSearch, + operators, + updateOperator, + authoritiesLabels, + searchTypes, + updateSearchType, + services, + addService, + updateService, + removeService, + serviceOperator, + setServiceOperator, + servicesLabels, + producers, + addProducer, + updateProducer, + removeProducer, + producerOperators, + updateProducerOperator, + updateProducerType, + minDate, + setMinDate, + maxDate, + setMaxDate, + launchSearch, + loadSessionStorage, + resetValues, + clearServicesNow, + setClearServicesNow, + clearProducersNow, + setClearProducersNow, + } = useAdvancedSearch() + + useEffect(() => { + loadSessionStorage() + setLoading(false) + }, []) + + if (loading) { + return Loading.... + } + return ( + <> +

{t('Advanced search')}

+
+
+ + +
+
+
+

{t('Type of resources')}

+ + { + toggleArchivesRef() + resetValues(false) + }} + /> + { + toggleRessourcesSite() + resetValues(false) + }} + />{' '} + +
+
+ +
+
+ +
+ {archivesRef ? ( +
+ +
+ ) : ( + <> + )} +
+ +
+ +
+ + +
+
+
+ + ) +} + +const root = document.getElementById('advanced-search') +ReactDOM.render(, root) diff --git a/appjs/advanced-search/producerBox.tsx b/appjs/advanced-search/producerBox.tsx new file mode 100644 index 0000000..ecaef2f --- /dev/null +++ b/appjs/advanced-search/producerBox.tsx @@ -0,0 +1,209 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the licens, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useState, useEffect, useCallback} from 'react' +import {DropDown, PlusButton, RemoveRowButton} from './widgets' +import {AsyncTypeahead} from 'react-bootstrap-typeahead' +import {translate as t} from '../translate' + +export function ProducerTypeAhead({ + endpoint, + selected, + update, + updateType, + typeaheadId, + clearNow, + setClearNow, + placeholder, +}) { + const [isLoading, setIsLoading] = useState(false) + const [options, setOptions] = useState([]) + const [errorMsg, setErrorMsg] = React.useState() + + useEffect(() => { + if (clearNow) { + update('') + setClearNow(false) + } + }, [clearNow]) + + const handleSearch = useCallback((textSearch) => { + if (textSearch.length < 3) { + return + } + + setIsLoading(true) + // TODO: remove accents + + const es_query = { + query: { + simple_query_string: { + query: `${textSearch}*`, + fields: ['originators.text'], + default_operator: 'and', + }, + }, + size: 0, + aggs: { + producer: { + terms: {field: 'originators', size: 30}, + }, + }, + } + + fetch(`${endpoint}`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(es_query), + }) + .then((resp) => { + return resp.json() + }) + .then((response) => { + if (response.errors !== undefined) { + setErrorMsg(response.errors[0].details) + setOptions([]) + } else { + setErrorMsg(null) + const items = response['aggregations']['producer'][ + 'buckets' + ].map((element) => element['key']) + setOptions(items) + } + setIsLoading(false) + }) + .catch((error) => { + console.error(error) + }) + }, []) + const filterBy = () => true + const hasError = errorMsg !== undefined && errorMsg !== null + return ( + <> + {hasError ? ( +
{errorMsg}
+ ) : null} + { + update(value) + updateType('t') + }} + onChange={(selectedElement) => { + if (selectedElement.length === 1) { + update(selectedElement[0]) + updateType('k') + } else { + updateType('t') + } + }} + className={hasError ? 'is-invalid' : ''} + selected={selected === '' ? [] : [selected]} + placeholder={placeholder} + /> + + ) +} + +export function ProducerBox({ + searches, + addSearch, + updateSearch, + operators, + updateOperator, + updateType, + endpoint, + clearNow, + setClearNow, + removeSearch, +}) { + const helpLabel = t('Select criterion for the field') + return ( + <> +

{t("Record's creator")}

+ {searches.map((element, index) => ( +
+
+
+ updateSearch(value, index)} + updateType={(value) => updateType(value, index)} + typeaheadId={`producer-typeahead-${index}`} + clearNow={clearNow} + setClearNow={setClearNow} + placeholder="Producteur d'archives" + /> +
+
+ {operators.length > index ? ( + { + updateOperator(value, index) + }} + help={`#${helpLabel} #${index}`} + variant="as-operators" + /> + ) : ( + + )} + {index > 0 ? ( + { + removeSearch(index) + }} + /> + ) : ( + <> + )} +
+
+
+ ))} + + ) +} diff --git a/appjs/advanced-search/servicesBox.tsx b/appjs/advanced-search/servicesBox.tsx new file mode 100644 index 0000000..e708783 --- /dev/null +++ b/appjs/advanced-search/servicesBox.tsx @@ -0,0 +1,237 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useState, useEffect} from 'react' +import { + SearchRequest, + QueryDslBoolQuery, +} from '@elastic/elasticsearch/lib/api/types' +import {DropDown, PlusButton, RemoveRowButton} from './widgets' +import {AsyncTypeahead} from 'react-bootstrap-typeahead' +import {translate as t} from '../translate' + +export function ServiceTypeAhead({ + archivesRef, + ressourcesSite, + update, + selectedMemory, + typeaheadId, + clearNow, + setClearNow, + endpoint, + placeholder, +}) { + const [isLoading, setIsLoading] = useState(false) + const [options, setOptions] = useState(selectedMemory) + const [selected, setSelected] = useState(selectedMemory) + const [errorMsg, setErrorMsg] = React.useState() + const handleSearch = (textSearch) => { + setIsLoading(true) + let must: QueryDslBoolQuery['must'] = [ + { + simple_query_string: { + query: `${textSearch}*`, + fields: ['short_name^3', 'alltext'], + default_operator: 'and', + }, + }, + ] + let countAttr = 'documents_count' + if (archivesRef && !ressourcesSite) { + countAttr = 'archives' + must.push({range: {archives: {gte: 1}}}) + } else if (!archivesRef && ressourcesSite) { + countAttr = 'siteres' + must.push({range: {siteres: {gte: 1}}}) + } else { + must.push({range: {documents_count: {gte: 1}}}) + } + + const es_query: SearchRequest = { + query: { + bool: { + must: must, + }, + }, + sort: ['_score'], + from: 0, + size: 100, + } + fetch(`${endpoint}`, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(es_query), + }) + .then((resp) => { + return resp.json() + }) + .then((response) => { + if (response.errors !== undefined) { + setErrorMsg(response.errors[0].details) + setOptions([]) + } else { + setErrorMsg(null) + const items = response['hits']['hits'] + .map((element) => { + return { + eid: element['_source']['eid'], + label: + element['_source']['short_name'] || + element['_source']['title'], + } + }) + .filter((element) => { + return element['label'] !== null + }) + setOptions(items) + } + setIsLoading(false) + }) + .catch((error) => { + console.error(error) + }) + } + const filterBy = () => true + const hasError = errorMsg !== undefined && errorMsg !== null + useEffect(() => { + if (clearNow) { + setSelected([{eid: '', label: ''}]) + setClearNow(false) + } + }, [clearNow]) + return ( + <> + {hasError ? ( +
{errorMsg}
+ ) : null} + { + if (selectedElement.length == 1) { + update({ + value: selectedElement[0].eid, + label: selectedElement[0].label, + }) + } else { + //Nothing is selected + update({value: '', label: ''}) + } + setSelected(selectedElement) + }} + className={hasError ? 'is-invalid' : ''} + selected={selected} + useCache={false} + placeholder={placeholder} + /> + + ) +} + +export function ServicesBox({ + searches, + labels, + addSearch, + updateSearch, + operator, + setOperator, + endpoint, + clearNow, + setClearNow, + removeService, + ressourcesSite, + archivesRef, +}) { + return ( + <> +

{t('Publisher')}

+ <> + { + setOperator(value) + }} + help={`"Sélectionner une condition pour le champ Service`} + variant="as-operators-service" + /> + {searches.map((element, index) => ( +
+
+
+ + updateSearch(value, index) + } + selectedMemory={[ + {eid: element, label: labels[index]}, + ]} + typeaheadId={`service-typeahead-${index}`} + endpoint={endpoint} + clearNow={clearNow} + setClearNow={setClearNow} + placeholder={t('Archive service')} + ressourcesSite={ressourcesSite} + archivesRef={archivesRef} + /> +
+
+ {index == searches.length - 1 ? ( + + ) : ( + <> + )} + {index > 0 ? ( + { + removeService(index) + }} + /> + ) : ( + <> + )} +
+
+
+ ))} + + + ) +} diff --git a/appjs/advanced-search/textOrAuthorityBox.tsx b/appjs/advanced-search/textOrAuthorityBox.tsx new file mode 100644 index 0000000..cea8446 --- /dev/null +++ b/appjs/advanced-search/textOrAuthorityBox.tsx @@ -0,0 +1,175 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useState} from 'react' +import {AuthorityTypeAhead} from './authoritySearchBar' +import {DropDown, PlusButton, RemoveRowButton, TextInput} from './widgets' +import {translate as t} from '../translate' + +const TYPE_LABELS = { + t: t('Plain text'), + l: t('Location'), + a: t('Person or institution'), + s: t('Topic'), +} + +export function TextOrAuthorityInput({ + archivesRef, + ressourcesSite, + value, + type, + label, + update, + updateType, + endpoint, + index, + operators, + updateOperator, + addSearch, + removeSearch, +}) { + const helpLabel = t('Select criterion for the field') + const [clearNow, setClearNow] = useState(false) + return ( + <> +
+ { + update({value: '', label: ''}) + setClearNow(true) + }} + /> +
+
+
+ {type === 't' ? ( + { + update({value: value, label: ''}) + }} + /> + ) : ( +
+ +
+ )} +
+
+ {operators.length > index ? ( + { + updateOperator(value, index) + }} + help={`#${helpLabel} #${index}`} + variant="as-operators" + /> + ) : ( + + )} + {index > 0 ? ( + + ) : ( + <> + )} +
+
+ + ) +} + +export function TextOrAuthoritySearchBox({ + archivesRef, + ressourcesSite, + searches, + addSearch, + updateSearch, + operators, + updateOperator, + searchTypes, + updateSearchType, + labels, + endpoint, + removeSearch, +}) { + return ( + <> +

{t('By word')}

+ {searches.map((element, index) => ( +
+ { + updateSearch(value, index) + }} + updateType={(value) => { + updateSearchType(value, index) + }} + endpoint={endpoint} + index={index} + operators={operators} + updateOperator={updateOperator} + addSearch={addSearch} + removeSearch={() => { + removeSearch(index) + }} + /> +
+ ))} + + ) +} diff --git a/appjs/advanced-search/useAdvancedSearch.ts b/appjs/advanced-search/useAdvancedSearch.ts new file mode 100644 index 0000000..9dea3a9 --- /dev/null +++ b/appjs/advanced-search/useAdvancedSearch.ts @@ -0,0 +1,388 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import {useState} from 'react' + +function useToggle( + defaultValue: boolean = true, +): [boolean, () => void, (value: boolean) => void] { + const [toggleValue, setToggleValue] = useState(defaultValue) + const toggleFunction = () => { + setToggleValue(!toggleValue) + } + return [toggleValue, toggleFunction, setToggleValue] +} + +function useStringArray( + initialValue: string[], + defaultElement: string, +): [ + string[], + () => void, + (value: string, index: number) => void, + (value: string[]) => void, + (index: number) => void, +] { + const [array, setArray] = useState(initialValue) + const addValue = () => { + setArray((array) => [...array, defaultElement]) + } + const updateElement = (value: string, index: number) => { + setArray((array) => [ + ...array.slice(0, index), + value, + ...array.slice(index + 1), + ]) + } + const removeElement = (index: number) => { + setArray((array) => [ + ...array.slice(0, index), + ...array.slice(index + 1), + ]) + } + return [array, addValue, updateElement, setArray, removeElement] +} + +/** Remove last empty value from array only if array has more than 1 element*/ +function trimLastEmptyValue(values, operators, array1, array2) { + let lastIndex = values.length - 1 + let result = [values, operators] + if (array1) { + result = [...result, array1] + } + if (array2) { + result = [...result, array2] + } + while (lastIndex >= 1 && result[0][lastIndex] === '') { + result = [ + values.slice(0, lastIndex), + operators.slice(0, operators.length - 1), + ] + if (array1) { + result = [...result, array1.slice(0, lastIndex)] + } + if (array2) { + result = [...result, array2.slice(0, lastIndex)] + } + lastIndex = result[0].length - 1 + } + return result +} + +function urlFragment(parameterName, valuesOperatorsTypes) { + const [values, operators, types] = valuesOperatorsTypes + if (values.length < 2 && values[0] === '') { + return '' + } + const result = `&${parameterName}=${encodeURIComponent( + JSON.stringify(values), + )}&${parameterName}_op=${encodeURIComponent(JSON.stringify(operators))}` + if (!types) { + return result + } + return `${result}&${parameterName}_t=${encodeURIComponent( + JSON.stringify(types), + )}` +} + +export function useAdvancedSearch() { + const [archivesRef, toggleArchivesRef, setArchivesRef] = useToggle() + const [ressourcesSite, toggleRessourcesSite, setRessourcesSite] = + useToggle() + const [ + searches, + addSearchValue, + updateSearchValue, + setSearches, + removeSearchValue, + ] = useStringArray([''], '') + + const [ + operators, + addOperator, + updateOperator, + setOperators, + removeOperator, + ] = useStringArray([], 'ET') + const [ + authoritiesLabels, + addAuthorityLabel, + updateAuthorityLabel, + setAuthoritiesLabels, + removeAuthoritiesLabel, + ] = useStringArray([''], '') + // values must be in "t", "s", "l", "a" for text, subject, location, agent + const [ + searchTypes, + addSearchType, + updateSearchType, + setSearchTypes, + removeSearchType, + ] = useStringArray(['t'], 't') + + const [ + services, + addServiceValue, + updateServiceValue, + setServices, + removeServiceValue, + ] = useStringArray([''], 'ET') + const [serviceOperator, setServiceOperator] = useState('OU') + const [ + servicesLabels, + addServiceLabel, + updateServiceLabel, + setServicesLabels, + removeServiceLabel, + ] = useStringArray([''], '') + + const [ + producers, + addProducerValue, + updateProducer, + setProducers, + removeProducerValue, + ] = useStringArray([''], '') + const [ + producerOperators, + addProducerOperator, + updateProducerOperator, + setProducerOperators, + removeProducerOperator, + ] = useStringArray([], 'ET') + const [ + producerTypes, + addProducerType, + updateProducerType, + setProducerTypes, + removeProducerType, + ] = useStringArray(['t'], 't') // values must be "t" for text or "k" for keyword search + + const [minDate, setMinDate] = useState(null) + const [maxDate, setMaxDate] = useState(null) + + const [clearServicesNow, setClearServicesNow] = useState(false) + const [clearProducersNow, setClearProducersNow] = useState(false) + + const addSearch = () => { + addSearchValue() + addAuthorityLabel() + addOperator() + addSearchType() + } + + const updateSearch = ({value, label}, index: number) => { + updateSearchValue(value, index) + updateAuthorityLabel(label, index) + } + + const removeSearch = (index: number) => { + removeSearchValue(index) + removeAuthoritiesLabel(index) + removeOperator(index - 1) + removeSearchType(index) + } + + const addService = () => { + addServiceValue() + addServiceLabel() + } + + const updateService = ({value, label}, index: number) => { + updateServiceValue(value, index) + updateServiceLabel(label, index) + } + + const removeService = (index: number) => { + removeServiceValue(index) + removeServiceLabel(index) + } + + const addProducer = () => { + addProducerValue() + addProducerType() + addProducerOperator() + } + + const removeProducer = (index: number) => { + removeProducerValue(index) + removeProducerOperator(index - 1) + removeProducerType(index) + } + + // Read and load values from session storage + const loadSessionStorage = () => { + const previousData = sessionStorage.getItem('faAdvancedSearch') + if (previousData !== null) { + const data = JSON.parse(previousData) + setArchivesRef(data['archivesRef']) + setRessourcesSite(data['ressourcesSite']) + setSearches(data['searches'][0]) + setOperators(data['searches'][1]) + setAuthoritiesLabels(data['searches'][2]) + setSearchTypes(data['searches'][3]) + setServices(data['services'][0]) + setServiceOperator(data['services'][1]) + setServicesLabels(data['services'][2]) + setProducers(data['producers'][0]) + setProducerOperators(data['producers'][1]) + setProducerTypes(data['producers'][2]) + setMinDate(data['minDate']) + setMaxDate(data['maxDate']) + } + } + + const resetValues = (resetTypes: boolean = true) => { + if (resetTypes) { + setArchivesRef(true) + setRessourcesSite(true) + } + setSearches(['']) + setOperators([]) + setAuthoritiesLabels(['']) + setSearchTypes(['t']) + setServices(['']) + setServiceOperator('OU') + setServicesLabels(['']) + setProducers(['']) + setProducerOperators([]) + setProducerTypes(['t']) + setMinDate(null) + setMaxDate(null) + setClearServicesNow(true) + setClearProducersNow(true) + } + + const launchSearch = () => { + let url = `/search?q=&advanced=true` + if (archivesRef && !ressourcesSite) { + url += '&es_escategory=archives' + } + if (!archivesRef && ressourcesSite) { + url += '&es_escategory=siteres' + } + + url += urlFragment( + 'searches', + trimLastEmptyValue(searches, operators, searchTypes, false), + ) + url += urlFragment('services', [ + trimLastEmptyValue(services, [], false, false)[0], + serviceOperator, + false, + ]) + url += urlFragment( + 'producers', + trimLastEmptyValue( + producers, + producerOperators, + producerTypes, + false, + ), + ) + + if (minDate !== null) { + url += `&es_date_min=${minDate}` + } + if (maxDate !== null) { + url += `&es_date_max=${maxDate}` + } + const [trimmedServices, _, trimmedServicesLabels] = trimLastEmptyValue( + services, + [], + servicesLabels, + false, + ) + + const searchMemory = { + archivesRef: archivesRef, + ressourcesSite: ressourcesSite, + searches: trimLastEmptyValue( + searches, + operators, + authoritiesLabels, + searchTypes, + ), + services: [trimmedServices, serviceOperator, trimmedServicesLabels], + producers: trimLastEmptyValue( + producers, + producerOperators, + producerTypes, + false, + ), + minDate: minDate, + maxDate: maxDate, + } + + sessionStorage.setItem('faAdvancedSearch', JSON.stringify(searchMemory)) + window.location.href = url + } + + return { + archivesRef, + toggleArchivesRef, + ressourcesSite, + toggleRessourcesSite, + searches, + addSearch, + updateSearch, + removeSearch, + operators, + updateOperator, + authoritiesLabels, + searchTypes, + updateSearchType, + services, + addService, + updateService, + removeService, + serviceOperator, + setServiceOperator, + servicesLabels, + producers, + addProducer, + updateProducer, + removeProducer, + producerOperators, + updateProducerOperator, + updateProducerType, + minDate, + setMinDate, + maxDate, + setMaxDate, + launchSearch, + loadSessionStorage, + resetValues, + clearServicesNow, + setClearServicesNow, + clearProducersNow, + setClearProducersNow, + } +} diff --git a/appjs/advanced-search/widgets.tsx b/appjs/advanced-search/widgets.tsx new file mode 100644 index 0000000..24e6509 --- /dev/null +++ b/appjs/advanced-search/widgets.tsx @@ -0,0 +1,197 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2022 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import React, {useEffect, useState} from 'react' +import Form from 'react-bootstrap/Form' +import Button from 'react-bootstrap/Button' +import Dropdown from 'react-bootstrap/Dropdown' +import DropdownButton from 'react-bootstrap/DropdownButton' +import {translate as t} from '../translate' + +export interface ICheckbox { + label: string + value: boolean + toggleFunction: () => void + className?: string +} + +export function Checkbox({label, value, toggleFunction, className}: ICheckbox) { + return ( + + + {label} + + ) +} + +export interface ITextInput { + value: string + setFunction: (input: string) => void +} + +export function TextInput({setFunction, value}: ITextInput) { + return ( + setFunction(e.target.value)} + type="text" + /> + ) +} + +export interface IPlusButton { + onClick: () => void +} + +export function PlusButton({onClick}: IPlusButton) { + return ( + + ) +} + +export interface IRemoveRowButton { + onClick: () => void +} + +export function RemoveRowButton({onClick}: IRemoveRowButton) { + return ( + + ) +} + +export function DropDown({ + value, + choices, + labels, + update, + variant, + help, + onValueChange = () => {}, +}) { + return ( + + {choices.map((choice, index) => ( + { + if (choice !== value) { + onValueChange() + } + update(choice) + }} + > + {labels[choice]} + + ))} + + ) +} + +export function YearInput({id, label, value, setValue, minValue}) { + const [invalid, setInvalid] = useState(false) + const [aboveMin, setAboveMin] = useState(value < minValue) + useEffect(() => { + if (minValue && value && value < minValue) { + setAboveMin(true) + } else { + setAboveMin(false) + } + }, [minValue, value]) + + const checkNumberOrNull = (input) => { + if (!isNaN(parseInt(input))) { + setValue(parseInt(input)) + setInvalid(false) + } else if (input === '') { + setValue(null) + setInvalid(false) + } else { + setValue(null) + setInvalid(true) + } + } + return ( + <> + + {invalid ? ( + + Saisie doit être un nombre + + ) : ( + <> + )} + {aboveMin ? ( + + La date de fin doit être supérieure à la date de début + + ) : ( + <> + )} + + checkNumberOrNull(e.target.value)} + onFocus={() => { + setInvalid(false) + }} + onBlur={() => { + setInvalid(false) + }} + isInvalid={invalid || aboveMin} + aria-label={label} + /> + + + ) +} diff --git a/appjs/introjs.js b/appjs/introjs.js new file mode 100644 index 0000000..566f330 --- /dev/null +++ b/appjs/introjs.js @@ -0,0 +1,58 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2021 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +/* global $, introJs*/ + +const tourElementBtn = document.querySelector('#start-tour') + +if (tourElementBtn) { + $.getJSON(tourElementBtn.dataset.jsondata, function (data) { + tourElementBtn.onclick = function () { + // filter missing objects + data['steps'] = data['steps'].filter(function (obj) { + return ( + $(obj.element).length || + obj.element === '.introjsFloatingElement' + ) + }) + introJs() + .setOptions(data) + .start() + + // clicking 'Skip' and after 'Done' + .onexit(function () { + $('body,html').animate( + {scrollTop: $('body').offset().top}, + 500, + ) + }) + } + }) +} diff --git a/appjs/pnia-faq.js b/appjs/pnia-faq.js index 116ebde..a57f94f 100644 --- a/appjs/pnia-faq.js +++ b/appjs/pnia-faq.js @@ -29,30 +29,167 @@ */ /* global $ */ -function initFaq() { - document - .querySelector('#faq-toggle-fold') - .addEventListener('click', function (e) { - e.preventDefault() - e.stopPropagation() - toggleFaqs(e.target) +class FaqNavigation { + constructor(node) { + if (!node) return + this.faqNode = node + + this.questions = this.faqNode.querySelectorAll('.faq_item__question') + for (let i = 0; i < this.questions.length; i++) { + let ti = this.questions[i] + ti.addEventListener('keydown', this.onKeydown.bind(this)) + } + let label + document + .getElementById('faq-toggle-fold') + .addEventListener('click', function () { + const collapables = $('.faq_item .collapse') + if (this.classList.contains('expanded')) { + collapables.collapse('hide') + this.setAttribute('aria-expanded', 'false') + label = this.dataset.labelExpand + } else { + collapables.collapse('show') + this.setAttribute('aria-expanded', 'true') + label = this.dataset.labelCollapse + } + this.innerHTML = label + this.classList.toggle('expanded') + }) + + const trigger = document.getElementById('faqbox-btn') + if (trigger) this.initModal(trigger) + } + + initModal(trigger) { + // used in modal box + const dialog = document.getElementById( + trigger.getAttribute('aria-controls'), + ) + const page = document.getElementById('page') + const open = function (dialog, trigger) { + dialog.setAttribute('aria-hidden', false) + page.setAttribute('aria-hidden', true) + trigger.setAttribute('aria-expanded', 'true') + } + + const close = function (dialog, trigger) { + dialog.setAttribute('aria-hidden', true) + page.setAttribute('aria-hidden', false) + trigger.setAttribute('aria-expanded', 'false') + } + + // open dialog + dialog.addEventListener('show.bs.modal', function () { + open(dialog, trigger) }) - function toggleFaqs(elt) { - let label, iconClass - if (elt.classList.contains('expanded')) { - label = elt.dataset.labelCollapse - iconClass = 'fa-angle-right' - $('.faq_item .collapse').collapse('hide') - } else { - elt.dataset['collapsed'] = false - label = elt.dataset.labelExpand - iconClass = 'fa-angle-down' - $('.faq_item .collapse').collapse('show') - } - elt.classList.toggle('expanded') - elt.innerHTML = '' + label + trigger.addEventListener('keydown', (event) => { + if (event.key === 'Enter') { + event.preventDefault() + trigger.click() + } + }) + + // close dialog + dialog.addEventListener('hide.bs.modal', function () { + close(dialog, trigger) + }) + + dialog.addEventListener('keydown', (event) => { + if (event.key === 'Escape') { + close(dialog, trigger) + } + }) + } + + // Event handlers + + isExpanded(item) { + return item.getAttribute('aria-expanded') === 'true' + } + + toggleAnswer(item) { + if (item.getAttribute('aria-controls')) { + item.click() + } + } + + setFocusToNextQuestion(tgt) { + var next = false + for (var i = this.questions.length - 1; i >= 0; i--) { + var ti = this.questions[i] + if (ti === tgt) { + break + } + next = ti + } + if (next) { + next.focus() + } + } + + setFocusToPreviousQuestion(tgt) { + var prev = false + for (var i = 0; i < this.questions.length; i++) { + var ti = this.questions[i] + if (ti === tgt) { + break + } + prev = ti + } + if (prev) { + prev.focus() + } + } + onKeydown(event) { + var tgt = event.currentTarget, + flag = false, + key = event.key + + if (event.altKey || event.ctrlKey || event.metaKey || event.shift) { + return + } + switch (key) { + // NOTE: Return key is supported through the click event + case 'Enter': + tgt.click() + flag = true + break + case ' ': + flag = true + break + case 'Up': + case 'ArrowUp': + if (this.isExpanded(tgt)) { + this.toggleAnswer(tgt) + } else { + this.setFocusToPreviousQuestion(tgt) + } + + flag = true + break + case 'Down': + case 'ArrowDown': + if (!this.isExpanded(tgt)) { + this.toggleAnswer(tgt) + } else { + this.setFocusToNextQuestion(tgt) + } + flag = true + break + default: + break + } + + if (flag) { + event.stopPropagation() + event.preventDefault() + } } } -document.addEventListener('DOMContentLoaded', () => initFaq()) +document.addEventListener( + 'DOMContentLoaded', + () => new FaqNavigation(document.getElementById('faqs')), +) diff --git a/appjs/pnia-mainmenu.js b/appjs/pnia-mainmenu.js new file mode 100644 index 0000000..473702a --- /dev/null +++ b/appjs/pnia-mainmenu.js @@ -0,0 +1,484 @@ +/* + * This content is licensed according to the W3C Software License at + * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document + * + * File: section-menu-navigation.js + * Desc: Tree item object for representing the state and user interactions for a + * tree widget for navigational links + + * This software or document includes material copied from or + * derived from [Javascript: treeview-navigation.js and + * https://w3c.github.io/aria-practices/examples/treeview/js/treeview-navigation.js of the W3C document]. Copyright ©[YEAR] W3C® (MIT, ERCIM, Keio, Beihang). + */ + +'use strict' + +class SectionsMenuNavigation { + constructor(node) { + // Check whether node is a DOM element + if (typeof node !== 'object') { + console.error( + "SectionsMenuNavigation: 'ul#sections-menu' element not found", + ) + return + } + this.treeNode = node + this.subtreeNode = document.getElementById('menu-subsection-container') + if (typeof this.subtreeNode !== 'object') { + console.error( + "SectionsMenuNavigation: '#menu-subsection-container' element not found", + ) + return + } + this.treeitems = this.treeNode.querySelectorAll('[role="treeitem"]') + this.subsectionsNode = document.getElementById( + 'menu-subsection-container', + ) + var subtreeitems = + this.subsectionsNode.querySelectorAll('[role="treeitem"]') + const allitems = Array.prototype.concat.call( + ...this.treeitems, + ...subtreeitems, + ) + for (let i = 0; i < allitems.length; i++) { + let ti = allitems[i] + ti.addEventListener('keydown', this.onKeydown.bind(this)) + // first tree item is in tab sequence of page + if (i === 0) { + ti.tabIndex = 0 + } else { + ti.tabIndex = -1 + } + } + const control = this + // setup drop + + var menu = document.getElementById('main-menu'), + menu_panel = document.getElementById('menu-panel'), + button = document.getElementById('menu-toggle'), + items = this.treeNode.querySelectorAll('#menu-panel a') + + menu.addEventListener('keydown', function (e) { + if (!items.length) return + // no menu to open + if (e.key !== 'Enter') return + e.preventDefault() + e.stopPropagation() + button.click() + }) + + button.addEventListener('click', function () { + menu_panel.classList.toggle('hidden') + if (menu_panel.classList.contains('hidden')) { + control.hideAllSectionPanels() + control.unFocusAllSections() + } + this.classList.toggle('open') + document.getElementById('menu-icon').classList.toggle('open') + if (this.classList.contains('open')) { + menu.setAttribute('aria-expanded', 'true') + items[0].focus() + } else { + menu.setAttribute('aria-expanded', 'false') + } + }) + // setup menu panel + this.treeNode + .querySelectorAll('#menu-panel .panel-section [aria-owns]') + .forEach(function (treeitem) { + treeitem.addEventListener('mouseover', function () { + control.openSiteMenuPanel(treeitem) + }) + }) + + //setup subsections descriptions + this.subtreeNode + .querySelectorAll('.menu-subsection-item') + .forEach(function (item) { + item.addEventListener('mouseenter', function () { + // hide all subsection descriptions + control.hideAllSubsectionDescriptions(item) + }) + item.addEventListener('mouseleave', function () { + var desc = document.getElementById( + item.id.replace('subsection', 'description'), + ) + if (desc) { + desc.classList.add('hidden') + } + }) + }) + subtreeitems.forEach(function (item) { + item.addEventListener('focus', function () { + // hide all subsection descriptions + this.parentNode.dispatchEvent(new Event('mouseenter')) + }) + item.addEventListener('blur', function () { + // hide the current subsection descriptions + this.parentNode.dispatchEvent(new Event('mouseleave')) + }) + }) + } + + hideAllSubsectionDescriptions(div) { + if (!div) return + var desc = document.getElementById( + div.id.replace('subsection', 'description'), + ) + this.treeNode + .querySelectorAll('.subsection-description') + .forEach(function (desc) { + if (desc.classList.contains('hidden')) return + desc.classList.add('hidden') + }) + //show only current subsection description + if (desc) { + desc.classList.remove('hidden') + } + } + + hideAllSectionPanels() { + this.subtreeNode + .querySelectorAll('.menu-panel-section') + .forEach(function (section) { + if (section.classList.contains('hidden')) return + section.classList.add('hidden') + }) + } + + unFocusAllSections() { + this.treeNode + .querySelectorAll('.panel-section') + .forEach(function (section) { + section.classList.remove('open') + var link = section.getElementsByTagName('a') + if (link !== undefined && link.length > 0) { + link[0].setAttribute('aria-expanded', 'false') + } + }) + } + + openSiteMenuPanel(treeitem) { + this.hideAllSectionPanels() + // Show only pannel corresponding to current section + document + .getElementById(treeitem.getAttribute('aria-owns')) + .classList.toggle('hidden') + //remove all open class from sections + this.unFocusAllSections() + treeitem.parentNode.classList.add('open') + treeitem.setAttribute('aria-expanded', 'true') + } + + getParentTreeitemSectionNode(treeitem) { + var node = treeitem.closest("div[role='group']") + if (node) { + return document.getElementById(node.id.replace('section', 'panel')) + } + return false + } + + isVisible(treeitem) { + var flag = true + if (this.isInSubtree(treeitem)) { + var sectionNode = this.getParentTreeitemSectionNode(treeitem) + if ( + !sectionNode || + sectionNode.getAttribute('aria-expanded') === 'false' + ) { + return false + } + } + return flag + } + + isInSubtree(treeitem) { + var parentNode = treeitem.closest("div[role='group']") + if (parentNode) { + return parentNode.getAttribute('role') === 'group' + } + return false + } + + isExpandable(treeitem) { + return treeitem.hasAttribute('aria-expanded') + } + + isExpanded(treeitem) { + return treeitem.getAttribute('aria-expanded') === 'true' + } + + getTreeItemSiblings(treeitem) { + var parent = treeitem.closest("div[role='group']") + if (parent) { + return parent.querySelectorAll('[role="treeitem"]') + } + return [] + } + + getVisibleTreeitems(treeitem) { + var treeitems + if (treeitem.getAttribute('aria-owns')) { + var tree = document.getElementById( + treeitem.getAttribute('aria-owns'), + ) + treeitems = tree.querySelectorAll('ul [role="treeitem"]') + } else { + treeitems = this.getTreeItemSiblings(treeitem) + } + var items = [] + for (var i = 0; i < treeitems.length; i++) { + var ti = treeitems[i] + if (this.isVisible(ti)) { + items.push(ti) + } + } + return items + } + + expandTreeitem(treeitem) { + if (treeitem.getAttribute('aria-owns')) { + this.openSiteMenuPanel(treeitem) + } + } + + setFocusToTreeitem(treeitem) { + treeitem.focus() + } + + setFocusToNextTreeitem(treeitem) { + var visibleTreeitems = this.getVisibleTreeitems(treeitem) + var nextItem = false + for (var i = visibleTreeitems.length - 1; i >= 0; i--) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + nextItem = ti + } + if (nextItem) { + this.setFocusToTreeitem(nextItem) + } + } + + setFocusToNextSection(treeitem) { + var visibleTreeitems = this.treeitems + var nextItem = false + + for (var i = visibleTreeitems.length - 1; i >= 0; i--) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + nextItem = ti + } + if (nextItem) { + this.setFocusToTreeitem(nextItem) + if (this.isExpanded(treeitem)) { + // enxpand nextItem + this.expandTreeitem(nextItem) + } + } + } + + setFocusToPreviousTreeitem(treeitem) { + var visibleTreeitems = this.getVisibleTreeitems(treeitem) + var prevItem = false + + for (var i = 0; i < visibleTreeitems.length; i++) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + prevItem = ti + } + if (prevItem) { + this.setFocusToTreeitem(prevItem) + //this.hideAllSubsectionDescriptions(prevItem.parentNode) + } else { + //try to get to the parent section + if (!this.isExpandable(treeitem)) { + this.setFocusToParentTreeitem(treeitem) + } + } + } + + setFocusToPreviousSection(treeitem) { + var visibleTreeitems = this.treeitems + var prevItem = false + + for (var i = 0; i < visibleTreeitems.length; i++) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + prevItem = ti + } + + if (prevItem) { + this.setFocusToTreeitem(prevItem) + if (this.isExpanded(treeitem)) { + // enxpand prevItem + this.expandTreeitem(prevItem) + } + } + } + + setFocusToParentTreeitem(treeitem) { + var parent = this.getParentTreeitemSectionNode(treeitem) + if (parent) { + this.setFocusToTreeitem(parent.querySelectorAll('[aria-owns]')[0]) + } + } + + setFocusByFirstCharacter(treeitem, char) { + var start, + i, + ti, + index = -1 + var visibleTreeitems = this.getVisibleTreeitems(treeitem) + char = char.toLowerCase() + + // Get start index for search based on position of treeitem + start = visibleTreeitems.indexOf(treeitem) + 1 + if (start >= visibleTreeitems.length) { + start = 0 + } + + // Check remaining items in the tree + for (i = start; i < visibleTreeitems.length; i++) { + ti = visibleTreeitems[i] + if (char === ti.textContent.trim()[0].toLowerCase()) { + index = i + break + } + } + + // If not found in remaining slots, check from beginning + if (index === -1) { + for (i = 0; i < start; i++) { + ti = visibleTreeitems[i] + if (char === ti.textContent.trim()[0].toLowerCase()) { + index = i + break + } + } + } + + // If match was found... + if (index > -1) { + this.setFocusToTreeitem(visibleTreeitems[index]) + } + } + + // Event handlers + + onKeydown(event) { + var tgt = event.currentTarget, + flag = false, + key = event.key + + function isPrintableCharacter(str) { + return str.length === 1 && str.match(/\S/) + } + + if (event.altKey || event.ctrlKey || event.metaKey) { + return + } + if (event.shift) { + if ( + event.keyCode === this.keyCode.SPACE || + event.keyCode === this.keyCode.RETURN + ) { + event.stopPropagation() + } else { + if (isPrintableCharacter(key)) { + if (key !== '*') { + this.setFocusByFirstCharacter(tgt, key) + } + } + } + } else { + switch (key) { + // NOTE: Return key is supported through the click event + case 'Enter': + tgt.click() + flag = true + break + case ' ': + flag = true + break + case 'Up': + case 'ArrowUp': + if (!this.isExpandable(tgt)) { + this.setFocusToPreviousTreeitem(tgt) + } + flag = true + break + + case 'Down': + case 'ArrowDown': + if (this.isExpandable(tgt)) { + if (this.isExpanded(tgt)) { + this.setFocusToNextTreeitem(tgt) + } else { + this.expandTreeitem(tgt) + } + } else { + // navigation by siblings + this.setFocusToNextTreeitem(tgt) + } + flag = true + break + + case 'Right': + case 'ArrowRight': + if (this.isExpandable(tgt)) { + this.setFocusToNextSection(tgt) + } else { + this.setFocusToParentTreeitem(tgt) + } + flag = true + break + + case 'Left': + case 'ArrowLeft': + if (this.isExpandable(tgt)) { + this.setFocusToPreviousSection(tgt) + } else { + this.setFocusToParentTreeitem(tgt) + } + flag = true + break + + default: + if (isPrintableCharacter(key)) { + if (key === '*') { + this.expandAllSiblingTreeitems(tgt) + flag = true + } else { + this.setFocusByFirstCharacter(tgt, key) + } + } + break + } + } + + if (flag) { + event.stopPropagation() + event.preventDefault() + } + } +} + +/** + * ARIA for #sections-menu (menu-first-level) + * + * @function onload + * @description after page has loaded initialize ul.menu-first-level tree + */ + +document.addEventListener( + 'DOMContentLoaded', + () => new SectionsMenuNavigation(document.getElementById('sections-menu')), +) diff --git a/appjs/pnia-mirador.js b/appjs/pnia-mirador.js new file mode 100644 index 0000000..c5512cc --- /dev/null +++ b/appjs/pnia-mirador.js @@ -0,0 +1,81 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2019 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +import Mirador from 'mirador' +import miradorDownloadPlugins from '@biblissima/mirador-dl-plugin' +import {miradorImageToolsPlugin} from '@biblissima/mirador-image-tools' + +function loadMirador() { + const miradirId = 'mirador-container', + container = document.getElementById(miradirId), + language = container.dataset.lang || '', + manifestUrl = container.dataset.manifest || '' + const config = { + id: miradirId, // id selector where Mirador should be instantiate + language: language, + selectedTheme: 'dark', + themes: { + dark: { + palette: { + type: 'dark', + primary: { + main: '#09669d', + }, + secondary: { + main: '#40e014', + }, + }, + }, + }, + workspace: { + showZoomControls: true, // Configure if zoom controls should be displayed by default + }, + miradorDownloadPlugin: { + restrictDownloadOnSizeDefinition: true, + }, + windows: [ + { + allowClose: false, + allowFullscreen: true, + imageToolsEnabled: true, + imageToolsOpen: true, + loadedManifest: manifestUrl, + }, + ], + } + + let miradorViewer = Mirador.viewer(config, [ + ...miradorDownloadPlugins, + ...miradorImageToolsPlugin, + ]) + window.mirador = miradorViewer +} + +document.addEventListener('DOMContentLoaded', () => loadMirador()) diff --git a/appjs/pnia-sectiontree.js b/appjs/pnia-sectiontree.js new file mode 100644 index 0000000..a32a8ef --- /dev/null +++ b/appjs/pnia-sectiontree.js @@ -0,0 +1,356 @@ +/* + * This content is licensed according to the W3C Software License at + * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document + * + * File: treeview-navigation.js + * Desc: Tree item object for representing the state and user interactions for a + * tree widget for navigational links + + * This software or document includes material copied from or + * derived from [Javascript: treeview-navigation.js and + * https://w3c.github.io/aria-practices/examples/treeview/js/treeview-navigation.js of the W3C document]. Copyright © + * [YEAR] W3C® (MIT, ERCIM, Keio, Beihang). + * + */ + +/* global $ */ +'use strict' + +class TreeViewNavigation { + constructor(node) { + // Check whether node is a DOM element + if (typeof node !== 'object') { + return + } + this.treeNode = node + const fold = document.getElementById('fold-all-tree') + var arrows = this.treeNode.querySelectorAll( + '#section-tree .section-tree__section i.fold', + ) + arrows.forEach((arrow) => { + arrow.addEventListener('click', function () { + var caret = this + let label + // if subsection was closed, open it + if (caret.classList.contains('rotate-0')) { + caret.classList.remove('rotate-0') + caret.classList.add('rotate-90') + caret.setAttribute('aria-expanded', 'true') + } else { + caret.classList.add('rotate-0') + caret.classList.remove('rotate-90') + caret.setAttribute('aria-expanded', 'false') + } + fold.innerHTML = label + $(this).parent().parent().siblings('ul').toggleClass('d-none') + const opened = node.querySelectorAll( + '#section-tree .section-tree__section i.fold[aria-expanded="true"]', + ) + if (opened.length > 0) { + fold.setAttribute('aria-expanded', 'true') + fold.innerHTML = fold.dataset.labelCollapse + } else { + fold.setAttribute('aria-expanded', 'false') + fold.innerHTML = fold.dataset.labelExpand + } + }) + }) + + this.navNode = node.parentElement + this.triggerTag = 'i' + this.treeitems = this.treeNode.querySelectorAll('[role="treeitem"]') + for (let i = 0; i < this.treeitems.length; i++) { + let ti = this.treeitems[i] + ti.addEventListener('keydown', this.onKeydown.bind(this)) + // first tree item is in tab sequence of page + if (i === 0) { + ti.tabIndex = 0 + } else { + ti.tabIndex = -1 + } + } + } + + getParentTreeitem(treeitem) { + var node = treeitem.closest('ul') + if (node) { + node = node.previousElementSibling + if (node && node.getAttribute('role') === 'treeitem') { + // remove me + return node + } + node = node.getElementsByTagName(this.triggerTag) + if (node && node[0].getAttribute('role') === 'treeitem') { + return node[0] + } + } + return false + } + + isVisible(treeitem) { + var flag = true + if (this.isInSubtree(treeitem)) { + treeitem = this.getParentTreeitem(treeitem) + if ( + !treeitem || + treeitem.getAttribute('aria-expanded') === 'false' + ) { + return false + } + } + return flag + } + + isInSubtree(treeitem) { + var parentNode = treeitem.closest('ul') + if (parentNode) { + return parentNode.getAttribute('role') === 'group' + } + return false + } + + isExpandable(treeitem) { + return treeitem.hasAttribute('aria-expanded') + } + + isExpanded(treeitem) { + return treeitem.getAttribute('aria-expanded') === 'true' + } + + getVisibleTreeitems() { + var items = [] + for (var i = 0; i < this.treeitems.length; i++) { + var ti = this.treeitems[i] + if (this.isVisible(ti)) { + items.push(ti) + } + } + return items + } + + collapseTreeitem(treeitem) { + if (treeitem.getAttribute('aria-owns')) { + treeitem.click() + } + } + + expandTreeitem(treeitem) { + if (treeitem.getAttribute('aria-owns')) { + treeitem.click() + } + } + + expandAllSiblingTreeitems(treeitem) { + var parentNode = treeitem.closest('ul') + if (parentNode) { + var siblingTreeitemNodes = parentNode.querySelectorAll( + ':scope > li ' + this.triggerTag + '[aria-expanded]', + ) + siblingTreeitemNodes.forEach((sibling) => { + sibling.click() + }) + } + } + + setFocusToTreeitem(treeitem) { + treeitem.focus() + } + + setFocusToNextTreeitem(treeitem) { + var visibleTreeitems = this.getVisibleTreeitems() + var nextItem = false + + for (var i = visibleTreeitems.length - 1; i >= 0; i--) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + nextItem = ti + } + if (nextItem) { + this.setFocusToTreeitem(nextItem) + } + } + + setFocusToPreviousTreeitem(treeitem) { + var visibleTreeitems = this.getVisibleTreeitems() + var prevItem = false + + for (var i = 0; i < visibleTreeitems.length; i++) { + var ti = visibleTreeitems[i] + if (ti === treeitem) { + break + } + prevItem = ti + } + + if (prevItem) { + this.setFocusToTreeitem(prevItem) + } + } + + setFocusToParentTreeitem(treeitem) { + if (this.isInSubtree(treeitem)) { + var parentNode = treeitem.closest('ul') + var node = parentNode.previousElementSibling + if (node && node.getAttribute('role') === 'treeitem') { + // remove me + this.setFocusToTreeitem(node) + return + } + node = node.getElementsByTagName(this.triggerTag) + if (node && node[0].getAttribute('role') === 'treeitem') { + this.setFocusToTreeitem(node[0]) + } + } + } + + setFocusByFirstCharacter(treeitem, char) { + var start, + i, + ti, + index = -1 + var visibleTreeitems = this.getVisibleTreeitems() + char = char.toLowerCase() + + // Get start index for search based on position of treeitem + start = visibleTreeitems.indexOf(treeitem) + 1 + if (start >= visibleTreeitems.length) { + start = 0 + } + + // Check remaining items in the tree + for (i = start; i < visibleTreeitems.length; i++) { + ti = visibleTreeitems[i] + if (char === ti.textContent.trim()[0].toLowerCase()) { + index = i + break + } + } + + // If not found in remaining slots, check from beginning + if (index === -1) { + for (i = 0; i < start; i++) { + ti = visibleTreeitems[i] + if (char === ti.textContent.trim()[0].toLowerCase()) { + index = i + break + } + } + } + + // If match was found... + if (index > -1) { + this.setFocusToTreeitem(visibleTreeitems[index]) + } + } + + // Event handlers + + onKeydown(event) { + var tgt = event.currentTarget, + flag = false, + key = event.key + function isPrintableCharacter(str) { + return str.length === 1 && str.match(/\S/) + } + + if (event.altKey || event.ctrlKey || event.metaKey) { + return + } + if (event.shift) { + if ( + event.keyCode === this.keyCode.SPACE || + event.keyCode === this.keyCode.RETURN + ) { + event.stopPropagation() + } else { + if (isPrintableCharacter(key)) { + if (key === '*') { + this.expandAllSiblingTreeitems(tgt) + flag = true + } else { + this.setFocusByFirstCharacter(tgt, key) + } + } + } + } else { + switch (key) { + // NOTE: Return key is supported through the click event + case 'Enter': + tgt.click() + flag = true + break + case ' ': + flag = true + break + case 'Up': + case 'ArrowUp': + this.setFocusToPreviousTreeitem(tgt) + flag = true + break + + case 'Down': + case 'ArrowDown': + this.setFocusToNextTreeitem(tgt) + flag = true + break + + case 'Right': + case 'ArrowRight': + if (this.isExpandable(tgt)) { + if (this.isExpanded(tgt)) { + this.setFocusToNextTreeitem(tgt) + } else { + this.expandTreeitem(tgt) + } + } + flag = true + break + + case 'Left': + case 'ArrowLeft': + if (this.isExpandable(tgt) && this.isExpanded(tgt)) { + this.collapseTreeitem(tgt) + flag = true + } else { + if (this.isInSubtree(tgt)) { + this.setFocusToParentTreeitem(tgt) + flag = true + } + } + break + + default: + if (isPrintableCharacter(key)) { + if (key === '*') { + this.expandAllSiblingTreeitems(tgt) + flag = true + } else { + this.setFocusByFirstCharacter(tgt, key) + } + } + break + } + } + + if (flag) { + event.stopPropagation() + event.preventDefault() + } + } +} + +/** + * ARIA Treeview example + * + * @function onload + * @description after page has loaded initialize all treeitems based on the role=treeitem + */ + +document.addEventListener('DOMContentLoaded', function () { + var trees = document.querySelectorAll('#section-tree [role="tree"]') + for (let i = 0; i < trees.length; i++) { + new TreeViewNavigation(trees[i]) + } +}) diff --git a/appjs/pnia-toc.js b/appjs/pnia-toc.js index 555660d..ee98bc7 100644 --- a/appjs/pnia-toc.js +++ b/appjs/pnia-toc.js @@ -27,26 +27,14 @@ * The fact that you are presently reading this means that you have had * knowledge of the CeCILL-C license and that you accept its terms. */ - -/* global StickySidebar */ +/* global $ */ import {each} from 'lodash/collection' -function initToc() { - var sidebar = new StickySidebar('.sticky-toc', { - topSpacing: 20, - bottomSpacing: 20, - containerSelector: '.article__content', - innerWrapperSelector: '.ui-toc', - }) - return sidebar -} - function buildToc(uitoc) { if (uitoc === null) { return } - initToc() const nested = uitoc.querySelectorAll('.toc ul') // hide h+1 summary level( @@ -55,7 +43,6 @@ function buildToc(uitoc) { }) const toc = uitoc.querySelector('.toc'), toggleLink = uitoc.querySelector('.toc-links .toggle-menu') - if (uitoc.querySelectorAll('.toc ul.hidden').length === 0) { toggleLink.classList.add('hidden') } @@ -67,12 +54,14 @@ function buildToc(uitoc) { ul.classList.add('hidden') }) label = toggleLink.dataset.labelCollapse + $(toggleLink).attr('aria-expanded', 'false') } else { each(nested, (ul) => { ul.classList.remove('hidden') }) toggleLink.dataset['collapsed'] = false label = toggleLink.dataset.labelExpand + $(toggleLink).attr('aria-expanded', 'true') } toc.classList.toggle('expanded') toggleLink.innerHTML = label @@ -90,12 +79,20 @@ function buildToc(uitoc) { each(toc.querySelectorAll('.toc > li > a[href^="#"]'), (anchor) => { anchor.addEventListener('click', function (e) { + var $link = $(this) each(nested, (ul) => { ul.classList.add('hidden') }) each(e.target.parentNode.querySelectorAll('ul'), (ul) => { ul.classList.remove('hidden') }) + each(uitoc.querySelectorAll('.toc li a + ul.hidden'), (ul) => { + let link = ul.previousElementSibling + if (link !== null) { + $(link).attr('aria-expanded', 'false') + } + }) + $link.attr('aria-expanded', 'true') e.stopPropagation() // do not close the menu }) }) @@ -150,5 +147,5 @@ function buildToc(uitoc) { } document.addEventListener('DOMContentLoaded', () => - buildToc(document.querySelector('.ui-toc')), + buildToc(document.querySelector('.sticky-toc')), ) diff --git a/appjs/pniaservice-map.js b/appjs/pniaservice-map.js new file mode 100644 index 0000000..df67821 --- /dev/null +++ b/appjs/pniaservice-map.js @@ -0,0 +1,86 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2019 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +/* global L, PruneClusterForLeaflet, PruneCluster*/ + +const goldenIcon = L.divIcon({ + iconAnchor: [0, 24], + labelAnchor: [-6, 0], + popupAnchor: [0, -36], + html: ``, +}) + +const blueIcon = L.divIcon({ + iconAnchor: [0, 24], + labelAnchor: [-6, 0], + popupAnchor: [0, -36], + html: ``, +}) + +function buildMap() { + const mapElement = document.querySelector('#service-map') + if (mapElement === null) { + console.error('Could not create the map: #service-map not found') + return + } + const map = L.map('service-map') + + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + maxZoom: 19, + attribution: + '© OpenStreetMap contributors', + }).addTo(map) + + const bounds = new L.LatLngBounds() + + fetch(mapElement.dataset.markerurl, {credentials: 'same-origin'}) + .then((response) => response.json()) + .then((markers) => { + const pruneCluster = new PruneClusterForLeaflet() + for (let marker of markers) { + const mapMarker = new PruneCluster.Marker( + marker.lat, + marker.lng, + ) + bounds.extend(L.latLng(marker.lat, marker.lng)) + if (marker.level === 'level-D') { + mapMarker.data.icon = blueIcon + } else { + mapMarker.data.icon = goldenIcon + } + mapMarker.data.popup = `

${marker.name}

` + pruneCluster.RegisterMarker(mapMarker) + } + map.addLayer(pruneCluster) + map.fitBounds(bounds) + }) +} + +document.addEventListener('DOMContentLoaded', () => buildMap()) diff --git a/appjs/pniaservices-map.js b/appjs/pniaservices-map.js new file mode 100644 index 0000000..418b8d2 --- /dev/null +++ b/appjs/pniaservices-map.js @@ -0,0 +1,976 @@ +/* + * Copyright © LOGILAB S.A. (Paris, FRANCE) 2016-2019 + * Contact http://www.logilab.fr -- mailto:contact@logilab.fr + * + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systemsand/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. + */ + +/* global $, L, BASE_URL */ + +const goldenIcon = L.divIcon({ + iconAnchor: [0, 24], + labelAnchor: [-6, 0], + popupAnchor: [0, -36], + html: ``, +}) + +const blueIcon = L.divIcon({ + iconAnchor: [0, 24], + labelAnchor: [-6, 0], + popupAnchor: [0, -36], + html: ``, +}) + +let markerInfo + +let servicesData + +let servicesOverlays = {} + +let selectedService +let serviceEid // PrimaryView service eid + +let sidebarControl + +let servicesCount = {} + +L.Control.Layers.include({ + _layerControlInputsMap: {}, + + buildServicesControlInputsMap: function () { + const inputs = this._layerControlInputs + for (let i = 0; i < inputs.length; i++) { + this._layerControlInputsMap[ + L.Util.trim(inputs[i].nextSibling.textContent) + ] = inputs[i] + } + }, + + getOverlays: function (visibility) { + let layers = {} + const control = this + this._layers.forEach(function (obj) { + // check if layer is an overlay + if (obj.overlay) { + if ( + visibility === undefined || + control._map.hasLayer(obj.layer) === visibility + ) + return (layers[obj.name] = obj.layer) + } + }) + return layers + }, + + toggleLayoutDisabled: function (title, disabled) { + const input = this._layerControlInputsMap[title] + if (input === undefined) { + console.error( + 'toggleLayoutDisabled: input not found for "' + title + '"', + ) + return + } + if (input.disabled !== disabled) { + input.disabled = disabled + if (disabled) L.DomUtil.setOpacity(input.nextSibling, 0.5) + else L.DomUtil.setOpacity(input.nextSibling, 1) + } + }, + + updateServiceCount: function (title, counts) { + var input = this._layerControlInputsMap[title] + if (input === undefined) { + console.error( + 'updateServiceCount: input not found for "' + title + '"', + ) + return + } + const span = input.nextSibling + const count = counts['0'] + counts['1'] + title = ' ' + title + if (count > 0) { + title += ' (' + count + ')' + } + span.innerHTML = title + }, + + updateServicesCount: function (servicesCount) { + for (const [title, counts] of Object.entries(servicesCount)) { + this.updateServiceCount(title, counts) + } + }, +}) + +L.Control.AllServices = L.Control.extend({ + options: { + collapsed: false, + position: 'topleft', + }, + + initialize: function (options /*{ data: {...} }*/) { + // constructor + L.Util.setOptions(this, options) + }, + + _labels: {}, + setLabels: function (labels) { + this._labels = labels + }, + + _input: null, + getAllServicesCheckbox: function () { + return this._input + }, + + onAdd: function () { + this._initLayout() + + return this._container + }, + + _initLayout: function () { + let container = (this._container = L.DomUtil.create( + 'div', + 'leaflet-control-layers leaflet-control-layers-expanded leaflet-control leaflet-all-services-control', + )) + const div = L.DomUtil.create( + 'div', + '', + L.DomUtil.create( + 'label', + '', + L.DomUtil.create( + 'div', + 'leaflet-control-layers-overlays', + container, + ), + ), + ) + let input = (this._input = L.DomUtil.create( + 'input', + 'leaflet-control-layers-selector', + div, + )) + input.type = 'checkbox' + input.id = 'all-services' + input.checked = true + L.DomUtil.create('span', '', div).innerHTML += + ' ' + this._labels.allTitle + L.DomEvent.disableClickPropagation(container) + return container + }, +}) + +L.control.allServices = function (id, options) { + return new L.Control.AllServices(id, options) +} + +L.Control.Partners = L.Control.extend({ + options: { + collapsed: false, + position: 'topleft', + }, + + initialize: function (options /*{ data: {...} }*/) { + // constructor + L.Util.setOptions(this, options) + }, + + onAdd: function () { + this._initLayout() + + return this._container + }, + + _layerControlInputsMap: {}, + + _labels: {}, + setLabels: function (labels) { + this._labels = labels + }, + + _partnersFilter: '01', + getPartnersFilter: function () { + return this._partnersFilter + }, + + _availableOptions: new Set(), // all available options for a particular dataset + addAvailablePartnersOption: function (option) { + if (!'01'.includes(option)) { + console.error( + 'addAvailablePartnersOption: try to add an invalid option ' + + option + + ' to partners', + ) + } else { + this._availableOptions.add(option) + } + }, + + arePartnersAvailable: function () { + return this._availableOptions.has('1') + }, + + _selectedServices: {0: new Set(), 1: new Set([])}, + updateSelectedServices: function (option, title, action) { + if (!'01'.includes(option)) { + console.error( + 'addAvailablePartnersOption: try to add an invalid option ' + + option + + ' to partners', + ) + return + } + let layers = this._selectedServices[option] + if (layers.has(title)) { + if (action === 'remove') layers.delete(title) + } else { + if (action === 'add') layers.add(title) + } + this._selectedServices[option] = layers + }, + + toggleLayoutDisabled: function (title, action, options) { + const control = this + var updated = '' + options.forEach(function (option) { + control.updateSelectedServices(option, title, action) + updated += option + }) + const data = this._selectedServices + for (const input of Object.values(this._layerControlInputsMap)) { + if (updated.includes(input.value)) { + const values = data[input.value] + let disabled + if (action === 'remove') { + disabled = values.size === 0 + } + if (action === 'add') { + disabled = false + } + input.disabled = disabled + if (disabled) L.DomUtil.setOpacity(input.nextSibling, 0.5) + else L.DomUtil.setOpacity(input.nextSibling, 1) + } + } + }, + + updateServicesCount: function (servicesCount) { + var values = {0: 0, 1: 0} + for (const counts of Object.values(servicesCount)) { + for (const [option, count] of Object.entries(counts)) { + values[option] += count + } + } + for (const [title, input] of Object.entries( + this._layerControlInputsMap, + )) { + const span = input.nextSibling + const count = values[input.value] + span.innerHTML = ' ' + title + if (count > 0) span.innerHTML += ' (' + count + ')' + } + }, + + _reloadServices: null, + initReloadServices: function (func) { + this._reloadServices = func + }, + + reloadServices: function () { + if (this._reloadServices !== null) { + this._reloadServices() + } + }, + + _initLayout: function () { + let container = (this._container = L.DomUtil.create( + 'div', + 'leaflet-control-layers leaflet-control-layers-expanded leaflet-control leaflet-partners-control ', + )) + // ADD partners as argument fo populate + L.DomEvent.disableClickPropagation(container) + this._addInput(container, 'partners', this._labels.partners, '1') + //this._addInput(container, 'nopartners', this._labels.nopartners, '0') + return container + }, + + _addInput: function (container, id, label, value) { + const div = L.DomUtil.create( + 'div', + '', + L.DomUtil.create( + 'label', + '', + L.DomUtil.create( + 'div', + 'leaflet-control-layers-overlays', + container, + ), + ), + ) + const input = L.DomUtil.create( + 'input', + 'leaflet-control-layers-selector', + div, + ) + input.type = 'checkbox' + input.id = id + input.value = value + //input.checked = this._selectedServices[value].size > 0 + L.DomEvent.on(input, 'change', this.inputSelected, this) + this._layerControlInputsMap[label] = input + L.DomUtil.create('span', '', div).innerHTML += ' ' + label + if (!this._availableOptions.has(value)) { + input.disabled = true + L.DomUtil.setOpacity(input.nextSibling, 0.5) + } + }, + + inputSelected: function (ev) { + L.DomEvent.preventDefault(ev) + const elem = ev.target + elem.checked + ? (this._partnersFilter = elem.value) + : (this._partnersFilter = '01') + this.reloadServices() + }, + + onRemove: function () { + for (const input of Object.values(this._layerControlInputsMap)) { + L.DomEvent.off(input) + } + }, +}) + +L.control.partners = function (id, options) { + return new L.Control.Partners(id, options) +} + +L.Control.Sidebar.include({ + prepareServicesTabContent: function () { + const $sidebar = $(this.getContainer()) + if (selectedService) { + $sidebar.find('.leaflet-sidebar-empty-data').addClass('d-none') + $sidebar + .find('.leaflet-sidebar-pane-services') + .removeClass('d-none') + } else { + $sidebar.find('.leaflet-sidebar-empty-data').removeClass('d-none') + $sidebar.find('.leaflet-sidebar-pane-services').addClass('d-none') + } + }, +}) + +function getZoom(dpt) { + if (dpt === undefined || dpt === null) return 2.5 + return dpt < 900 ? 7 : dpt === 93 ? 10 : dpt === 973 ? 8 : 9 +} + +function buildMap() { + const mapElement = document.querySelector('#services-dpt-map') + if (mapElement === null) { + return + } + + serviceEid = mapElement.dataset.zoom + + const selectedDepartment = (function () { + var m = /annuaire\/departements\/(\d+[AB]?)/.exec( + document.location.pathname, + ) + if (m !== null) { + return m[1] + } + m = /\?dpt=(\d+[AB]?)/.exec(document.location.search) + if (m !== null) { + return m[1] + } + return null + })() + + $('select[name="dpt"]').change(function () { + let dpt = $(this).val() + let dptUrl = BASE_URL + 'annuaire/departements' + if (dpt !== '00') dptUrl += '?dpt=' + $(this).val() + document.location.href = dptUrl + }) + + const map = createMap('services-dpt-map') + + map.on({ + dblclick: function (e) { + map.fitBounds(e.target.getBounds()) + map.setView(e.target.getBounds().getCenter()) + return false + }, + }) + + function createMap(divId) { + const dptLines = { + fillColor: '#efefef', + weight: 2, + opacity: 1, + color: '#ccc', + dashArray: '3', + fillOpacity: 0.25, + }, + selectedDepartmentLines = { + color: 'white', + weight: 3, + fill: true, + opacity: 1, + fillColor: '#999', + } + + let center = null, + zoom = null, + latitude = null, + longitude = null + + const $elt = $('#selector-geo-dpt').children(':selected') + if (selectedDepartment && $elt.val() === selectedDepartment) { + zoom = getZoom(selectedDepartment) + latitude = $elt.data('lat') + longitude = $elt.data('long') + if (latitude !== 'None' && longitude !== 'None') { + center = new L.LatLng(latitude, longitude) + } + } + if (center === null) { + center = new L.LatLng(45.070312, 7.6868565) // world + zoom = 2 + } + const map = L.map(divId, { + center: center, + zoom: zoom, + maxZoom: 18, + tileSize: 512, + zoomOffset: -1, + zoomControl: false, + cluster: false, + }) + + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + maxZoom: 19, + attribution: + '© OpenStreetMap contributors', + }).addTo(map) + + function highlightFeature(e) { + const layer = e.target + layer.setStyle(selectedDepartmentLines) + if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { + layer.bringToFront() + } + } + + let geojson + + function resetHighlightFeature(e) { + geojson.resetStyle(e.target) + } + + function clickFeature(e) { + document.location.href = + BASE_URL + + 'annuaire/departements?dpt=' + + e.target.feature.properties.code + } + + function onEachFeature(feature, layer) { + // does this feature have a property named popupContent + + layer.on({ + mouseover: highlightFeature, + mouseout: resetHighlightFeature, + click: clickFeature, + }) + layer.bindTooltip( + '

' + + feature.properties.nom + + ' - ' + + feature.properties.code + + '

', + {opacity: 1}, + ) + if (selectedDepartment === feature.properties.code) { + layer.setStyle(selectedDepartmentLines) + } + } + $.getJSON(mapElement.dataset.jsondata, function (data) { + // add GeoJSON layer to the map once the file is loaded + geojson = L.geoJson(data.features, { + style: dptLines, + onEachFeature: onEachFeature, + }).addTo(map) + }) + return map + } + + // initialize controls + L.Control.zoomHome().addTo(map) + + const allServicesControl = L.control.allServices() + + const servicesControl = L.control.layers(null, [], { + collapsed: false, + position: 'topleft', + }) + + const partnersControl = L.control.partners() + + sidebarControl = L.control + .sidebar({ + container: 'services-dpt-sidebar', + position: 'right', + closeButton: true, + }) + .addTo(map) + + sidebarControl.on('content', function (ev) { + switch (ev.id) { + case 'services': + this.prepareServicesTabContent() + break + } + }) + + function updateSidebarServiceTab(feature) { + const $sidebar = $(sidebarControl.getContainer()) + $sidebar.find('.service').html(feature.properties.name) + if (feature.properties.contact_name === null) { + $sidebar.find('li.contact').addClass('d-none') + } else { + $sidebar + .find('li.contact .contact-label') + .html(feature.properties.contact_label) + $sidebar + .find('li.contact span') + .html(feature.properties.contact_name) + $sidebar.find('li.contact').removeClass('d-none') + } + if (feature.properties.phone_number === null) { + $sidebar.find('li.phone').addClass('d-none') + } else { + $sidebar.find('li.phone span').html(feature.properties.phone_number) + $sidebar.find('li.phone').removeClass('d-none') + } + if (feature.properties.opening_period === null) { + $sidebar.find('li.opening_period').addClass('d-none') + } else { + $sidebar + .find('li.opening_period span') + .html(feature.properties.opening_period) + $sidebar.find('li.opening_period').removeClass('d-none') + } + if (feature.properties.address === null) { + $sidebar.find('li.address').addClass('d-none') + } else { + $sidebar.find('li.address span').html(feature.properties.address) + $sidebar.find('li.address').removeClass('d-none') + } + if (feature.properties.mailing_address === null) { + $sidebar.find('li.mailing_address').addClass('d-none') + } else { + $sidebar + .find('li.mailing_address span') + .html(feature.properties.mailing_address) + $sidebar.find('li.mailing_address').removeClass('d-none') + } + if (feature.properties.email === null) { + $sidebar.find('li.email').addClass('d-none') + } else { + $sidebar + .find('li.email span') + .html( + '' + + feature.properties.email + + '', + ) + $sidebar.find('li.email').removeClass('d-none') + } + if (feature.properties.annual_closure === null) { + $sidebar.find('li.annual_closure').addClass('d-none') + } else { + $sidebar + .find('li.annual_closure span') + .html(feature.properties.annual_closure) + $sidebar.find('li.annual_closure').removeClass('d-none') + } + const website = feature.properties.website + if (website === null) { + $sidebar.find('li.website').addClass('d-none') + } else { + $sidebar + .find('li.website span') + .html( + '' + + website + + '', + ) + $sidebar.find('li.website').removeClass('d-none') + } + if (feature.properties.code_insee === null) { + $sidebar.find('li.code_insee').addClass('d-none') + } else { + $sidebar + .find('li.code_insee span') + .html(feature.properties.code_insee) + $sidebar.find('li.code_insee').removeClass('d-none') + } + $sidebar + .find('li.gps span') + .html( + feature.properties.latitude + + ', ' + + feature.properties.longitude, + ) + const sn = feature.properties.service_social_network + if (sn.length > 0) { + let network = [] + sn.forEach(function (data) { + network.push( + '' + + data[0] + + '', + ) + }) + $sidebar.find('li.social_network span').html(network.join(', ')) + $sidebar.find('li.social_network').removeClass('d-none') + } else { + $sidebar.find('li.social_network').addClass('d-none') + } + if (feature.properties.ead === '1') { + $sidebar + .find('.fi-link a') + .prop( + 'href', + BASE_URL + 'inventaires/' + feature.properties.code, + ) + .removeClass('d-none') + } else { + $sidebar.find('.fi-link').addClass('d-none') + } + if (feature.properties.nomina === '1') { + $sidebar + .find('.nomina-link a') + .prop( + 'href', + BASE_URL + 'basedenoms/' + feature.properties.code, + ) + .removeClass('d-none') + } else { + $sidebar.find('.nomina-link').addClass('d-none') + } + sidebarControl.open('services') + } + + function initServiceLayout(feature, layer) { + layer.bindPopup( + '

' + + feature.properties.name + + '

' + + markerInfo + + '

', + ) + layer.on('mouseover', function () { + this.openPopup() + }) + layer.on('mouseout', function () { + this.closePopup() + }) + layer.on('dblclick', function (e) { + map.setView(e.latlng, 19) + selectedService = feature.properties.eid + updateSidebarServiceTab(feature) + }) + layer.on('click', function () { + sidebarControl.close() + }) + } + + function updateService(data, title, category, cluster) { + let partnersOptions = new Set() + // partnersOptions hold values for partnersControl checkboxes + data = data[category] !== undefined ? data[category] : [] + if (data.length === 0) { + return {cluster: cluster, add: false, options: partnersOptions} + } + let serviceCount = {0: 0, 1: 0} + const partnersFilter = partnersControl.getPartnersFilter() + const icon = category === 'D' ? blueIcon : goldenIcon + const service = L.geoJson(null, { + pointToLayer: function (feature, latlng) { + if ( + feature.properties.category === category && + partnersFilter.includes(feature.properties.partner) + ) { + if (map.hasLayer(cluster)) { + serviceCount[feature.properties.partner] += 1 + } + partnersOptions.add(feature.properties.partner) + return L.marker(latlng, {icon: icon}, {opacity: 1}) + } + }, + + onEachFeature: function (feature, layer) { + initServiceLayout(feature, layer) + }, + }) + cluster.clearLayers() + service.addData(data) + cluster.addLayer(service) + servicesCount[title] = serviceCount + + return { + cluster: cluster, + add: true, + options: partnersOptions, + } + } + + function addService(data, title, category) { + data = data[category] !== undefined ? data[category] : [] + if (data.length === 0) { + return + } + let serviceCount = {0: 0, 1: 0} + const icon = category === 'D' ? blueIcon : goldenIcon + const service = L.geoJson(null, { + pointToLayer: function (feature, latlng) { + if (feature.properties.category === category) { + serviceCount[feature.properties.partner] += 1 + if ( + !selectedService && + serviceEid && + feature.properties.eid === serviceEid + ) { + // display service information + selectedService = serviceEid + updateSidebarServiceTab(feature) + // zoom to it + map.setView(latlng, 19) + } + return L.marker(latlng, {icon: icon}, {opacity: 1}) + } + }, + + onEachFeature: function (feature, layer) { + initServiceLayout(feature, layer) + }, + }) + const cluster = new L.MarkerClusterGroup({ + polygonOptions: { + color: '#ffffff', + opacity: 0.4, + stroke: false, + }, + }) + service.addData(data) + cluster.addLayer(service) + cluster.addTo(map) + + servicesCount[title] = serviceCount + for (const [option, count] of Object.entries(serviceCount)) { + if (count > 0) { + // create a partners checkbox for each options + partnersControl.addAvailablePartnersOption(option) + partnersControl.updateSelectedServices(option, title, 'add') + } + } + servicesControl.addOverlay(cluster, title) + } + + fetch(mapElement.dataset.markerurl, {credentials: 'same-origin'}) + .then((response) => response.json()) + .then((data) => { + servicesData = data.data + markerInfo = data.i18n.markerInfo + if (servicesData.length === 0) { + console.error('Fetch: no data found', servicesData) + return + } + addAllServicesControlToMap(data.i18n.services) + servicesOverlays = data.overlays + for (const [title, category] of Object.entries(servicesOverlays)) { + addService(servicesData, title, category) + } + if (serviceEid && !selectedService) { + console.error('Requested service %s is not found', serviceEid) + // sidebarControl.open('services') + } + addServicesControlToMap() + addPartnersControlToMap(data.i18n.partners) + handleServicesOverlaysSelection() + // display the sidebar + sidebarControl.getContainer().classList.remove('d-none') + }) + + function resetLocation() { + if (selectedDepartment) { + map.setZoom(getZoom(selectedDepartment)) + } + selectedService = null + sidebarControl.close() + } + + function reloadService(layerTitle, action) { + const layer = servicesControl.getOverlays()[layerTitle] + const result = updateService( + servicesData, + layerTitle, + servicesOverlays[layerTitle], + layer, + ) + if (result.add) { + // change partnersControl options + partnersControl.toggleLayoutDisabled( + layerTitle, + action, + result.options, + ) + } + var counts = servicesCount[layerTitle] + servicesControl.updateServiceCount(layerTitle, counts) + partnersControl.updateServicesCount(servicesCount) + resetLocation() + } + + function reloadServices() { + for (const [layerTitle, layer] of Object.entries( + servicesControl.getOverlays(), + )) { + const result = updateService( + servicesData, + layerTitle, + servicesOverlays[layerTitle], + layer, + ) + if (result.add) { + let disable = false + const partnersFilter = partnersControl.getPartnersFilter() + if (partnersFilter.length === 0 || result.options.size === 0) + disable = true + else if ( + partnersFilter.length === 1 && + !result.options.has(partnersFilter) + ) + disable = true + servicesControl.toggleLayoutDisabled(layerTitle, disable) + } + } + servicesControl.updateServicesCount(servicesCount) + partnersControl.updateServicesCount(servicesCount) + } + + function addServicesControlToMap() { + servicesControl.addTo(map) + servicesControl.buildServicesControlInputsMap() + servicesControl.updateServicesCount(servicesCount) + L.DomUtil.addClass( + servicesControl.getContainer(), + ' leaflet-services-control', + ) + } + + function addPartnersControlToMap(labels) { + // don't display partners filer if no "parters" available + if (partnersControl.arePartnersAvailable()) { + partnersControl.setLabels(labels) + partnersControl.initReloadServices(reloadServices) + partnersControl.addTo(map) + partnersControl.updateServicesCount(servicesCount) + } + } + + function addAllServicesControlToMap(labels) { + allServicesControl.setLabels(labels) + allServicesControl.addTo(map) + + // add a listner to allServicesControl checkbox + L.DomEvent.addListener( + allServicesControl.getAllServicesCheckbox(), + 'click', + function (ev) { + if ($(this).prop('checked') === true) { + for (const layer of Object.values( + servicesControl.getOverlays(), + )) { + map.addLayer(layer) + } + } else { + for (const layer of Object.values( + servicesControl.getOverlays(), + )) { + map.removeLayer(layer) + } + } + servicesControl.buildServicesControlInputsMap() + servicesControl.updateServicesCount(servicesCount) + partnersControl.updateServicesCount(servicesCount) + reloadServices() + L.DomEvent.stopPropagation(ev) + }, + ) + } + + function handleServicesOverlaysSelection() { + // add listners to layoutControl overlays + const allServicesCheckbox = allServicesControl.getAllServicesCheckbox() + map.on('overlayadd', function (eo) { + if (Object.keys(servicesControl.getOverlays(false)).length === 0) { + if (!$(allServicesCheckbox).is(':checked')) { + $(allServicesCheckbox).prop('checked', true) + } + } + reloadService(eo.name, 'add') + }) + + map.on('overlayremove', function (eo) { + if ($(allServicesCheckbox).is(':checked')) { + $(allServicesCheckbox).prop('checked', false) + } + reloadService(eo.name, 'remove') + }) + + map.on('click', function () { + // deselect the selected service and close the sidebarControl + if (selectedService !== null) { + selectedService = null + } + sidebarControl.close() + }) + } +} + +document.addEventListener('DOMContentLoaded', () => buildMap()) diff --git a/appjs/translate.ts b/appjs/translate.ts new file mode 100644 index 0000000..c939da4 --- /dev/null +++ b/appjs/translate.ts @@ -0,0 +1,37 @@ +type TranslationsDict = { + [msg: string]: string +} + +declare global { + interface Window { + TRANSLATIONS?: TranslationsDict + } +} + +function translate(msg: string, ...args: any[]): string { + if (typeof msg === 'undefined') { + // eslint-disable-next-line no-console + console.error('undefined string to translate!') + return '' + } + if (typeof window.TRANSLATIONS === 'undefined') { + window.TRANSLATIONS = {} + } + + msg = window.TRANSLATIONS[msg] || msg + if (typeof msg.replace !== 'function') { + // eslint-disable-next-line no-console + console.error('no replace method on message instance!') + // eslint-disable-next-line no-console + console.error(msg) + return '' + } + + return msg.replace(/{(\d+)}/g, function (match, number) { + return typeof args[number] != 'undefined' ? args[number] : match + }) +} + +export type TranslateFunction = (msg: string, ...args: any[]) => string + +export {translate} diff --git a/appjs/yasgui/Main.tsx b/appjs/yasgui/Main.tsx new file mode 100644 index 0000000..6e1af59 --- /dev/null +++ b/appjs/yasgui/Main.tsx @@ -0,0 +1,152 @@ +/* global SPARQL_ENDPOINT */ + +import React from 'react' +import Select from 'react-select' + +import Yasgui from '@triply/yasgui' +import '@triply/yasgui/build/yasgui.min.css' + +import PREFIXES from './prefixes.js' +import {SAMPLE_QUERIES} from './sample-queries.js' + +const Yasqe = Yasgui.Yasqe +const ENDPOINT = (window as any).SPARQL_ENDPOINT + +Yasqe.defaults.autocompleters.splice( + Yasqe.defaults.autocompleters.indexOf('prefixes'), + 1, +) +Yasqe.forkAutocompleter('prefixes', { + name: 'prefixes-fa', + get: () => { + return new Promise((resolve) => { + setTimeout(() => { + resolve( + Object.keys(PREFIXES).map( + (prefix) => `${prefix}: <${PREFIXES[prefix]}>`, + ), + ) + }) + }) + }, +}) + +Yasqe.defaults.value = `SELECT DISTINCT ?Concept +WHERE { + [] a ?Concept +} LIMIT 100` +Yasgui.defaults.requestConfig.endpoint = ENDPOINT +Yasgui.defaults.endpointCatalogueOptions.getData = () => { + return [ + { + endpoint: ENDPOINT, + }, + ] +} +Yasgui.defaults.yasr.prefixes = PREFIXES + +export default function Main() { + const [yasgui, setYasgui] = React.useState(null) + + React.useEffect(() => { + const yasguiAnchor = document.getElementById('yasgui') + if (yasguiAnchor !== null) { + setYasgui(new Yasgui(yasguiAnchor, {})) + } + }, []) + + const prefixes = Object.keys(PREFIXES).map((prefix) => { + return { + value: prefix, + label: `${prefix}: ${PREFIXES[prefix]}`, + } + }) + + const sampleQueries = SAMPLE_QUERIES.map((query, index) => { + return { + value: index, + label: query.title, + query: query.query, + } + }) + + const updateSampleQuery = (option) => { + const tab = yasgui!.getTab() + if (tab !== undefined) { + tab.setQuery(sampleQueries[option.value].query) + } + } + + const addNewPrefix = (option) => { + const prefixes = {} + prefixes[option.value] = PREFIXES[option.value] + const tab = yasgui!.getTab() + if (tab !== undefined) { + tab.getYasqe().addPrefixes(prefixes) + } + } + + return ( +
+
+ +
+
+
+
+ +
+ ) +} + +const ResultsPermalink = ({yasqe}) => { + const [query, setQuery] = React.useState('') + const [endPointUrl, setEndPointUrl] = React.useState('') + const [contentType, setContentType] = React.useState('') + const contentTypeMapping = { + 'application/sparql-results+json': 'application/json', + } // this will allow to render the result directly in the webbrowser + + React.useEffect(() => { + if (!yasqe) { + return + } + yasqe.on('queryResponse', (instance, req, duration) => { + setQuery( + encodeURI(instance.getValueWithoutComments()).replace( + /#/g, + '%23', + ), + ) + setEndPointUrl(req.req.url) + const contentType = req.header['content-type'] + if (contentType in contentTypeMapping) { + setContentType(contentTypeMapping[contentType]) + } else { + setContentType(contentType) + } + }) + }, [yasqe, contentTypeMapping]) + + const resultsUrl = `${endPointUrl}?query=${query}&format=${contentType}` + return query ? ( + + ) : null +} diff --git a/appjs/yasgui/index.tsx b/appjs/yasgui/index.tsx new file mode 100644 index 0000000..47b149f --- /dev/null +++ b/appjs/yasgui/index.tsx @@ -0,0 +1,5 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import Main from './Main' + +ReactDOM.render(
, document.getElementById('root')) diff --git a/appjs/yasgui/prefixes.js b/appjs/yasgui/prefixes.js new file mode 100644 index 0000000..706be85 --- /dev/null +++ b/appjs/yasgui/prefixes.js @@ -0,0 +1,18 @@ +export default { + dc: 'http://purl.org/dc/elements/1.1/', + dcmitype: 'http://purl.org/dc/dcmitype/', + dcterms: 'http://purl.org/dc/terms/', + foaf: 'http://xmlns.com/foaf/0.1/', + francearchives: 'https://francearchives.fr/', + geo: 'http://www.w3.org/2003/01/geo/wgs84_pos#', + geonames: 'http://www.geonames.org/ontology#', + owl: 'http://www.w3.org/2002/07/owl#', + rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + rico: 'https://www.ica.org/standards/RiC/ontology#', + rdfs: 'http://www.w3.org/2000/01/rdf-schema#', + schemaorg: 'http://schema.org/', + skos: 'http://www.w3.org/2004/02/skos/core#', + wd: 'http://www.wikidata.org/entity/', + xml: 'http://www.w3.org/XML/1998/namespace', + xsd: 'http://www.w3.org/2001/XMLSchema#', +} diff --git a/appjs/yasgui/sample-queries.js b/appjs/yasgui/sample-queries.js new file mode 100644 index 0000000..c4e44cc --- /dev/null +++ b/appjs/yasgui/sample-queries.js @@ -0,0 +1,70 @@ +export const SAMPLE_QUERIES = [ + { + query: 'SELECT ?s ?p ?o\nWHERE { ?s ?p ?o . }\nLIMIT 100', + title: 'Explorer les donn\u00e9es', + }, + { + query: 'SELECT DISTINCT ?class\nWHERE {\n ?x a ?class .\n}', + title: 'Liste des classes', + }, + { + query: 'PREFIX rico: \nSELECT DISTINCT * WHERE {\n ?x a rico:RecordResource.\n ?x rico:hasProvenance .\n} ', + title: 'Archives produites par Georges Clemenceau (autorité personne)', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nSELECT DISTINCT ?x WHERE {\n ?x a rico:RecordResource.\n ?x rico:hasProvenance ?originator.\n ?originator rico:name "Petit, Jean".\n ?originator rico:performsOrPerformed ?performance.\n ?performance rico:hasActivityType ?activity.\n ?activity rdfs:label "notaire à paris".\n} ', + title: 'Archives produites par Jean Petit (autorité personne) qui a pour activité « notaire à Paris »', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \nSELECT DISTINCT * WHERE {\n ?x a rico:RecordResource.\n ?x rico:hasOrHadSubject .\n ?x rico:beginningDate ?dateDeb.\n FILTER(?dateDeb < "1715"^^xsd:gYear)\n} ', + title: 'Archives antérieures à 1715 concernant Pamiers (autorité)', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nSELECT DISTINCT ?x WHERE { \n ?x a rico:Person.\n ?x rico:performsOrPerformed ?performance.\n ?performance rico:hasActivityType ?activity.\n ?activity rdfs:label "notaire".\n ?archive rico:hasProvenance ?x.\n ?archive a rico:RecordResource.\n} ', + title: "Personne qui a pour activité « notaire » et est le producteur d'archives", + }, + { + query: 'PREFIX rdfs: \nPREFIX rico: \nSELECT DISTINCT ?x ?nom WHERE {\n ?x a rico:Person.\n ?x rico:isOrWasMemberOf ?family.\n ?family rico:name "Bonaparte (famille)".\n} ', + title: 'Personne qui fait partie de la famille qui a pour nom « Bonaparte »', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \n\nSELECT DISTINCT ?x ?bDate WHERE {\n ?x a rico:Person.\n ?x rico:birthDate ?bDate .\n FILTER(YEAR(?bDate) > 1850).\n FILTER(YEAR(?bDate) < 1950).\n}\nLIMIT 100', + title: 'Personnes qui sont nées entre 1850 et 1950', + }, + { + query: 'PREFIX rico: \nSELECT DISTINCT ?x WHERE {\n ?x a rico:RecordResource.\n ?x rico:hasOrHadSubject .\n MINUS { ?x rico:hasOrHadManager }\n} \nLIMIT 100', + title: 'Archives concernant Poitiers (autorité) et qui ne sont pas conservées par les Archives de la Vienne', + }, + { + query: 'PREFIX rico: \nSELECT DISTINCT ?x ?dateFin WHERE {\n ?x a rico:RecordResource.\n rico:includesOrIncluded+ ?x.\n ?x rico:endDate ?dateFin.\n} ', + title: 'Dates de fin qui sont reliées aux archives reliées au fonds « Fabrique de berlingot Eysséric »', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \n\nSELECT DISTINCT ?x WHERE {\n ?x a rico:RecordResource.\n ?FARecord rico:describesOrDescribed ?x.\n ?FARecord rico:hasDocumentaryFormType .\n {?x rico:hasOrHadSubject .}\n UNION {\n ?x rico:hasOrHadSubject .\n } \n UNION{ \n ?x rico:hasProvenance ?person. \n ?person rico:performsOrPerformed ?perf. \n ?perf rico:hasActivityType ?activity. \n ?activity rdfs:label "photographe". \n } \n} ', + title: 'Fonds d’archives reliés aux thèmes « photographie » OU « document photographique » (autorités thème) OU qui a pour producteur une personne (autorité) qui a pour activité « photographe »', + }, + { + query: 'PREFIX rico: \nSELECT DISTINCT ?place ?nom WHERE { \n ?x a rico:RecordResource. \n ?x rico:hasOrHadSubject ?place. \n ?place a rico:Place.\n ?place rico:name ?nom.\n rico:includesOrIncluded+ ?x.\n} ', + title: 'Lieux sujets d’archives qui sont reliées au fonds « Fabrique de berlingot Eysséric »', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \nSELECT DISTINCT ?service WHERE { \n ?x a rico:RecordResource. \n ?x rico:hasOrHadSubject . \n ?x rico:hasOrHadManager ?service.\n}', + title: 'Lieu de conservation qui conserve des archives concernant « Charles de Gaulle » (autorité personne)', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \nSELECT DISTINCT ?x ?name WHERE { \n ?x a rico:CorporateBody.\n ?x rico:name ?name. \n ?z ?rel ?x.\n ?z a rico:RecordResource.\n FILTER(regex(?name,"marine","i")).\n} ', + title: 'Institution dont le nom contient « marine » et relié à un fonds OU à des archives', + }, + { + query: 'PREFIX rico: \nSELECT DISTINCT ?personne ?nomPersonne ?org ?nomInstitution WHERE { \n ?personne a rico:Person. \n ?personne rico:name ?nomPersonne. \n ?org rico:name ?nomInstitution.\n ?org a rico:CorporateBody. \n ?personne rico:isAgentAssociatedWithAgent ?org. \n} \nLIMIT 100', + title: 'Personne qui a une relation avec une institution', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nSELECT DISTINCT ?x ?nom WHERE { \n ?x a rico:CorporateBody. \n ?x rico:hasOrHadLegalStatus ?status. \n ?status rdfs:label "ministère". \n ?record a rico:RecordResource. \n ?record rico:hasOrHadSubject ?x. \n ?x rico:name ?nom.\n} ', + title: 'Institution qui a pour type « ministère » ET est le sujet d’archives', + }, + { + query: 'PREFIX rico: \nPREFIX rdfs: \nPREFIX xsd: \nSELECT DISTINCT * WHERE { \n ?x a rico:RecordResource. \n {\n ?x rico:hasOrHadSubject .\n } \n UNION { \n ?x rico:hasOrHadSubject . \n } \n ?x rico:hasOrHadSubject ?place. \n ?place a rico:Place. \n ?x rico:endDate ?dateFin. \n FILTER(?dateFin > "1800"^^xsd:gYear) \n} \nLIMIT 100 ', + title: 'Pour isoler les les descriptions relatives à des moulins localisés : Thème « moulin » OU « moulin à eau » relié à des archives qui comportent un lieu ET postérieures à 1800', + }, +] diff --git a/cubicweb_francearchives/__init__.py b/cubicweb_francearchives/__init__.py index f1f7afa..3599ec6 100644 --- a/cubicweb_francearchives/__init__.py +++ b/cubicweb_francearchives/__init__.py @@ -35,36 +35,67 @@ import os import os.path as osp import stat - +from sched import scheduler import psycopg2 from pyramid.settings import asbool from logilab.common.decorators import monkeypatch +from logilab.common.registry import objectify_predicate from cubicweb.__pkginfo__ import numversion as cwversion from cubicweb.cwctl import init_cmdline_log_threshold from cubicweb.cwconfig import CubicWebConfiguration from cubicweb.entity import Entity, TransformData, ENGINE from cubicweb.server.repository import Repository -from cubicweb.server.utils import scheduler from cubicweb.server.sources import storages from cubicweb import repoapi +# MONKEYPATCH for db-create +from cubicweb.server.serverctl import CreateInstanceDBCommand +from cubicweb.server.serverctl import ( + check_options_consistency, + ServerConfiguration, + get_db_helper, + ASK, + underline_title, + _db_sys_cnx, + CWCTL, + createdb, + source_cnx, +) + from cubicweb_francearchives.__pkginfo__ import numversion as faversion from cubicweb_elasticsearch import es -from cubicweb_francearchives.cssimages import static_css_dir from cubicweb_francearchives.htmlutils import soup2xhtml +from cubicweb_s3storage.storages import S3Storage, S3DeleteFileOp + # make sure psycopg2 always return unicode strings, # cf. http://initd.org/psycopg/docs/faq.html#faq-unicode psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) psycopg2.extensions.register_type(psycopg2.extensions.UNICODEARRAY) GLOSSARY_CACHE = [] +SECTIONS = {"gerer": None} + +STATIC_CSS_DIRECTORY = "css" + +S3_ACTIVE = bool(os.getenv("AWS_S3_BUCKET_NAME")) + +POSTGRESQL_SUPERUSER = bool(int(os.getenv("CW_POSTGRESQL_SUPERUSER", 0))) + +FEATURE_IIIF = bool(int(os.getenv("FEATURE_IIIF", 0))) +FEATURE_ADVANCED_SEARCH = bool(int(os.getenv("FEATURE_ADVANCED_SEARCH", 0))) +FEATURE_SPARQL = bool(int(os.getenv("FEATURE_SPARQL", 0))) + + +@objectify_predicate +def display_advanced_search_predicate(cls, req, rset, row=0, col=0, **kwargs): + return FEATURE_ADVANCED_SEARCH def get_user_agent(): @@ -90,18 +121,19 @@ def format_version(numversion): "NewsContent", "Circular", "Service", - "CommemoCollection", "Map", "ExternRef", - "Person", "FindingAid", "FAComponent", "File", "BaseContentTranslation", "SectionTranslation", "CommemorationItemTranslation", + "AuthorityRecord", ] +NOMINA_INDEXABLE_ETYPES = ("NominaRecord",) + SUPPORTED_LANGS = ("fr", "en", "de", "es") @@ -128,7 +160,6 @@ def format_version(numversion): "NewsContent", "Circular", "CommemorationItem", - "CommemoCollection", "ExternRef", "Map", ) @@ -141,7 +172,14 @@ def format_version(numversion): CMS_I18N_OBJECTS = ES_CMS_I18N_OBJECTS + ("FaqItemTranslation",) -FIRST_LEVEL_SECTIONS = {"decouvrir", "comprendre", "gerer"} +FIRST_LEVEL_SECTIONS = {"rechercher", "decouvrir", "comprendre", "gerer"} + + +INDEX_ETYPE_2_URLSEGMENT = { + "LocationAuthority": "location", + "SubjectAuthority": "subject", + "AgentAuthority": "agent", +} class Authkey(object): @@ -221,9 +259,127 @@ def entity_deleted(self, entity, attr): storages.DeleteFileOp.get_instance(entity._cw).add_data(fpath) +class FranceArchivesS3Storage(S3Storage): + def __init__(self, bucket, suffix=".tmp", import_prefix=""): + # TODO S3 add `import_prefix="import/"` to handle failed imports + # If an import fails: + # all `import_prefixed` files must be removed. + # If an import succeeds: + # all `import_prefixed` files must be renamed into + # files without the prefix + # Note: with FABfssStorage those cases are not handled + super(FranceArchivesS3Storage, self).__init__(bucket, suffix=suffix) + self.import_prefix = import_prefix + + def ensure_key(self, s3key): + """ + Ensure s3key only contains authorized characters and does not starts with "/" + """ + # TODO + s3key = s3key.lstrip("/") + return s3key + + def new_s3_key(self, entity, attr): + return self.ensure_key(self.compute_new_s3_key(entity, attr)) + + def compute_new_s3_key(self, entity, attr): + if entity.title: + # TODO replace this quick and dirty fix + if entity.title.startswith("static/css"): + return entity.title + return f"{entity.data_hash}_{entity.data_name}" + + def get_upload_extra_args(self, _entity, _attr, _key): + """This code is a copy from cubiweb_s3storage + and must be removed after + - https://forge.extranet.logilab.fr/cubicweb/cubes/s3storage/-/issues/5 + is resolved (1.0.3) + """ + + if _entity.data_format: + return {"ContentType": _entity.data_format} + + def entity_deleted(self, entity, attr): + """an entity using this storage for attr has been deleted. + Francearchives customization: + while deleting a CWFile, only delete the referenced file from FS + if there is no other CWFile referencing the same fkey (e.g same cw_data) + """ + key = self.get_s3_key(entity, attr) + if key is not None: + sys_source = entity._cw.repo.system_source + sql_query = """ + SELECT count(f.cw_eid) FROM cw_file f + JOIN cw_file f1 ON f.cw_{attr}=f1.cw_{attr} + WHERE f1.cw_eid =%(eid)s + AND f.cw_eid!=%(eid)s; + """.format( + attr=attr + ) + attrs = {"eid": entity.eid} + cu = sys_source.doexec(entity._cw, sql_query, attrs) + res = cu.fetchone()[0] + # only delete the file if there is no more cw_files referencing the same + # fspath + if not res: + S3DeleteFileOp.get_instance(entity._cw).add_data((self, key, entity.eid, attr)) + + def file_exists(self, key): + """ + Check if file exists using HEAD s3 command + """ + from botocore.exceptions import ClientError + + if isinstance(key, bytes): + key = key.decode("utf-8") + try: + head = self.s3cnx.head_object(Key=key, Bucket=self.bucket) + return head["ResponseMetadata"].get("HTTPStatusCode") == 200 + except ClientError: + # print(f"[file_exists]: no {key} key found in bucket: {err}") + return False + + def rename_object(self, old_s3_key, new_s3_key): + """ + Rename an object + + :old_s3_key: the key to rename from + :new_s3_key: the key to rename to + """ + self.s3cnx.copy_object( + Bucket=self.bucket, + CopySource={"Bucket": self.bucket, "Key": old_s3_key}, + Key=new_s3_key, + ) + self.s3cnx.delete_object(Bucket=self.bucket, Key=old_s3_key) + self.info(f"Renamed {old_s3_key} into {new_s3_key}") + + def import_prefixed_key(self, key): + return self.import_prefix + key + + def temporary_import_upload(self, binary, key, **extra_args): + """ + Create temporary files during import + """ + prefixed_key = self.import_prefixed_key(key) + self.s3cnx.upload_fileobj(binary, self.bucket, prefixed_key, ExtraArgs=extra_args) + + def temporary_import_copy(self, from_key, to_key): + """ + Copy temporary files during import + """ + to_prefixed_key = self.import_prefixed_key(to_key) + from_prefixed_key = self.import_prefixed_key(from_key) + self.s3cnx.copy_object( + Bucket=self.bucket, + CopySource={"Bucket": self.bucket, "Key": from_prefixed_key}, + Key=to_prefixed_key, + ) + + def admincnx(appid, loglevel=None): config = CubicWebConfiguration.config_for(appid) - config["connections-pool-size"] = 2 + config["connections-pool-min-size"] = 2 login = config.default_admin_config["login"] password = config.default_admin_config["password"] @@ -237,29 +393,43 @@ def admincnx(appid, loglevel=None): def init_bfss(repo): - bfssdir = repo.config["appfiles-dir"] - if not osp.exists(bfssdir): - os.makedirs(bfssdir) - print("created {}".format(bfssdir)) - storage = FABfssStorage(bfssdir) + # TODO - remove this bottlekneck code call everywhere else + if S3_ACTIVE: + storage = FranceArchivesS3Storage(os.getenv("AWS_S3_BUCKET_NAME")) + else: + bfssdir = repo.config["appfiles-dir"] + if not osp.exists(bfssdir): + os.makedirs(bfssdir) + print("created {}".format(bfssdir)) + storage = FABfssStorage(bfssdir) storages.set_attribute_storage(repo, "File", "data", storage) +def static_css_dir(static_directory): + if S3_ACTIVE: + return "/".join((osp.basename(static_directory), STATIC_CSS_DIRECTORY)) + else: + return osp.join(static_directory, STATIC_CSS_DIRECTORY) + + def check_static_css_dir(repo): if repo.config.name != "all-in-one": return directory = static_css_dir(repo.config.static_directory) - if not osp.isdir(directory): - repo.critical( - "static css files directory {} does not exist. Trying to create it".format(directory) - ) - try: - os.makedirs(directory) - except Exception: - repo.critical("could not create static css files directory {}".format(directory)) - raise - if not os.access(directory, os.W_OK): - raise ValueError('static css directory "{}" is not writable'.format(directory)) + if not S3_ACTIVE: + if not osp.isdir(directory): + repo.critical( + "static css files directory {} does not exist. Trying to create it".format( + directory + ) + ) + try: + os.makedirs(directory) + except Exception: + repo.critical("could not create static css files directory {}".format(directory)) + raise + if not os.access(directory, os.W_OK): + raise ValueError('static css directory "{}" is not writable'.format(directory)) def includeme(config): @@ -277,6 +447,106 @@ def _cw_mtc_transform(self, data, format, target_format, encoding, _engine=ENGIN return data +# patch from https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/merge_requests/196/commits +# TODO remove when migrating to 3.31.x +# related issue : https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/296 +@monkeypatch(CreateInstanceDBCommand) +def run(self, args): + """run the command with its specific arguments""" + check_options_consistency(self.config) + automatic = self.get("automatic") + drop_db = self.get("drop") + appid = args.pop() + config = ServerConfiguration.config_for(appid) + source = config.system_source_config + dbname = source["db-name"] + driver = source["db-driver"] + helper = get_db_helper(driver) + + def should_drop_db(): + """Return True if the database should be dropped. + + The logic is following: + - if drop_db is set then respect the user choice (either True or False) + - if drop_db is not set then drop only in non automatic mode and + the user confirm the deletion + """ + if drop_db is not None: + return drop_db + if automatic: + return False + drop_db_question = "Database %s already exists. Drop it?" % dbname + return ASK.confirm(drop_db_question) + + if driver == "sqlite": + if os.path.exists(dbname) and should_drop_db(): + os.unlink(dbname) + elif self.config.create_db: + print("\n" + underline_title("Creating the system database")) + # connect on the dbms system base to create our base + dbcnx = _db_sys_cnx(source, "CREATE/DROP DATABASE and / or USER", interactive=not automatic) + cursor = dbcnx.cursor() + try: + if helper.users_support: + user = source["db-user"] + if not helper.user_exists(cursor, user) and ( + automatic or ASK.confirm("Create db user %s ?" % user, default_is_yes=False) + ): + helper.create_user(source["db-user"], source.get("db-password")) + print("-> user %s created." % user) + if dbname in helper.list_databases(cursor): + if should_drop_db(): + cursor.execute('DROP DATABASE "%s"' % dbname) + else: + print( + "The database %s already exists, but automatically dropping it " + "is currently forbidden. You may want to run " + '"cubicweb-ctl db-create --drop=y %s" to continue or ' + '"cubicweb-ctl db-create --help" to get help.' % (dbname, config.appid) + ) + raise Exception("Not allowed to drop existing database.") + createdb(helper, source, dbcnx, cursor) + dbcnx.commit() + print("-> database %s created." % dbname) + except BaseException: + dbcnx.rollback() + raise + cnx = source_cnx(source, special_privs="CREATE LANGUAGE/SCHEMA", interactive=not automatic) + cursor = cnx.cursor() + helper.init_fti_extensions(cursor) + namespace = source.get("db-namespace") + if namespace and ( + automatic or ASK.confirm("Create schema %s in database %s ?" % (namespace, dbname)) + ): + helper.create_schema(cursor, namespace) + cnx.commit() + # postgres specific stuff + if driver == "postgres": + # install plpgsql language + langs = ("plpgsql",) + for extlang in langs: + if automatic or ASK.confirm("Create language %s ?" % extlang): + try: + helper.create_language(cursor, extlang) + except Exception as exc: + print("-> ERROR:", exc) + print( + "-> could not create language %s, " + "some stored procedures might be unusable" % extlang + ) + cnx.rollback() + else: + cnx.commit() + print("-> database for instance %s created and necessary extensions installed." % appid) + print() + if automatic: + CWCTL.run(["db-init", "--automatic", "--config-level", "0", config.appid]) + elif ASK.confirm("Run db-init to initialize the system database ?"): + CWCTL.run(["db-init", "--config-level", str(self.config.config_level), config.appid]) + else: + print("-> nevermind, you can do it later with " '"cubicweb-ctl db-init %s".' % config.appid) + + def create_homepage_metadata(cnx): cnx.create_entity( "Metadata", @@ -285,3 +555,15 @@ def create_homepage_metadata(cnx): description="Portail National des Archives de France", type="website", ) + + +class ColoredLogsMixIn: + failed_mark = "\033[91m" + "x" + "\033[0m" + passed_mark = "\033[32m" + "\u2713" + "\33[0m" + + def log(self, cnx, message, status=None): + if status is not None: + print(f" {self.passed_mark if status else self.failed_mark} {message}") + else: + print(message) + cnx.info(message) diff --git a/cubicweb_francearchives/__pkginfo__.py b/cubicweb_francearchives/__pkginfo__.py index 2037d00..98613d1 100644 --- a/cubicweb_francearchives/__pkginfo__.py +++ b/cubicweb_francearchives/__pkginfo__.py @@ -33,9 +33,8 @@ modname = "francearchives" distname = "cubicweb-francearchives" -numversion = (2, 9, 2) +numversion = (2, 21, 4) version = ".".join(str(num) for num in numversion) - license = "CeCILL-C" author = "LOGILAB S.A. (Paris, FRANCE)" author_email = "contact@logilab.fr" @@ -43,33 +42,39 @@ web = "https://github.com/culturecommunication/francearchives-cubicweb-edition" __depends__ = { - "pyramid": None, - "cubicweb[pyramid,crypto]": ">= 3.26.0,<3.27.0", - "cubicweb-file": ">= 2.3.0", - "cubicweb-link": ">= 1.8.0", - "cubicweb-eac": ">= 0.9.1", - "cubicweb-prov": ">= 0.4.0", + "pyramid": "< 1.10.6", + "cubicweb": ">= 3.37.0,<3.38.0", + "cubicweb-file": ">= 3.4.0", + "cubicweb-link": ">= 1.11.1", + "cubicweb-eac": ">= 1.5.2, <1.6.0", + "cubicweb-prov": ">= 0.6.0", "cubicweb-skos": None, - "cubicweb-elasticsearch": ">= 0.8.0", - "cubicweb-varnish": ">= 0.5.1", - "cubicweb-card": ">= 1.1.2", + "cubicweb-elasticsearch": ">= 0.13.0, <0.14.0", + "cubicweb-varnish": ">= 0.7.0", + "cubicweb-card": ">= 1.3.0", "cubicweb-sentry": None, + "cubicweb-s3storage": ">= 3.2.0,<3.3.0", + "cubicweb-prometheus": ">= 0.3.0,<0.4.0", "sentry-sdk": None, "sickle": ">= 0.7.0", - "glamconv": ">= 0.1.8", - "cubicweb-oaipmh": ">= 0.6.1", - "cwtags": ">= 1.1.0", - "rdflib": ">= 4.2.0", - "rdflib-jsonld": None, + "geojson": ">=2.5.0", + "glamconv": "== 0.2.0", + "cubicweb-oaipmh": ">= 0.9.0, <0.10.0", + "cwtags": ">= 1.2.3", "jinja2": None, "babel": None, "PyYAML": None, "pillow": None, + "polib": "~= 1.1.1", "requests": None, - "urllib3": "> 1.21.1,<1.25", - "psycopg2": None, + "psycopg2-binary": None, + "pyramid-session-redis": ">=1.6.3,<1.7.0", "vobject": ">= 0.9.3", + "yams": "== 0.48.0", "tqdm": None, + # NOTE remove as soon as https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/538 + # has been resolved + "pycryptodomex": "== 3.14.1", } classifiers = [ diff --git a/cubicweb_francearchives/babel.cfg b/cubicweb_francearchives/babel.cfg new file mode 100644 index 0000000..1ea34dd --- /dev/null +++ b/cubicweb_francearchives/babel.cfg @@ -0,0 +1,11 @@ +[javascript: **/*.js] +silent = False + +[javascript: **/*.jsx] +silent = False + +[javascript: **/*.ts] +silent = False + +[javascript: **/*.tsx] +silent = False \ No newline at end of file diff --git a/cubicweb_francearchives/ccplugin.py b/cubicweb_francearchives/ccplugin.py index 7ce7168..64bdbce 100644 --- a/cubicweb_francearchives/ccplugin.py +++ b/cubicweb_francearchives/ccplugin.py @@ -44,14 +44,17 @@ from datetime import datetime from itertools import chain from functools import partial +import logging import csv +from rql import parse as rql_parse +import time import tqdm - import yaml from urllib.parse import urlparse from elasticsearch.helpers import scan, parallel_bulk +from elasticsearch_dsl import Search, query as dsl_query from logilab.database import get_connection from logilab.common.decorators import monkeypatch @@ -67,6 +70,8 @@ from cubicweb_elasticsearch.ccplugin import IndexInES from cubicweb_elasticsearch.es import indexable_entities +from cubicweb_francearchives import S3_ACTIVE, NOMINA_INDEXABLE_ETYPES, ColoredLogsMixIn +from cubicweb_francearchives.storage import S3BfssStorageMixIn from cubicweb_francearchives import admincnx, i18n, sitemap, init_bfss, utils, rdfdump, commemodump from cubicweb_francearchives.dataimport.dc import import_filepath as dc_import_filepath from cubicweb_francearchives.dataimport.directories import import_directory @@ -82,19 +87,40 @@ from cubicweb_francearchives.dataimport.eac import eac_import_files from cubicweb_francearchives.dataimport.maps import import_maps from cubicweb_francearchives.dataimport.newsletter import import_subscribers -from cubicweb_francearchives.utils import init_repository +from cubicweb_francearchives.utils import init_repository, es_start_letter from cubicweb_francearchives.xmlutils import enhance_accessibility from cubicweb_francearchives import CMS_OBJECTS, CMS_I18N_OBJECTS from cubicweb_francearchives.dataimport.scripts.generate_ape_ead import generate_ape_ead_files from cubicweb_francearchives.scripts.nginx_confs_from_faredirects import write_nginx_confs from cubicweb_francearchives.scripts.reindex_authority import reindex_authority +from cubicweb_francearchives.scripts.reindex_nomina import reindex_nomina from cubicweb_francearchives.scripts.dead_links import run_linkchecker, clean_up_linkchecker +from cubicweb_francearchives.scripts.eval_tags import EvalTagValues +from cubicweb_francearchives.scripts.check_db_integrity import DBIntegrityHelper +from cubicweb_francearchives.scripts.index_nomina import index_nomina_in_es +from cubicweb_francearchives.esutils import delete_autority_from_es _tqdm = partial(tqdm.tqdm, disable=None) HERE = osp.dirname(osp.abspath(__file__)) +ETYPES_ES_MAP = { + "ExternRef": { + "cw_etypes": ["Virtual_exhibit", "Blog", "Other"], + "rtype": "reftype", + }, + "BaseContent": { + "cw_etypes": [ + "Publication", + "SearchHelp", + "Article", + ], + "rtype": "content_type", + }, +} + + def get_indexable_fa(cnx, etype, chunksize=100000): lasteid = 0 rql = ( @@ -123,9 +149,14 @@ class PniaIndexInEs(IndexInES): def bulk_actions(self, etypes, cnx, index_name=None, dry_run=False): etypes = set(etypes) & set(cwes.indexable_types(cnx.vreg.schema)) + if not etypes: + print("-> abort indexation: found no suitable etypes to index") + return index_name = index_name or "%s_all" % cnx.vreg.config["index-name"] init_bfss(cnx.repo) for etype in etypes: + cnx.info(f"[{index_name}] Start indexing {etype}...") + print(f"[{index_name}] Start indexing {etype}...") if etype in ("FAComponent", "FindingAid"): gen = get_indexable_fa(cnx, etype, self.config.chunksize) else: @@ -148,7 +179,7 @@ def bulk_actions(self, etypes, cnx, index_name=None, dry_run=False): # "doc_type" in kwargs bellow must be container data. data = { "_op_type": "index", - "_index": index_name or cnx.vreg.config["index-name"], + "_index": index_name or cnx.vreg.config["index-name"], # FIXME "_type": "_doc", "_id": serializer.es_id, "_source": json, @@ -156,6 +187,19 @@ def bulk_actions(self, etypes, cnx, index_name=None, dry_run=False): self.customize_data(data) yield data cnx.info("[{}] indexed {} {} entities".format(index_name, idx, etype)) + print(f"[{index_name}]: Finished indexing {etype} \n") + print(f"[{index_name}]: Indexing completed for all {etypes}\n") + cnx.info(f"[{index_name}]: Indexing completed for all {etypes}\n") + time.sleep(1) # wait for ES to finish + for etype in etypes: + search = Search(index="{}".format(index_name)) + if etype in ETYPES_ES_MAP: + must = [{"terms": {"cw_etype": ETYPES_ES_MAP[etype]["cw_etypes"]}}] + else: + must = [{"term": {"cw_etype": etype}}] + search.query = dsl_query.Bool(must=must) + cnx.info(f"[{index_name}]: found {search.count()} indexed {etype}") + print(f"[{index_name}]: found {search.count()} indexed {etype}") def customize_data(self, data): self.strip_html_from_es_data(data) @@ -169,7 +213,7 @@ def customize_data(self, data): def strip_html_from_es_data(data): """Remove HTML tags from the data that will be sent to ElasticSearch""" # FIXME: get the attribute list from schema introspection - attributes_to_strip = ["content", "manif_prog"] + attributes_to_strip = ["content"] for attr in attributes_to_strip: if attr in data["_source"] and data["_source"][attr]: @@ -481,7 +525,7 @@ class IndexESAutocomplete(Command): { "type": "yn", "default": False, - "help": "set to True if you want to print" "out debug info and progress", + "help": "set to True if you want to print out debug info and progress", }, ), ( @@ -495,6 +539,15 @@ class IndexESAutocomplete(Command): "appended to the index name specified by this option)", }, ), + ( + "etypes", + { + "type": "csv", + "default": "", + "help": "only index given etypes: " + "LocationAuthority, SubjectAuthority, AgentAuthority", + }, + ), ] def suggest_index_name(self, cnx): @@ -507,6 +560,10 @@ def run(self, args): """run the command with its specific arguments""" appid = args.pop(0) with admincnx(appid) as cnx: + self.log = logging.getLogger("index-es-suggest") + if self.config.debug: + self.log.setLevel(logging.DEBUG) + self.log.debug("index: %s", self.suggest_index_name(cnx)) indexer = cnx.vreg["es"].select("suggest-indexer", cnx) indexer.indexable_etypes = SUGGEST_ETYPES indexer.create_index(index_name=self.suggest_index_name(cnx)) @@ -515,7 +572,7 @@ def run(self, args): log_in_db(self.index_es_autosuggest)(cnx, es) else: if self.config.debug: - print("no elasticsearch configuration found, skipping") + self.log.debug("no elasticsearch configuration found, skipping") def index_es_autosuggest(self, cnx, es): for _ in parallel_bulk( @@ -538,27 +595,47 @@ def index_es_autosuggest(self, cnx, es): } def bulk_actions(self, cnx, es, dry_run=False): + etypes = self.config.etypes or self.etype2type.keys() + auth_circ_map = dict( + cnx.execute( + """DISTINCT Any A, COUNT(X) GROUPBY A WITH X, A BEING ( + (Any X, A WHERE X is Circular, X business_field F, A same_as F) + UNION + (Any X, A WHERE X is Circular, X action F, A same_as F) + UNION + (Any X, A WHERE X is Circular, X document_type F, A same_as F) + UNION + (Any X, A WHERE X is Circular, X historical_context F, A same_as F) + )""" + ) + ) try: suggest_index_name = self.suggest_index_name(cnx) - for etype, authtable, indextable, in ( + for ( + etype, + authtable, + indextable, + ) in ( ("LocationAuthority", "cw_locationauthority", "cw_geogname"), ("SubjectAuthority", "cw_subjectauthority", "cw_subject"), ("AgentAuthority", "cw_agentauthority", "cw_agentname"), ): + if etype not in etypes: + continue + cnx.info(f"[{suggest_index_name}]: processing {etype}: loading data...") if self.config.debug: - print("processing {}".format(etype)) + print(f"[{suggest_index_name}]: processing {etype}: loading data...") # execute an SQL query instead of RQL like # Any X, L, COUNT(F), COUNT(B), COUNT(X1) GROUPBY X, L WHERE X is {etype}, # X label L, A? authority X, B? related_authority X, A index F?, # X grouped_with X1? # as there is no simple way in RQL to count only distinct values + query = """ - WITH concepts AS ({concepts}) - SELECT at.cw_eid, at.cw_label, + SELECT at.cw_eid, at.cw_label, at.cw_quality, COUNT(DISTINCT rel_index.eid_to), COUNT(DISTINCT rel_auth.eid_from), - COUNT(DISTINCT rel_group.eid_to), - COUNT(DISTINCT concepts.circ) + COUNT(DISTINCT rel_group.eid_to) FROM {authtable} AS at LEFT OUTER JOIN {indextable} AS it ON (it.cw_authority=at.cw_eid) LEFT OUTER JOIN same_as_relation AS sa ON (sa.eid_from=at.cw_eid) @@ -568,33 +645,28 @@ def bulk_actions(self, cnx, es, dry_run=False): ON (rel_index.eid_from=it.cw_eid) LEFT OUTER JOIN grouped_with_relation AS rel_group ON (rel_group.eid_from=at.cw_eid) - LEFT OUTER JOIN concepts - ON (concepts.con=sa.eid_to) GROUP BY at.cw_eid,at.cw_label""" - concepts = " UNION ".join( - [ - """SELECT cw_circular.cw_eid AS circ, cw_concept.cw_eid AS con - FROM cw_circular - JOIN {rel}_relation ON eid_from=cw_circular.cw_eid - JOIN cw_concept ON eid_to=cw_concept.cw_eid""".format( - rel=rel - ) - for rel in ( - "business_field", - "document_type", - "historical_context", - "action", - ) - ] - ) rset = cnx.system_sql( - query.format(authtable=authtable, indextable=indextable, concepts=concepts) + query.format(authtable=authtable, indextable=indextable) ).fetchall() + cnx.info(f"start indexing {len(rset)} {etype}...") if self.config.debug: - print(" > number of entities {}".format(len(rset))) - for autheid, label, countfa, countcomext, countgrouped, countcirculars in rset: + print(f"start indexing {len(rset)} {etype}...") + progress_bar = _tqdm(total=len(rset)) + for i, ( + autheid, + label, + quality, + countfa, + countcomext, + countgrouped, + ) in enumerate(rset): if not dry_run: - count = countfa + countcomext + countcirculars + try: + progress_bar.update() + except Exception: + pass + count_docs = countcomext + auth_circ_map.get(autheid, 0) yield { "_op_type": "index", "_index": suggest_index_name, @@ -608,19 +680,152 @@ def bulk_actions(self, cnx, es, dry_run=False): # because user could have group authorities so # one authority could have 2 AgentName with two different # type + "label": label, "type": self.etype2type[etype], - "additional": "", "urlpath": "{}/{}".format(self.etype2urlsegment[etype], autheid), - "count": count, + "archives": countfa, + "siteres": count_docs, + "count": countfa + count_docs, "grouped": bool(countgrouped), + "quality": quality, + "letter": es_start_letter(label), }, } + cnx.info(f"[{suggest_index_name}]: Finished indexing {etype}") + if self.config.debug: + print(f"[{suggest_index_name}]: Finished indexing {etype}") + except Exception as err: import traceback traceback.print_exc() - print("oups !!!", err) + print(f"Error while indexing!!! {err}") raise + cnx.info(f"\n[{suggest_index_name}]: Suggest indexing terminated\n") + if self.config.debug: + print(f"\n[{suggest_index_name}]: Suggest indexing terminated\n") + if self.config.debug: + time.sleep(1) # wait for ES to finish + for etype in self.etype2type.keys(): + search = Search(index="{}".format(suggest_index_name)) + must = [{"term": {"cw_etype.keyword": etype}}] + search.query = dsl_query.Bool(must=must) + cnx.info(f"[{suggest_index_name}] -> found {search.count()} indexed {etype}") + print(f"[{suggest_index_name}] -> found {search.count()} indexed {etype}") + + +@CWCTL.register +class IndexESNominaRecords(Command): + """Index NominaRecords content. + + + identifier of the instance + + """ + + name = "index-es-nomina" + min_args = max_args = 1 + arguments = "" + options = [ + ( + "dry-run", + { + "type": "yn", + "default": False, + "help": "set to True if you want to skip the insertion in ES", + }, + ), + ( + "debug", + { + "type": "yn", + "default": True, + "help": "set to True if you want to print out debug info and progress", + }, + ), + ( + "stats", + { + "type": "yn", + "default": False, + "help": "set to True if you only want see indexed documents stats", + }, + ), + ( + "services", + { + "type": "csv", + "default": (), + "help": ( + "List of services codes to be indexed separated by comma." + "If the list is empty, all services will be indexed" + ), + }, + ), + ("chunksize", {"type": "int", "default": 100000, "help": "chunksize size"}), + ( + "index-name", + { + "type": "string", + "default": None, + "help": "use a custom index name rather than the one " + "specified in the all-in-one.conf file. " + "(Note that no implicit _suggest suffix will be " + "appended to the index name specified by this option)", + }, + ), + ] + indexable_etypes = NOMINA_INDEXABLE_ETYPES + failed_mark = "\033[91m" + "x" + "\033[0m" + passed_mark = "\033[32m" + "\u2713" + "\33[0m" + + def index_name(self, cnx): + if self.config.index_name: + return self.config.index_name + else: + return cnx.vreg.config["nomina-index-name"] + + def run(self, args): + """run the command with its specific arguments""" + appid = args.pop(0) + with admincnx(appid) as cnx: + indexer = cnx.vreg["es"].select("nomina-indexer", cnx) + indexer.indexable_etypes = self.indexable_etypes + index_name = self.index_name(cnx) + indexer.create_index(index_name=index_name) + es = indexer.get_connection() + self.log = logging.getLogger("index-es-nomina") + if self.config.debug: + self.log.setLevel(logging.DEBUG) + if self.config.stats: + for etype in self.indexable_etypes: + self.show_stats(cnx, es, index_name, etype) + return + if es: + log_in_db(index_nomina_in_es)( + cnx, + es, + index_name, + self.logger, + services=self.config.services, + dry_run=self.config.dry_run, + ) + else: + if self.config.debug: + self.log.error("Error: no elasticsearch configuration found, abort.") + + def show_stats(self, cnx, es, index_name, etype, processed=None): + if not processed: + processed = cnx.execute(f"Any COUNT(X) WHERE X is {etype}")[0][0] + search = Search(index=f"{index_name}") + must = [{"term": {"cw_etype": etype}}] + search.query = dsl_query.Bool(must=must) + status = search.count() == processed + message = f"[{index_name}] {search.count()}/{processed} {etype}(s) have been indexed" + if status: + self.log.info(f" {self.passed_mark} {message}") + else: + self.log.warning(f" {self.failed_mark} {message}") class ImportDC(Command): @@ -764,22 +969,33 @@ class GenSitemap(Command): "help": ("clear destination directory content before generating " "sitemap files"), }, ), + ( + "debug", + { + "type": "yn", + "default": True, + "help": "set to True if you want to print out info", + }, + ), ] def run(self, args): appid = args.pop() with admincnx(appid) as cnx: + cnx.info("[sitemap]: start generating sitemap") dst = cnx.vreg.config.get("sitemap-dir") + if not dst: + cnx.error('[sitemap]: abort: no "sitemap-dir" value found in all-in-one') + return + st = S3BfssStorageMixIn() if self.config.clear_sitemap_dir: - for fname in os.listdir(dst): - fpath = osp.join(dst, fname) - if osp.isfile(fpath): - os.unlink(fpath) - else: - shutil.rmtree(fpath) + if self.config.debug: + print(f'-> [sitemap]: remove existing files in sitemap directory "{dst}"') + st.storage_clean_sitemap_files(dst) if self.config.base_url: cnx.vreg.config.global_set_option("base-url", self.config.base_url) - sitemap.dump_sitemaps(cnx, dst) + sitemap.dump_sitemaps(cnx, st, dst) + cnx.info("[sitemap]: finished generating sitemap files") @CWCTL.register @@ -1047,6 +1263,96 @@ def run(self, args): import_filepaths(cnx, filepaths, readerconfig(cnx.vreg.config, appid, True)) +@CWCTL.register +class ReindexIRFromESDoc(Command): + """reindex IR (PDF / XML) for its IFullTextIndexSerializable serialization""" + + name = "fa-reindex-ead-esdoc" + arguments = " " + min_args = max_args = 2 + + options = [ + ( + "force", + { + "type": "yn", + "default": False, + "help": "delete existing data and reindex all", + }, + ), + ( + "index-name", + { + "type": "string", + "default": None, + "help": "use a custom index name rather than the one " + "specified in the all-in-one.conf file. " + "(Note that no implicit _suggest suffix will be " + "appended to the index name specified by this option)", + }, + ), + ( + "debug", + { + "type": "yn", + "default": True, + "help": "set to True if you want to print out debug info and progress", + }, + ), + ] + + def run(self, args): + appid, stable_id = args + with admincnx(appid) as cnx: + self.log = logging.getLogger("fa-reindex-ead-esdoc") + if self.config.debug: + self.log.setLevel(logging.DEBUG) + init_bfss(cnx.repo) + rset = cnx.execute( + """Any X WHERE X stable_id %(sti)s""", + {"sti": stable_id}, + ) + if not rset: + self.log.error( + "[fa-reindex-ead-esdoc] Error: no Findingaid " + "with stable_id {} found".format(stable_id) + ) + return + indexer = cnx.vreg["es"].select("indexer", cnx) + index_name = self.config.index_name or indexer.index_name + self.log.debug(f"[fa-reindex-ead-esdoc]: index in '{index_name}' index") + es = indexer.get_connection() + if not es: + self.log.error( + "[fa-reindex-ead-esdoc] Error: no elasticsearch configuration found, skipping" + ) + return + entity = rset.one() + if self.config.force: + self.log.info("[fa-reindex-es-service] Delete indexed data") + es.delete_by_query( + index_name, + doc_type="_doc", + body={"query": {"match": {"stable_id": stable_id}}}, + ) + try: + serializer = entity.cw_adapt_to("IFullTextIndexSerializable") + json = serializer.serialize(complete=False) + except Exception: + cnx.error( + "[{}] Failed to serialize entity {}".format(indexer.index_name, entity.eid) + ) + return + data = { + "_op_type": "index", + "_index": index_name, + "_type": "_doc", + "_id": serializer.es_id, + "_source": json, + } + es_bulk_index(es, [data], raise_on_error=True) + + @CWCTL.register class ReindexIRByStableId(Command): """reindex one IR (PDF / XML) documents stored in the database. @@ -1056,7 +1362,7 @@ class ReindexIRByStableId(Command): """ name = "fa-es-reindex" - arguments = "" + arguments = " " min_args = max_args = 2 def run(sealf, args): @@ -1076,19 +1382,49 @@ def run(sealf, args): import_filepaths(cnx, filepaths, readerconfig(cnx.vreg.config, appid, True)) +SERVICE_ETPYES = ["FindingAid", "FAComponent", "BaseContent", "ExternRef"] + + @CWCTL.register class ReindexEsService(Command): """reindex FindingAid and FAComponent in es by service. This command dont delete existing data. - arguments = ' + arguments = ' ' """ name = "fa-reindex-es-service" arguments = "" min_args = max_args = 3 options = [ + ( + "index-name", + { + "type": "string", + "default": None, + "help": "use a custom index name rather than the one " + "specified in the all-in-one.conf file. " + "(Note that no implicit _suggest suffix will be " + "appended to the index name specified by this option)", + }, + ), + ( + "etypes", + { + "type": "csv", + "default": SERVICE_ETPYES, + "help": ("list of cwetypes to be exported: %s" % SERVICE_ETPYES), + }, + ), + ( + "force", + { + "type": "yn", + "default": False, + "help": "delete existing data and reindex all", + }, + ), ( "dry-run", { @@ -1098,24 +1434,63 @@ class ReindexEsService(Command): }, ), ("chunksize", {"type": "int", "default": 100000, "help": "chunksize size"}), + ( + "debug", + { + "type": "yn", + "default": True, + "help": "set to True if you want to print out debug info and progress", + }, + ), ] def run(self, args): - appid, service_code, es_index = args + appid, service_code, index_name = args with admincnx(appid) as cnx: + self.log = logging.getLogger("fa-reindex-es-service") + if self.config.debug: + self.log.setLevel(logging.DEBUG) service = cnx.execute("Any X WHERE X code %(c)s", {"c": service_code}) if not service: - print("No service with code {} exists".format(service_code)) + self.log.error( + "[fa-reindex-es-service] Error: " + "no service with code {} exists".format(service_code) + ) return publisher = service.one().publisher() indexer = cnx.vreg["es"].select("indexer", cnx) + index_name = self.config.index_name or indexer.index_name es = indexer.get_connection() + if not es: + self.log.error( + "[fa-reindex-es-service] Error: no elasticsearch configuration found, skipping" + ) + return + if self.config.force: + self.log.info( + f"[fa-reindex-es-service] Delete {', '.join(self.config.etypes) }" + f" indexed data in {index_name} for '{publisher}'" + ) + must = [{"term": {"service.code": service_code}}] + esetypes = [] + for etype in self.config.etypes: + if etype in ETYPES_ES_MAP: + esetypes.extend(ETYPES_ES_MAP[etype]["cw_etypes"]) + else: + esetypes.append(etype) + must.append({"terms": {"cw_etype": esetypes}}) + es.delete_by_query( + index_name, + doc_type="_doc", + body={"query": {"bool": {"must": must}}}, + ) for _ in parallel_bulk( es, self.bulk_actions( cnx, publisher, - index_name=es_index, + index_name=index_name, + service_code=service_code, chunksize=self.config.chunksize, dry_run=self.config.dry_run, ), @@ -1124,15 +1499,24 @@ def run(self, args): ): pass - def bulk_actions(self, cnx, publisher, index_name, chunksize, dry_run=True): - for etype in ("FindingAid", "FAComponent"): - gen = self.get_indexable_fa(cnx, etype, publisher, chunksize) + def bulk_actions(self, cnx, publisher, index_name, service_code, chunksize, dry_run=True): + for etype, gen in ( + ("FindingAid", self.get_indexable_fa(cnx, "FindingAid", publisher, chunksize)), + ("FAComponent", self.get_indexable_fa(cnx, "FAComponent", publisher, chunksize)), + ( + "BaseContent", + self.get_indexable_cms(cnx, "BaseContent", "basecontent_service", service_code), + ), + ("ExternRef", self.get_indexable_cms(cnx, "ExternRef", "exref_service", service_code)), + ): + if etype not in self.config.etypes: + continue for idx, entity in enumerate(gen, 1): try: serializer = entity.cw_adapt_to("IFullTextIndexSerializable") json = serializer.serialize(complete=False) except Exception: - cnx.error( + self.log.error( "[{}] Failed to serialize entity {} ({})".format( index_name, entity.eid, etype ) @@ -1152,7 +1536,20 @@ def bulk_actions(self, cnx, publisher, index_name, chunksize, dry_run=True): } yield data + def get_indexable_cms(self, cnx, etype, rel, service_code): + rql = cwes.fulltext_indexable_rql(etype, cnx) + rqlst = rql_parse(rql).children[0] + mainvar = next(rqlst.get_selected_variables()) + rset = cnx.execute( + f"{rql}, {mainvar} {rel} {mainvar}SERVICE, {mainvar}SERVICE code '{service_code}'" + ) + self.log.info(f"[fa-reindex-es-service] Reindex {rset.rowcount} {etype}") + for e in rset.entities(): + e.complete() + yield e + def get_indexable_fa(self, cnx, etype, publisher, chunksize=100000): + self.log.info(f"[fa-reindex-es-service] Reindex {etype}") rqlpart = ( "X publisher %(p)s, " if etype == "FindingAid" @@ -1195,6 +1592,57 @@ def run(self, args): reindex_authority(cnx, eid) +@CWCTL.register +class ReindexESNomina(Command): + """reindex NominaRecotd for its INominaIndexSerializable serialization""" + + name = "fa-reindex-es-nomina" + arguments = " " + min_args = max_args = 2 + + options = [ + ( + "force", + { + "type": "yn", + "default": False, + "help": "delete existing data and reindex all", + }, + ), + ( + "index-name", + { + "type": "string", + "default": None, + "help": "use a custom index name rather than the one " + "specified in the all-in-one.conf file. ", + }, + ), + ( + "debug", + { + "type": "yn", + "default": True, + "help": "set to True if you want to print out debug info and progress", + }, + ), + ] + + def run(self, args): + appid, stable_id = args + log = logging.getLogger("fa-reindex-es-nomina") + if self.config.debug: + log.setLevel(logging.DEBUG) + with admincnx(appid) as cnx: + reindex_nomina( + cnx, + stable_id, + index_name=self.config.index_name, + delete=self.config.force, + logger=log, + ) + + @CWCTL.register class HarvestRepos(Command): """harvest OAI-PMH repositories registered in the database.""" @@ -1246,7 +1694,7 @@ def repositories_to_harvest(self, cnx): @CWCTL.register class RdfDump(Command): - """harvest OAI-PMH repositories registered in the database.""" + """create a RDF dump of entities""" name = "fa-rdfdump" arguments = "" @@ -1257,9 +1705,15 @@ class RdfDump(Command): { "type": "csv", "default": list(rdfdump.ETYPES_ADAPTERS), - "help": ( - "liste des types d'entité à exporter " "de la dernière date de moissonnage" - ), + "help": ("list of cwetypes to be exported: %s" % list(rdfdump.ETYPES_ADAPTERS)), + }, + ), + ( + "published", + { + "type": "yn", + "default": True, + "help": "execute on published schema", }, ), ( @@ -1267,23 +1721,107 @@ class RdfDump(Command): { "type": "string", "default": "/tmp", - "help": ("répertoire dans lequel les archives seront créées"), + "help": ( + "directory where the rdf dumps are stored on the filesystem or " + "S3 name bucket" + ), }, ), ( "formats", { "type": "csv", - "default": ("nt", "n3", "xml"), - "help": ("liste des formats dans lequel on veut sérialiser le rdf"), + "default": ("nt",), + "help": ( + "comma separated list of formats you want to generate: 'nt', 'n3', 'xml' " + "(default to nt)" + ), + }, + ), + ( + "chunksize", + { + "type": "int", + "default": 2000, + "help": "chunksize size", + }, + ), + ( + "limit", + { + "type": "int", + "default": None, + "help": "max number of entities generated", + }, + ), + ( + "offset", + { + "type": "int", + "default": 0, + "help": "offset of entities", + }, + ), + ( + "s3", + { + "action": "store_true", + "default": False, + "help": "store in s3 from AWS_S3_RDF_BUCKET_NAME", + }, + ), + ( + "s3db", + { + "action": "store_true", + "default": False, + "help": "delete existing s3 AWS_S3_BUCKET_NAME bucket", + }, + ), + ( + "s3rb", + { + "action": "store_true", + "default": False, + "help": "rename existing s3 AWS_S3_BUCKET_NAME bucket", + }, + ), + ( + "nbprocesses", + { + "type": "int", + "help": "number of subprocesses to spawn to generate RDF dumps", + }, + ), + ( + "logfile", + { + "type": "string", + "default": "/tmp/rdfdump.log", + "help": "rdfdump logfil", + }, + ), + ( + "rqllog", + { + "action": "store_true", + "default": False, + "help": "dump rql queries on stdout", + }, + ), + ( + "profile", + { + "action": "store_true", + "default": False, + "help": "use cProfile to monitor execution (dump in /tmp/rdfdump.prof)", }, ), ] def run(self, args): appid = args.pop() - with admincnx(appid) as cnx: - rdfdump.create_dumps(cnx, self) + rdfdump.rdfdumps(appid, self) class InitDatabase(Command): @@ -1524,6 +2062,14 @@ class ProcessOrphanAuthorities(Command): "help": "only process/delete orphan authorities of given etypes", }, ), + ( + "debug", + { + "type": "yn", + "default": False, + "help": "set to True if you want to print out debug info and progress", + }, + ), ] etype2class = { @@ -1536,6 +2082,9 @@ def run(self, args): appid = args.pop() etypes = ("LocationAuthority", "SubjectAuthority", "AgentAuthority") do_delete = not self.config.dry_run + self.log = logging.getLogger(self.name) + if self.config.debug: + self.log.setLevel(logging.DEBUG) with admincnx(appid) as cnx: if self.config.etypes: etypes = self.config.etypes @@ -1546,18 +2095,34 @@ def run(self, args): if do_delete: print("Delete {count} orphan {etype}".format(count=rset.rowcount, etype=etype)) progress_bar = _tqdm(total=rset.rowcount) + eids_to_delete = [] for i, eid in enumerate(rset): + eid = eid[0] + eids_to_delete.append(eid) + cnx.transaction_data["delete-orphans"] = True + # delete all trailing same_as for "LocationAuthority" + # and "SubjectAuthority") + if etype in ("LocationAuthority", "SubjectAuthority"): + cnx.execute("DELETE S same_as A WHERE A eid %(eid)s", {"eid": eid}) + cnx.execute("DELETE A same_as S WHERE A eid %(eid)s", {"eid": eid}) cnx.execute( - "DELETE {etype} X WHERE X eid {eid}".format(etype=etype, eid=eid[0]) + "DELETE {etype} X WHERE X eid {eid}".format(etype=etype, eid=eid) ) + # delete from history table + cnx.system_sql(f"delete from authority_history where autheid={eid}") if not i % 100: # commit every 100 entities to limit memory consumption cnx.commit() + # update es indexes + delete_autority_from_es(cnx, eids_to_delete, self.log) + eids_to_delete = [] try: progress_bar.update() except Exception: pass cnx.commit() + # update es indexes + delete_autority_from_es(cnx, eids_to_delete, self.log) @CWCTL.register @@ -1607,6 +2172,256 @@ def run(self, args): shutil.rmtree(output_dir) +@CWCTL.register +class FACheckData(Command, ColoredLogsMixIn): + """Check Fa Es data consistency""" + + arguments = "" + name = "fa-check-data" + min_args = max_args = 1 + + options = [ + ( + "index-name", + {"type": "string", "default": None, "help": "an existing es index "}, + ), + ] + + def run(self, args): + self.appid = args.pop(0) + with admincnx(self.appid) as cnx: + self.check_es_indexation(cnx) + + def check_es_indexation(self, cnx): + """Compare the numbre of indexable entities in Postgres with the number of + actually ES indexed entities + + """ + print("\n1. Check Elasticsearch/PostgreSQL data consistency\n") + index_name = self.config.index_name or cnx.vreg.config["index-name"] + + es = cwes.get_connection( + { + "elasticsearch-locations": cnx.vreg.config["elasticsearch-locations"], + "index-name": index_name, + "elasticsearch-verify-certs": cnx.vreg.config["elasticsearch-verify-certs"], + "elasticsearch-ssl-show-warn": cnx.vreg.config["elasticsearch-ssl-show-warn"], + } + ) + if not es: + self.log("Error: no elasticsearch configuration found, skipping") + return + self.check_es_indexation_all(cnx, index_name) + self.check_es_indexation_suggest(cnx, index_name) + + def check_es_indexation_all(self, cnx, index_name): + all_index = f"{index_name}_all" + search = Search(index=all_index) + indexables_types = list( + set(cwes.indexable_types(cnx.vreg.schema)[:]).difference( + ( + "File", + "SectionTranslation", + "BaseContentTranslation", + "SectionTranslation", + "CommemorationItemTranslation", + ) + ) + ) + # we dont index File, XXXTranslation entities are indexed on their french version + print(f"[{all_index}]\n") + for etype in sorted(indexables_types): + if etype in ETYPES_ES_MAP: + must = [{"terms": {"cw_etype": ETYPES_ES_MAP[etype]["cw_etypes"]}}] + else: + must = [{"term": {"cw_etype": etype}}] + if etype == "Card": + rset = cnx.execute("Any COUNT(X) WHERE X is Card, X do_index True") + else: + rset = cnx.execute(f"Any COUNT(X) WHERE X is {etype}") + search.query = dsl_query.Bool(must=must) + es_search_count = search.count() + self.log( + cnx, + f"[{all_index}] {es_search_count}/{rset[0][0]} {etype} indexed", + status=rset[0][0] == es_search_count, + ) + + # specific cases + if etype in ETYPES_ES_MAP: + rtype = ETYPES_ES_MAP[etype]["rtype"] + for es_cw_type in ETYPES_ES_MAP[etype]["cw_etypes"]: + search.query = dsl_query.Bool(must=[{"term": {"cw_etype": es_cw_type}}]) + rset = cnx.execute(f'Any COUNT(X) WHERE X is {etype}, X {rtype} "{es_cw_type}"') + es_search_count = search.count() + self.log( + cnx, + f"[{all_index}] -> {es_search_count}/{rset[0][0]} {es_cw_type} indexed", + status=rset[0][0] == es_search_count, + ) + + def check_es_indexation_suggest(self, cnx, index_name): + suggest_index = f"{index_name}_suggest" + search = Search(index=suggest_index) + print(f"\n[{suggest_index}]\n") + for etype in ["AgentAuthority", "LocationAuthority", "SubjectAuthority"]: + search.query = dsl_query.Bool(must=[{"term": {"cw_etype.keyword": etype}}]) + rset = cnx.execute(f"Any COUNT(X) WHERE X is {etype}") + es_search_count = search.count() + self.log( + cnx, + f"[{suggest_index}] {es_search_count}/{rset[0][0]} {etype} indexed", + status=rset[0][0] == es_search_count, + ) + + +@CWCTL.register +class FACheckFiles(Command, ColoredLogsMixIn): + """Check Files data consistency""" + + arguments = "" + name = "fa-check-files" + min_args = max_args = 1 + + options = [ + ( + "output-dir", + { + "type": "string", + "default": "/tmp", + "help": ("Directory to store log files"), + }, + ), + ( + "check-content", + { + "action": "store_true", + "default": "False", + "help": ("Check files exist"), + }, + ), + ( + "check-all", + { + "action": "store_true", + "default": "False", + "help": ("Check only IR files"), + }, + ), + ] + + def run(self, args): + self.appid = args.pop(0) + with admincnx(self.appid) as cnx: + init_bfss(cnx.repo) + self.check_filepaths(cnx) + + def is_orphan_file(self, cnx, file_eid): + """Returns true is the file is not linked to any other entity""" + raise # for now + eschema = cnx.vreg.schema.eschema("File") + objrels = [e.type for e in eschema.objrels if not e.meta] + rels = ["X{i} {rel} F".format(i=i, rel=rel) for i, rel in enumerate(objrels)] + vars = ["X{i}".format(i=i) for i in range(len(objrels))] + file_query = "Any {vars} WHERE F eid {eid}, {rels}".format( + vars=", ".join(vars), rels=", ".join(rels), eid=file_eid + ) + return not bool(cnx.execute(file_query).rowcount) + + def check_filepaths(self, cnx): + print("\n1. Check S3/PostgreSQL data consistency\n") + missings = set() + unknown = set() + missings_fpath = osp.join("/tmp", "missing_files.csv") + if S3_ACTIVE: + from botocore.exceptions import ClientError + missings_fpath = osp.join(self.config.output_dir, "missing_files.csv") + with open(missings_fpath, "w") as csvfile: + csvwriter = csv.writer(csvfile, delimiter="\t") + csvwriter.writerow(("filepath", "CWFile eid")) + for etype, storagedict in cnx.repo.system_source._storages.items(): # noqa + for attr in storagedict: + storage = cnx.repo.system_source.storage(etype, attr) + if self.config.check_all: + rset = cnx.execute(f"Any S, FSPATH(D) WHERE F is {etype}, F {attr} D") + print("Checking all files") + else: + rset = cnx.execute( + """Any S, FSPATH(D) WHERE X is FindingAid, + X findingaid_support S, S data D + """ + ) + print("Checking only IR files") + print(f"Checking {rset.rowcount} {etype} : {storagedict}") + progress_bar = _tqdm(total=rset.rowcount) + for idx, (eid, filepath) in enumerate(rset, 1): + if filepath is None: + missings.add(("", eid)) + continue + filepath = filepath.getvalue().decode("utf8") + # orphan = self.is_orphan_file(cnx, eid) + if S3_ACTIVE: + try: + if self.config.check_content: + storage.s3cnx.get_object(Bucket=storage.bucket, Key=filepath) + else: + storage.s3cnx.head_object(Bucket=storage.bucket, Key=filepath) + except ClientError: + with open(missings_fpath, "a") as csvfile: + missings.add((filepath, filepath, eid)) + csvwriter = csv.writer(csvfile, delimiter="\t") + csvwriter.writerow((filepath, eid)) + else: + if not osp.isfile(filepath): + missings.add((filepath, "", eid)) + continue + try: + progress_bar.update() + except Exception: + pass + + missings_dirs = osp.join("/tmp", "unknown_files.csv") + with open(missings_dirs, "w") as csvfile: + csvwriter = csv.writer(csvfile, delimiter="\t") + csvwriter.writerow(("filepath",)) + for fpath in unknown: + csvwriter.writerow((fpath,)) + # print(f" -> {fpath} \n") + print(f"Found {len(unknown)} unknown files") + print(f"Found {len(missings)} missing files storage") + if missings: + print(f"CSV file of missing paths {missings_fpath }") + + +@CWCTL.register +class DBIntegrity(Command, DBIntegrityHelper): + """While importing data we disable all triggers which may result lein data + unconsistency. Check DataBase consistency. For now it check onyly a few + tables. To be continued. + + """ + + arguments = "" + name = "fa-db-check" + min_args = max_args = 1 + + options = [ + ( + "v", + {"type": "yn", "default": True, "help": """print the queries"""}, + ) + ] + + def run(self, args): + self.appid = args.pop(0) + with admincnx(self.appid) as cnx: + print("""Check database integrity after imports which will take some time.\n""") + helper = DBIntegrityHelper(self.config) + helper.check_indexes(cnx) + helper.check_ir_documents(cnx) + helper.check_authority_history(cnx) + + for cmdclass in ( ImportEAD, ImportEAC, @@ -1621,6 +2436,8 @@ def run(self, args): InitDatabase, EnhanceAccessibility, GenerateApeEadFiles, + EvalTagValues, + DBIntegrity, ): CWCTL.register(cmdclass) i18n.register_cwctl_commands() diff --git a/cubicweb_francearchives/commemodump.py b/cubicweb_francearchives/commemodump.py index 53fbdd9..7b0bbe4 100644 --- a/cubicweb_francearchives/commemodump.py +++ b/cubicweb_francearchives/commemodump.py @@ -70,6 +70,7 @@ def create_tables(cnx): ); ALTER TABLE public.commemo_collection_dump ADD PRIMARY KEY (collection_eid); + ALTER TABLE public.commemo_collection_dump REPLICA IDENTITY FULL; -- create data for collection images CREATE TABLE IF NOT EXISTS public.commemo_collection_images_dump ( diff --git a/cubicweb_francearchives/cssimages.py b/cubicweb_francearchives/cssimages.py index c1dcb56..dc7ac8b 100644 --- a/cubicweb_francearchives/cssimages.py +++ b/cubicweb_francearchives/cssimages.py @@ -31,10 +31,13 @@ """cubicweb-francearchives cssimages""" +from io import BytesIO import os.path as osp from PIL import Image + from cubicweb import Binary +from cubicweb_francearchives import static_css_dir, S3_ACTIVE # sizes from css HERO_SIZES = ( @@ -46,12 +49,6 @@ ({"w": None}, "xl"), ) -STATIC_CSS_DIRECTORY = "css" - - -def static_css_dir(static_directory): - return osp.join(static_directory, STATIC_CSS_DIRECTORY) - def thumbnail_name(basename, suffix, ext): return "{}-{}{}".format(basename, suffix, ext) @@ -67,17 +64,24 @@ def generate_thumbnails(cnx, image_file, image_path, sizes): width = size.get("w", orig_width) or orig_width height = size.get("h", orig_height) or orig_height quality = size.get("q", 100) - thumb.thumbnail((width, height), Image.ANTIALIAS) + thumb.thumbnail((width, height), Image.LANCZOS) basename, ext = osp.splitext(image_path) thumb_name = thumbnail_name(basename, suffix, ext) - thumbpath = osp.join(static_dir, thumb_name) - thumb.save(thumbpath, quality=quality) - with open(thumbpath, "rb") as thumbfile: - cnx.create_entity( - "File", - **{ - "data": Binary(thumbfile.read()), - "data_format": image_file.data_format, - "data_name": thumb_name, - } - ) + if S3_ACTIVE: + byte_io = BytesIO() + thumb.save(byte_io, "PNG", quality=quality) + content = byte_io.getvalue() + else: + thumbpath = osp.join(static_dir, thumb_name) + thumb.save(thumbpath, quality=quality) + with open(thumbpath, "rb") as thumbfile: + content = thumbfile.read() + cnx.create_entity( + "File", + **{ + "title": f"static/css/{thumb_name}", + "data": Binary(content), + "data_format": image_file.data_format, + "data_name": thumb_name, + } + ) diff --git a/cubicweb_francearchives/data/MarkerCluster.Default.css b/cubicweb_francearchives/data/MarkerCluster.Default.css new file mode 100644 index 0000000..da330ca --- /dev/null +++ b/cubicweb_francearchives/data/MarkerCluster.Default.css @@ -0,0 +1,60 @@ +.marker-cluster-small { + background-color: rgba(181, 226, 140, 0.6); + } +.marker-cluster-small div { + background-color: rgba(110, 204, 57, 0.6); + } + +.marker-cluster-medium { + background-color: rgba(241, 211, 87, 0.6); + } +.marker-cluster-medium div { + background-color: rgba(240, 194, 12, 0.6); + } + +.marker-cluster-large { + background-color: rgba(253, 156, 115, 0.6); + } +.marker-cluster-large div { + background-color: rgba(241, 128, 23, 0.6); + } + + /* IE 6-8 fallback colors */ +.leaflet-oldie .marker-cluster-small { + background-color: rgb(181, 226, 140); + } +.leaflet-oldie .marker-cluster-small div { + background-color: rgb(110, 204, 57); + } + +.leaflet-oldie .marker-cluster-medium { + background-color: rgb(241, 211, 87); + } +.leaflet-oldie .marker-cluster-medium div { + background-color: rgb(240, 194, 12); + } + +.leaflet-oldie .marker-cluster-large { + background-color: rgb(253, 156, 115); + } +.leaflet-oldie .marker-cluster-large div { + background-color: rgb(241, 128, 23); +} + +.marker-cluster { + background-clip: padding-box; + border-radius: 20px; + } +.marker-cluster div { + width: 30px; + height: 30px; + margin-left: 5px; + margin-top: 5px; + + text-align: center; + border-radius: 15px; + font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif; + } +.marker-cluster span { + line-height: 30px; + } \ No newline at end of file diff --git a/cubicweb_francearchives/data/bundle-circular-table.js b/cubicweb_francearchives/data/bundle-circular-table.js deleted file mode 100644 index 48c88b2..0000000 --- a/cubicweb_francearchives/data/bundle-circular-table.js +++ /dev/null @@ -1,51 +0,0 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=27)}([function(e,t,n){"use strict";e.exports=n(30)},function(e,t,n){e.exports=n(35)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={SORT_DESC:"desc",SORT_ASC:"asc",AWAIT_BEFORE_CELL_EDIT:1,SIZE_PER_PAGE:10,NEXT_PAGE:">",NEXT_PAGE_TITLE:"next page",LAST_PAGE:">>",LAST_PAGE_TITLE:"last page",PRE_PAGE:"<",PRE_PAGE_TITLE:"previous page",FIRST_PAGE:"<<",FIRST_PAGE_TITLE:"first page",PAGE_START_INDEX:1,ROW_SELECT_BG_COLOR:"",ROW_SELECT_NONE:"none",ROW_SELECT_SINGLE:"radio",ROW_SELECT_MULTI:"checkbox",CELL_EDIT_NONE:"none",CELL_EDIT_CLICK:"click",CELL_EDIT_DBCLICK:"dbclick",SIZE_PER_PAGE_LIST:[10,25,30,50],PAGINATION_SIZE:5,PAGINATION_POS_TOP:"top",PAGINATION_POS_BOTTOM:"bottom",PAGINATION_POS_BOTH:"both",TOOLBAR_POS_TOP:"top",TOOLBAR_POS_BOTTOM:"bottom",TOOLBAR_POS_BOTH:"both",NO_DATA_TEXT:"There is no data to display",SHOW_ONLY_SELECT:"Show Selected Only",SHOW_ALL:"Show All",EXPORT_CSV_TEXT:"Export to CSV",INSERT_BTN_TEXT:"New",DELETE_BTN_TEXT:"Delete",SAVE_BTN_TEXT:"Save",CLOSE_BTN_TEXT:"Close",FILTER_DELAY:500,SCROLL_TOP:"Top",SCROLL_BOTTOM:"Bottom",FILTER_TYPE:{TEXT:"TextFilter",REGEX:"RegexFilter",SELECT:"SelectFilter",NUMBER:"NumberFilter",DATE:"DateFilter",CUSTOM:"CustomFilter",ARRAY:"ArrayFilter"},FILTER_COND_EQ:"eq",FILTER_COND_LIKE:"like",EXPAND_BY_ROW:"row",EXPAND_BY_COL:"column",REMOTE_SORT:"sort",REMOTE_PAGE:"pagination",REMOTE_CELL_EDIT:"cellEdit",REMOTE_INSERT_ROW:"insertRow",REMOTE_DROP_ROW:"dropRow",REMOTE_FILTER:"filter",REMOTE_SEARCH:"search",REMOTE_EXPORT_CSV:"exportCSV",INSERT_FAIL_INDICATOR:"Validation errors, please check!",DEFAULT_CSV_SEPARATOR:",",CSV_STRING_TYPE:"string",CSV_NUMBER_TYPE:"number",AUTO_COLLAPSE_WHEN_SORT:!1,AUTO_COLLAPSE_WHEN_SEARCH:!1,AUTO_COLLAPSE_WHEN_FILTER:!1};r.REMOTE={},r.REMOTE[r.REMOTE_SORT]=!1,r.REMOTE[r.REMOTE_PAGE]=!1,r.REMOTE[r.REMOTE_CELL_EDIT]=!1,r.REMOTE[r.REMOTE_INSERT_ROW]=!1,r.REMOTE[r.REMOTE_DROP_ROW]=!1,r.REMOTE[r.REMOTE_FILTER]=!1,r.REMOTE[r.REMOTE_SEARCH]=!1,r.REMOTE[r.REMOTE_EXPORT_CSV]=!1;var o=r;t.default=o;!function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(r,"CONST_VAR","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"),__REACT_HOT_LOADER__.register(o,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"))}()},function(e,t,n){var r,o;/*! - Copyright (c) 2017 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -!function(){"use strict";function n(){for(var e=[],t=0;t2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],o=null,l=null,i=this.isBootstrap4(r),u=this.isSelectRowDefined(t.mode),s=i?"38px":"30px";if(u){var c={width:t.columnWidth||s,minWidth:t.columnWidth||s};t.hideSelectColumn||(o=a.default.createElement("col",{key:"select-col",style:c}))}if(n.expandColumnVisible){var f={width:n.columnWidth||s,minWidth:n.columnWidth||s};l=a.default.createElement("col",{key:"expand-col",style:f})}var d=e.map(function(e,t){var n={display:e.hidden?"none":null};if(e.width){var r=isNaN(e.width)?e.width:e.width+"px";n.width=r,n.minWidth=r}return a.default.createElement("col",{style:n,key:t})});return a.default.createElement("colgroup",null,n.expandColumnVisible&&n.expandColumnBeforeSelectColumn&&l,o,n.expandColumnVisible&&!n.expandColumnBeforeSelectColumn&&l,d)}};t.default=c;!function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(c,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/util.js")}()},function(e,t,n){"use strict";function r(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}r(),e.exports=n(29)},function(e,t,n){var r,o,a;!function(n,l){o=[t],r=l,void 0!==(a="function"==typeof r?r.apply(t,o):r)&&(e.exports=a)}(0,function(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=void 0,r={randomId:function(){return Math.random().toString(36).split(".")[1]},returnFirstDefined:function(){for(var e=void 0,t=void 0,n=arguments.length,r=Array(n),o=0;o0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];switch(t.type){case"INSERT":return n(e,t);case"REMOVE":return r(e,t);case"REMOVEALL":return[];default:return e}},a=function(e){var t=void 0,n=[],r=function(){return t},o=function(r){t=e(t,r),n.forEach(function(e){return e()})},a=function(e){return n.push(e),function(){n=n.filter(function(t){return t!==e})}};return o({}),{getState:r,dispatch:o,subscribe:a}}(o);e.default=a})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r=n(63),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=o.default,l=a.canUseDOM?window.HTMLElement:{};t.canUseDOM=a.canUseDOM;t.default=l},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,i,u=r(e),s=1;s0&&void 0!==arguments[0]?arguments[0]:this.props,n=t.headerText,r=t.children;switch(t.filter.type){case y.default.FILTER_TYPE.TEXT:return c.default.createElement(T.default,i({ref:function(t){return e.textFilter=t}},t.filter,{columnName:n||r,filterHandler:this.handleFilter}));case y.default.FILTER_TYPE.REGEX:return c.default.createElement(C.default,i({ref:function(t){return e.regexFilter=t}},t.filter,{columnName:n||r,filterHandler:this.handleFilter}));case y.default.FILTER_TYPE.SELECT:return c.default.createElement(R.default,i({ref:function(t){return e.selectFilter=t}},t.filter,{columnName:n||r,filterHandler:this.handleFilter}));case y.default.FILTER_TYPE.NUMBER:return c.default.createElement(k.default,i({ref:function(t){return e.numberFilter=t}},t.filter,{columnName:n||r,filterHandler:this.handleFilter}));case y.default.FILTER_TYPE.DATE:return c.default.createElement(E.default,i({ref:function(t){return e.dateFilter=t}},t.filter,{columnName:n||r,filterHandler:this.handleFilter}));case y.default.FILTER_TYPE.CUSTOM:var o=t.filter.getElement(this.handleFilter,t.filter.customFilterParameters);return c.default.cloneElement(o,{ref:function(t){return e.customFilter=t}})}}},{key:"componentDidMount",value:function(){this.headerCol.setAttribute("data-field",this.props.dataField)}},{key:"renderDefaultCaret",value:function(e,t){return e?t?c.default.createElement("span",{className:"order fa fa-sort",style:{margin:"10px 0 10px 5px",color:"#ccc"}}):c.default.createElement("span",{className:"order"},c.default.createElement("span",{className:"dropdown"},c.default.createElement("span",{className:"caret",style:{margin:"10px 0 10px 5px",color:"#ccc"}})),c.default.createElement("span",{className:"dropup"},c.default.createElement("span",{className:"caret",style:{margin:"10px 0",color:"#ccc"}}))):null}},{key:"render",value:function(){var e=this,t=void 0,n=void 0,r=void 0,o=this.props,a=o.headerText,l=o.dataAlign,u=o.dataField,s=o.headerAlign,f=o.headerTitle,d=o.hidden,p=o.sort,_=o.dataSort,y=o.sortIndicator,m=o.children,v=o.caretRender,E=o.className,g=o.isOnlyHead,T=o.version,O=o.sortHeaderColumnClassName,C=o.thStyle,w=i({textAlign:s||l,display:d?"none":null},C),R=b.default.isBootstrap4(T);g||(y&&(t=this.renderDefaultCaret(_,R)),n=p?b.default.renderReactSortCaret(p,R):t,v&&(n=v(p,u))),p&&(r=b.default.isFunction(O)?O(p,u):O);var S=(0,h.default)(b.default.isFunction(E)?E():E,!g&&_?"sort-column":"",r),k={};return f&&(k.title="string"!=typeof m||a?a:m),c.default.createElement("th",i({ref:function(t){return e.headerCol=t},className:S,style:w,onClick:this.handleColumnClick,rowSpan:this.props.rowSpan,colSpan:this.props.colSpan,"data-is-only-head":this.props.isOnlyHead},k),m,n,c.default.createElement("div",{onClick:function(e){return e.stopPropagation()}},this.props.filter&&!g?this.getFilters():null))}},{key:"cleanFiltered",value:function(){if(this.props.filter)switch(this.props.filter.type){case y.default.FILTER_TYPE.TEXT:this.textFilter.cleanFiltered();break;case y.default.FILTER_TYPE.REGEX:this.regexFilter.cleanFiltered();break;case y.default.FILTER_TYPE.SELECT:this.selectFilter.cleanFiltered();break;case y.default.FILTER_TYPE.NUMBER:this.numberFilter.cleanFiltered();break;case y.default.FILTER_TYPE.DATE:this.dateFilter.cleanFiltered();break;case y.default.FILTER_TYPE.CUSTOM:this.customFilter.cleanFiltered()}}},{key:"applyFilter",value:function(e){if(this.props.filter)switch(this.props.filter.type){case y.default.FILTER_TYPE.TEXT:this.textFilter.applyFilter(e);break;case y.default.FILTER_TYPE.REGEX:this.regexFilter.applyFilter(e);break;case y.default.FILTER_TYPE.SELECT:this.selectFilter.applyFilter(e);break;case y.default.FILTER_TYPE.NUMBER:this.numberFilter.applyFilter(e);break;case y.default.FILTER_TYPE.DATE:this.dateFilter.applyFilter(e)}}}]),t}(s.Component),x=[];for(var P in y.default.FILTER_TYPE)x.push(y.default.FILTER_TYPE[P]);A.propTypes={dataField:d.default.string,dataAlign:d.default.string,headerAlign:d.default.string,headerTitle:d.default.bool,headerText:d.default.string,dataSort:d.default.bool,onSort:d.default.func,dataFormat:d.default.func,csvFormat:d.default.func,csvHeader:d.default.string,csvFieldType:d.default.oneOf([y.default.CSV_STRING_TYPE,y.default.CSV_NUMBER_TYPE]),isKey:d.default.bool,editable:d.default.any,hidden:d.default.bool,hiddenOnInsert:d.default.bool,searchable:d.default.bool,className:d.default.oneOfType([d.default.string,d.default.func]),width:d.default.string,sortFunc:d.default.func,sortFuncExtraData:d.default.any,sortHeaderColumnClassName:d.default.any,columnClassName:d.default.any,editColumnClassName:d.default.any,invalidEditColumnClassName:d.default.any,columnTitle:d.default.oneOfType([d.default.bool,d.default.func,d.default.string]),filterFormatted:d.default.bool,filterValue:d.default.func,sort:d.default.string,caretRender:d.default.func,formatExtraData:d.default.any,csvFormatExtraData:d.default.any,filter:d.default.shape({type:d.default.oneOf(x),delay:d.default.number,options:d.default.oneOfType([d.default.object,d.default.arrayOf(d.default.number)]),numberComparators:d.default.arrayOf(d.default.string),emitter:d.default.object,placeholder:d.default.string,getElement:d.default.func,customFilterParameters:d.default.object,condition:d.default.oneOf([y.default.FILTER_COND_EQ,y.default.FILTER_COND_LIKE])}),sortIndicator:d.default.bool,export:d.default.bool,expandable:d.default.bool,tdAttr:d.default.object,editTdAttr:d.default.object,tdStyle:d.default.oneOfType([d.default.func,d.default.object]),thStyle:d.default.object,keyValidator:d.default.bool,defaultASC:d.default.bool},A.defaultProps={dataAlign:"left",headerAlign:void 0,headerTitle:!0,dataSort:!1,dataFormat:void 0,csvFormat:void 0,csvHeader:void 0,csvFieldType:y.default.CSV_STRING_TYPE,isKey:!1,editable:!0,onSort:void 0,hidden:!1,hiddenOnInsert:!1,searchable:!0,className:"",columnTitle:!1,width:null,sortFunc:void 0,columnClassName:"",editColumnClassName:"",invalidEditColumnClassName:"",filterFormatted:!1,filterValue:void 0,sort:void 0,formatExtraData:void 0,sortFuncExtraData:void 0,filter:void 0,sortIndicator:!0,expandable:!0,tdAttr:void 0,editTdAttr:void 0,tdStyle:void 0,thStyle:void 0,keyValidator:!1,defaultASC:!1};var D=A;t.default=D;!function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(A,"TableHeaderColumn","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableHeaderColumn.js"),__REACT_HOT_LOADER__.register(x,"filterTypeArray","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableHeaderColumn.js"),__REACT_HOT_LOADER__.register(D,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableHeaderColumn.js"))}()},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=Object.assign||function(e){for(var t=1;t"+n+"":"",a="\n "+r+"\n
\n  \n "+t+"\n
\n ";o.default.error(a,{position:"top-right",timeout:3e3,html:!0,effect:"scale"})};t.notice=a;!function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(a,"notice","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Notification.js")}()},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=0)&&a(e,!n)}function i(e){return[].slice.call(e.querySelectorAll("*"),0).filter(l)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;/*! - * Adapted from jQuery UI core - * - * http://jqueryui.com - * - * Copyright 2014 jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/category/ui-core/ - */ -var u=/input|select|textarea|button|object/;e.exports=t.default},function(e,t,n){"use strict";function r(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function o(e){var t=e;if("string"==typeof t&&d.canUseDOM){var n=document.querySelectorAll(t);r(n,t),t="length"in n?n[0]:n}return p=t||p}function a(e){return!(!e&&!p)||((0,f.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}function l(e){a(e)&&(e||p).setAttribute("aria-hidden","true")}function i(e){a(e)&&(e||p).removeAttribute("aria-hidden")}function u(){p=null}function s(){p=null}Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=r,t.setElement=o,t.validateElement=a,t.hide=l,t.show=i,t.documentNotReadyOrSSRTesting=u,t.resetForTesting=s;var c=n(62),f=function(e){return e&&e.__esModule?e:{default:e}}(c),d=n(8),p=null},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;tt}return!1}function A(e,t,n,r,o,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a}function x(e){return e[1].toUpperCase()}function P(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function D(e,t,n,r){var o=Ra.hasOwnProperty(t)?Ra[t]:null;(null!==o?0===o.type:!r&&(2=t.length))throw Error(r(93));t=t[0]}n=t}null==n&&(n="")}e._wrapperState={initialValue:P(n)}}function X(e,t){var n=P(t.value),r=P(t.defaultValue);null!=n&&(n=""+n,n!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function q(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function $(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Q(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?$(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}function Z(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function J(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}function ee(e){if(Da[e])return Da[e];if(!Pa[e])return e;var t,n=Pa[e];for(t in n)if(n.hasOwnProperty(t)&&t in La)return Da[e]=n[t];return e}function te(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{t=e,0!=(1026&t.effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function ne(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function re(e){if(te(e)!==e)throw Error(r(188))}function oe(e){var t=e.alternate;if(!t){if(null===(t=te(e)))throw Error(r(188));return t!==e?null:e}for(var n=e,o=t;;){var a=n.return;if(null===a)break;var l=a.alternate;if(null===l){if(null!==(o=a.return)){n=o;continue}break}if(a.child===l.child){for(l=a.child;l;){if(l===n)return re(a),e;if(l===o)return re(a),t;l=l.sibling}throw Error(r(188))}if(n.return!==o.return)n=a,o=l;else{for(var i=!1,u=a.child;u;){if(u===n){i=!0,n=a,o=l;break}if(u===o){i=!0,o=a,n=l;break}u=u.sibling}if(!i){for(u=l.child;u;){if(u===n){i=!0,n=l,o=a;break}if(u===o){i=!0,o=l,n=a;break}u=u.sibling}if(!i)throw Error(r(189))}}if(n.alternate!==o)throw Error(r(190))}if(3!==n.tag)throw Error(r(188));return n.stateNode.current===n?e:t}function ae(e){if(!(e=oe(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function le(e){var t=ze(e);$a.forEach(function(n){Ve(n,e,t)}),Qa.forEach(function(n){Ve(n,e,t)})}function ie(e,t,n,r){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:r}}function ue(e,t){switch(e){case"focus":case"blur":Wa=null;break;case"dragenter":case"dragleave":Ka=null;break;case"mouseover":case"mouseout":Ga=null;break;case"pointerover":case"pointerout":Ya.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Xa.delete(t.pointerId)}}function se(e,t,n,r,o){return null===e||e.nativeEvent!==o?(e=ie(t,n,r,o),null!==t&&null!==(t=it(t))&&Fa(t),e):(e.eventSystemFlags|=r,e)}function ce(e,t,n,r){switch(t){case"focus":return Wa=se(Wa,e,t,n,r),!0;case"dragenter":return Ka=se(Ka,e,t,n,r),!0;case"mouseover":return Ga=se(Ga,e,t,n,r),!0;case"pointerover":var o=r.pointerId;return Ya.set(o,se(Ya.get(o)||null,e,t,n,r)),!0;case"gotpointercapture":return o=r.pointerId,Xa.set(o,se(Xa.get(o)||null,e,t,n,r)),!0}return!1}function fe(e){var t=lt(e.target);if(null!==t){var n=te(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=ne(n)))return e.blockedOn=t,void Fo.unstable_runWithPriority(e.priority,function(){Ha(n)})}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function de(e){if(null!==e.blockedOn)return!1;var t=Be(e.topLevelType,e.eventSystemFlags,e.nativeEvent);if(null!==t){var n=it(t);return null!==n&&Fa(n),e.blockedOn=t,!1}return!0}function pe(e,t,n){de(e)&&n.delete(t)}function he(){for(za=!1;0this.eventPool.length&&this.eventPool.push(e)}function Ae(e){e.eventPool=[],e.getPooled=Se,e.release=ke}function xe(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function Pe(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=ol[e])&&!!t[e]}function De(){return Pe}function Le(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;t=n.tag,5!==t&&6!==t||e.ancestors.push(n),n=lt(r)}while(n);for(n=0;n=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Qe(n)}}function Je(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Je(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function et(){for(var e=window,t=$e();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;e=t.contentWindow,t=$e(e.document)}return t}function tt(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function nt(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function rt(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}function ot(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function at(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(n===jl||n===Bl||n===Ml){if(0===t)return e;t--}else n===Il&&t++}e=e.previousSibling}return null}function lt(e){var t=e[Gl];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Xl]||n[Gl]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=at(e);null!==e;){if(n=e[Gl])return n;e=at(e)}return t}e=n,n=e.parentNode}return null}function it(e){return e=e[Gl]||e[Xl],!e||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ut(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(r(33))}function st(e){return e[Yl]||null}function ct(){if(Ql)return Ql;var e,t,n=$l,r=n.length,o="value"in ql?ql.value:ql.textContent,a=o.length;for(e=0;eNi||(e.current=Li[Ni],Li[Ni]=null,Ni--)}function xt(e,t){Ni++,Li[Ni]=e.current,e.current=t}function Pt(e,t){var n=e.type.contextTypes;if(!n)return Fi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,a={};for(o in n)a[o]=t[o];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Dt(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Lt(e){At(ji,e),At(Hi,e)}function Nt(e){At(ji,e),At(Hi,e)}function Ft(e,t,n){if(Hi.current!==Fi)throw Error(r(168));xt(Hi,t,e),xt(ji,n,e)}function Ht(e,t,n){var o=e.stateNode;if(e=t.childContextTypes,"function"!=typeof o.getChildContext)return n;o=o.getChildContext();for(var a in o)if(!(a in e))throw Error(r(108,m(t)||"Unknown",a));return No({},n,{},o)}function jt(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Fi,Ii=Hi.current,xt(Hi,t,e),xt(ji,ji.current,e),!0}function It(e,t,n){var o=e.stateNode;if(!o)throw Error(r(169));n?(t=Ht(e,t,Ii),o.__reactInternalMemoizedMergedChildContext=t,At(ji,e),At(Hi,e),xt(Hi,t,e)):At(ji,e),xt(ji,n,e)}function Mt(){switch(Ki()){case Gi:return 99;case Yi:return 98;case Xi:return 97;case qi:return 96;case $i:return 95;default:throw Error(r(332))}}function Bt(e){switch(e){case 99:return Gi;case 98:return Yi;case 97:return Xi;case 96:return qi;case 95:return $i;default:throw Error(r(332))}}function Ut(e,t){return e=Bt(e),Mi(e,t)}function zt(e,t,n){return e=Bt(e),Bi(e,t,n)}function Vt(e){return null===Ji?(Ji=[e],eu=Bi(Gi,Kt)):Ji.push(e),Qi}function Wt(){if(null!==eu){var e=eu;eu=null,Ui(e)}Kt()}function Kt(){if(!tu&&null!==Ji){tu=!0;var e=0;try{var t=Ji;Ut(99,function(){for(;e=t&&(Vu=!0),e.firstContext=null)}function Jt(e,t){if(uu!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(uu=e,t=1073741823),t={context:e,observedBits:t,next:null},null===iu){if(null===lu)throw Error(r(308));iu=t,lu.dependencies={expirationTime:0,firstContext:t,responders:null}}else iu=iu.next=t;return e._currentValue}function en(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function tn(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nn(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function rn(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function on(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,o=null;null===r&&(r=e.updateQueue=en(e.memoizedState))}else r=e.updateQueue,o=n.updateQueue,null===r?null===o?(r=e.updateQueue=en(e.memoizedState),o=n.updateQueue=en(n.memoizedState)):r=e.updateQueue=tn(o):null===o&&(o=n.updateQueue=tn(r));null===o||r===o?rn(r,t):null===r.lastUpdate||null===o.lastUpdate?(rn(r,t),rn(o,t)):(rn(r,t),o.lastUpdate=t)}function an(e,t){var n=e.updateQueue;n=null===n?e.updateQueue=en(e.memoizedState):ln(e,n),null===n.lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function ln(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=tn(t)),t}function un(e,t,n,r,o,a){switch(n.tag){case 1:return e=n.payload,"function"==typeof e?e.call(a,r,o):e;case 3:e.effectTag=-4097&e.effectTag|64;case 0:if(e=n.payload,null===(o="function"==typeof e?e.call(a,r,o):e)||void 0===o)break;return No({},r,o);case 2:su=!0}return r}function sn(e,t,n,r,o){su=!1,t=ln(e,t);for(var a=t.baseState,l=null,i=0,u=t.firstUpdate,s=a;null!==u;){var c=u.expirationTime;c_?(y=f,f=null):y=f.sibling;var m=p(r,f,i[_],u);if(null===m){null===f&&(f=y);break}e&&f&&null===m.alternate&&t(r,f),a=l(m,a,_),null===c?s=m:c.sibling=m,c=m,f=y}if(_===i.length)return n(r,f),s;if(null===f){for(;_m?(b=y,y=null):b=y.sibling;var E=p(a,y,v.value,s);if(null===E){null===y&&(y=b);break}e&&y&&null===E.alternate&&t(a,y),i=l(E,i,m),null===f?c=E:f.sibling=E,f=E,y=b}if(v.done)return n(a,y),c;if(null===y){for(;!v.done;m++,v=u.next())null!==(v=d(a,v.value,s))&&(i=l(v,i,m),null===f?c=v:f.sibling=v,f=v);return c}for(y=o(a,y);!v.done;m++,v=u.next())null!==(v=h(y,a,m,v.value,s))&&(e&&null!==v.alternate&&y.delete(null===v.key?m:v.key),i=l(v,i,m),null===f?c=v:f.sibling=v,f=v);return e&&y.forEach(function(e){return t(a,e)}),c}return function(e,o,l,u){var s="object"==typeof l&&null!==l&&l.type===ra&&null===l.key;s&&(l=l.props.children);var c="object"==typeof l&&null!==l;if(c)switch(l.$$typeof){case ta:e:{for(c=l.key,s=o;null!==s;){if(s.key===c){if(7===s.tag?l.type===ra:s.elementType===l.type){n(e,s.sibling),o=a(s,l.type===ra?l.props.children:l.props,u),o.ref=mn(e,s,l),o.return=e,e=o;break e}n(e,s);break}t(e,s),s=s.sibling}l.type===ra?(o=_o(l.props.children,e.mode,u,l.key),o.return=e,e=o):(u=ho(l.type,l.key,l.props,null,e.mode,u),u.ref=mn(e,o,l),u.return=e,e=u)}return i(e);case na:e:{for(s=l.key;null!==o;){if(o.key===s){if(4===o.tag&&o.stateNode.containerInfo===l.containerInfo&&o.stateNode.implementation===l.implementation){n(e,o.sibling),o=a(o,l.children||[],u),o.return=e,e=o;break e}n(e,o);break}t(e,o),o=o.sibling}o=mo(l,e.mode,u),o.return=e,e=o}return i(e)}if("string"==typeof l||"number"==typeof l)return l=""+l,null!==o&&6===o.tag?(n(e,o.sibling),o=a(o,l,u),o.return=e,e=o):(n(e,o),o=yo(l,e.mode,u),o.return=e,e=o),i(e);if(pu(l))return y(e,o,l,u);if(_(l))return m(e,o,l,u);if(c&&bn(e,l),void 0===l&&!s)switch(e.tag){case 1:case 0:throw e=e.type,Error(r(152,e.displayName||e.name||"Component"))}return n(e,o)}}function En(e){if(e===yu)throw Error(r(174));return e}function gn(e,t){xt(vu,t,e),xt(bu,e,e),xt(mu,yu,e);var n=t.nodeType;switch(n){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Q(null,"");break;default:n=8===n?t.parentNode:t,t=n.namespaceURI||null,n=n.tagName,t=Q(t,n)}At(mu,e),xt(mu,t,e)}function Tn(e){At(mu,e),At(bu,e),At(vu,e)}function On(e){En(vu.current);var t=En(mu.current),n=Q(t,e.type);t!==n&&(xt(bu,e,e),xt(mu,n,e))}function Cn(e){bu.current===e&&(At(mu,e),At(bu,e))}function wn(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===Ml||n.data===Bl))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Rn(e,t){return{responder:e,props:t}}function Sn(){throw Error(r(321))}function kn(e,t){if(null===t)return!1;for(var n=0;nxu&&(xu=f,Gr(xu))):(Kr(f,s.suspenseConfig),l=s.eagerReducer===e?s.eagerState:e(l,s.action)),i=s,s=s.next}while(null!==s&&s!==o);c||(u=i,a=l),vi(l,t.memoizedState)||(Vu=!0),t.memoizedState=l,t.baseUpdate=u,t.baseState=a,n.lastRenderedState=l}return[t.memoizedState,n.dispatch]}function Fn(e){var t=Pn();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=t.queue={last:null,dispatch:null,lastRenderedReducer:Ln,lastRenderedState:e},e=e.dispatch=Gn.bind(null,Cu,e),[t.memoizedState,e]}function Hn(e){return Nn(Ln,e)}function jn(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===Pu?(Pu={lastEffect:null},Pu.lastEffect=e.next=e):(t=Pu.lastEffect,null===t?Pu.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,Pu.lastEffect=e)),e}function In(e,t,n,r){var o=Pn();Du|=e,o.memoizedState=jn(t,n,void 0,void 0===r?null:r)}function Mn(e,t,n,r){var o=Dn();r=void 0===r?null:r;var a=void 0;if(null!==wu){var l=wu.memoizedState;if(a=l.destroy,null!==r&&kn(r,l.deps))return void jn(0,n,a,r)}Du|=e,o.memoizedState=jn(t,n,a,r)}function Bn(e,t){return In(516,192,e,t)}function Un(e,t){return Mn(516,192,e,t)}function zn(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Vn(){}function Wn(e,t){return Pn().memoizedState=[e,void 0===t?null:t],e}function Kn(e,t){var n=Dn();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&kn(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Gn(e,t,n){if(!(25>Fu))throw Error(r(301));var o=e.alternate;if(e===Cu||null!==o&&o===Cu)if(Lu=!0,e={expirationTime:Ou,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===Nu&&(Nu=new Map),void 0===(n=Nu.get(t)))Nu.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var a=Pr(),l=cu.suspense;a=Dr(a,e,l),l={expirationTime:a,suspenseConfig:l,action:n,eagerReducer:null,eagerState:null,next:null};var i=t.last;if(null===i)l.next=l;else{var u=i.next;null!==u&&(l.next=u),i.next=l}if(t.last=l,0===e.expirationTime&&(null===o||0===o.expirationTime)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,c=o(s,n);if(l.eagerReducer=o,l.eagerState=c,vi(c,s))return}catch(e){}Lr(e,a)}}function Yn(e,t){var n=so(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Xn(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);case 13:default:return!1}}function qn(e){if(Uu){var t=Bu;if(t){var n=t;if(!Xn(e,t)){if(!(t=ot(n.nextSibling))||!Xn(e,t))return e.effectTag=-1025&e.effectTag|2,Uu=!1,void(Mu=e);Yn(Mu,n)}Mu=e,Bu=ot(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,Uu=!1,Mu=e}}function $n(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Mu=e}function Qn(e){if(e!==Mu)return!1;if(!Uu)return $n(e),Uu=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!rt(t,e.memoizedProps))for(t=Bu;t;)Yn(e,t),t=ot(t.nextSibling);if($n(e),13===e.tag){if(e=e.memoizedState,!(e=null!==e?e.dehydrated:null))throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(n===Il){if(0===t){Bu=ot(e.nextSibling);break e}t--}else n!==jl&&n!==Bl&&n!==Ml||t++}e=e.nextSibling}Bu=null}}else Bu=Mu?ot(e.stateNode.nextSibling):null;return!0}function Zn(){Bu=Mu=null,Uu=!1}function Jn(e,t,n,r){t.child=null===e?_u(t,null,n,r):hu(t,e.child,n,r)}function er(e,t,n,r,o){n=n.render;var a=t.ref;return Zt(t,o),r=An(e,t,n,r,a,o),null===e||Vu?(t.effectTag|=1,Jn(e,t,r,o),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=o&&(e.expirationTime=0),dr(e,t,o))}function tr(e,t,n,r,o,a){if(null===e){var l=n.type;return"function"!=typeof l||co(l)||void 0!==l.defaultProps||null!==n.compare||void 0!==n.defaultProps?(e=ho(n.type,null,r,null,t.mode,a),e.ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=l,nr(e,t,l,r,o,a))}return l=e.child,ot)&&Ss.set(e,t))}}function Nr(e,t){e.expirationTimee?t:e):t)}function Hr(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Vt(Ir.bind(null,e));else{var t=Fr(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Pr();if(1073741823===t?r=99:1===t||2===t?r=95:(r=10*(1073741821-t)-10*(1073741821-r),r=0>=r?99:250>=r?98:5250>=r?97:95),null!==n){var o=e.callbackPriority;if(e.callbackExpirationTime===t&&o>=r)return;n!==Qi&&Ui(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Vt(Ir.bind(null,e)):zt(r,jr.bind(null,e),{timeout:10*(1073741821-t)-ru()}),e.callbackNode=t}}}function jr(e,t){if(xs=0,t)return t=Pr(),To(e,t),Hr(e),null;var n=Fr(e);if(0!==n){if(t=e.callbackNode,(is&(Ju|es))!==Qu)throw Error(r(327));if(to(),e===us&&n===cs||zr(e,n),null!==ss){var o=is;is|=Ju;for(var a=Wr();;)try{Xr();break}catch(t){Vr(e,t)}if(Xt(),is=o,qu.current=a,fs===ns)throw t=ds,zr(e,n),Eo(e,n),Hr(e),t;if(null===ss)switch(a=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,o=fs,us=null,o){case ts:case ns:throw Error(r(345));case rs:To(e,2=n){e.lastPingedTime=n,zr(e,n);break}}if(0!==(l=Fr(e))&&l!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}e.timeoutHandle=Vl(Zr.bind(null,e),a);break}Zr(e);break;case as:if(Eo(e,n),o=e.lastSuspendedTime,n===o&&(e.nextKnownPendingLevel=Qr(a)),ms&&(0===(a=e.lastPingedTime)||a>=n)){e.lastPingedTime=n,zr(e,n);break}if(0!==(a=Fr(e))&&a!==n)break;if(0!==o&&o!==n){e.lastPingedTime=o;break}if(1073741823!==hs?o=10*(1073741821-hs)-ru():1073741823===ps?o=0:(o=10*(1073741821-ps)-5e3,a=ru(),n=10*(1073741821-n)-a,o=a-o,0>o&&(o=0),o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Xu(o/1960))-o,n=o?o=0:(a=0|i.busyDelayMs,l=ru()-(10*(1073741821-l)-(0|i.timeoutMs||5e3)),o=l<=a?0:a+o-l),10 component higher in the tree to provide a loading indicator or placeholder to display."+b(o))}fs!==ls&&(fs=rs),a=yr(a,o),u=r;do{switch(u.tag){case 3:l=a,u.effectTag|=4096,u.expirationTime=t;an(u,Ar(u,l,t));break e;case 1:l=a;var v=u.type,E=u.stateNode;if(0==(64&u.effectTag)&&("function"==typeof v.getDerivedStateFromError||null!==E&&"function"==typeof E.componentDidCatch&&(null===Os||!Os.has(E)))){u.effectTag|=4096,u.expirationTime=t;an(u,xr(u,l,t));break e}}u=u.return}while(null!==u)}ss=$r(ss)}catch(e){t=e;continue}break}}function Wr(){var e=qu.current;return qu.current=Hu,null===e?Hu:e}function Kr(e,t){eys&&(ys=e)}function Yr(){for(;null!==ss;)ss=qr(ss)}function Xr(){for(;null!==ss&&!zi();)ss=qr(ss)}function qr(e){var t=Ku(e.alternate,e,cs);return e.memoizedProps=e.pendingProps,null===t&&(t=$r(e)),$u.current=null,t}function $r(e){ss=e;do{var t=ss.alternate;if(e=ss.return,0==(2048&ss.effectTag)){e:{var n=t;t=ss;var o=cs,a=t.pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:Dt(t.type)&&Lt(t);break;case 3:Tn(t),Nt(t),a=t.stateNode,a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(null===n||null===n.child)&&Qn(t)&&pr(t),xi(t);break;case 5:Cn(t),o=En(vu.current);var l=t.type;if(null!==n&&null!=t.stateNode)Pi(n,t,l,a,o),n.ref!==t.ref&&(t.effectTag|=128);else if(a){var i=En(mu.current);if(Qn(t)){a=t;var u=a.stateNode;n=a.type;var s=a.memoizedProps,c=o;switch(u[Gl]=a,u[Yl]=s,l=void 0,o=u,n){case"iframe":case"object":case"embed":Ne("load",o);break;case"video":case"audio":for(u=0;u<\/script>",u=s.removeChild(s.firstChild)):"string"==typeof s.is?u=u.createElement(c,{is:s.is}):(u=u.createElement(c),"select"===c&&(c=u,s.multiple?c.multiple=!0:s.size&&(c.size=s.size))):u=u.createElementNS(i,c),s=u,s[Gl]=n,s[Yl]=a,Ai(s,t,!1,!1),t.stateNode=s,c=l,n=a;var f=o,d=Ye(c,n);switch(c){case"iframe":case"object":case"embed":Ne("load",s),o=n;break;case"video":case"audio":for(o=0;oa.tailExpiration&&1l&&(l=n),s>l&&(l=s),o=o.sibling;a.childExpirationTime=l}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=ss.firstEffect),null!==ss.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=ss.firstEffect),e.lastEffect=ss.lastEffect),1e?t:e}function Zr(e){var t=Mt();return Ut(99,Jr.bind(null,e,t)),null}function Jr(e,t){if(to(),(is&(Ju|es))!==Qu)throw Error(r(327));var n=e.finishedWork,o=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var a=Qr(n);if(e.firstPendingTime=a,o<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:o<=e.firstSuspendedTime&&(e.firstSuspendedTime=o-1),o<=e.lastPingedTime&&(e.lastPingedTime=0),o<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===us&&(ss=us=null,cs=0),1u&&(c=u,u=i,i=c),c=Ze(E,i),f=Ze(E,u),c&&f&&(1!==T.rangeCount||T.anchorNode!==c.node||T.anchorOffset!==c.offset||T.focusNode!==f.node||T.focusOffset!==f.offset)&&(g=g.createRange(),g.setStart(c.node,c.offset),T.removeAllRanges(),i>u?(T.addRange(g),T.extend(f.node,f.offset)):(g.setEnd(f.node,f.offset),T.addRange(g)))))),g=[];for(T=E;T=T.parentNode;)1===T.nodeType&&g.push({element:T,left:T.scrollLeft,top:T.scrollTop});for("function"==typeof E.focus&&E.focus(),E=0;E=t&&e<=t}function Eo(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function go(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function To(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Oo(e,t,n,o){var a=t.current,l=Pr(),i=cu.suspense;l=Dr(l,a,i);e:if(n){n=n._reactInternalFiber;t:{if(te(n)!==n||1!==n.tag)throw Error(r(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(Dt(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(r(171))}if(1===n.tag){var s=n.type;if(Dt(s)){n=Ht(n,s,u);break e}}n=u}else n=Fi;return null===t.context?t.context=n:t.pendingContext=n,t=nn(l,i),t.payload={element:e},o=void 0===o?null:o,null!==o&&(t.callback=o),on(a,t),Lr(a,l),l}function Co(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function wo(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime
",n.RegisterMarker(d)}}catch(t){i=!0,u=t}finally{try{!a&&s.return&&s.return()}finally{if(i)throw u}}r.addLayer(n),r.fitBounds(o)}})}document.addEventListener("DOMContentLoaded",function(){return n()})}}); \ No newline at end of file diff --git a/cubicweb_francearchives/data/css/bootstrap.css b/cubicweb_francearchives/data/css/bootstrap.css new file mode 100644 index 0000000..da83b00 --- /dev/null +++ b/cubicweb_francearchives/data/css/bootstrap.css @@ -0,0 +1,11221 @@ +@charset "UTF-8"; +/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #0d6efd; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 13, 110, 253; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-rgb: 33, 37, 41; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-bg: #fff; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + +hr:not([size]) { + height: 1px; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; +} + +h1, .h1 { + font-size: calc(1.375rem + 1.5vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 2.5rem; + } +} + +h2, .h2 { + font-size: calc(1.325rem + 0.9vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 2rem; + } +} + +h3, .h3 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.75rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-bs-original-title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 700; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #0d6efd; + text-decoration: underline; +} +a:hover { + color: #0a58ca; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr /* rtl:ignore */; + unicode-bidi: bidi-override; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]::-webkit-calendar-picker-indicator { + display: none; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + border-radius: 0.25rem; + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(var(--bs-gutter-y) * -1); + margin-right: calc(var(--bs-gutter-x) * -.5); + margin-left: calc(var(--bs-gutter-x) * -.5); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * .5); + padding-left: calc(var(--bs-gutter-x) * .5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.33333333%; + } + + .offset-sm-2 { + margin-left: 16.66666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.33333333%; + } + + .offset-sm-5 { + margin-left: 41.66666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.33333333%; + } + + .offset-sm-8 { + margin-left: 66.66666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.33333333%; + } + + .offset-sm-11 { + margin-left: 91.66666667%; + } + + .g-sm-0, +.gx-sm-0 { + --bs-gutter-x: 0; + } + + .g-sm-0, +.gy-sm-0 { + --bs-gutter-y: 0; + } + + .g-sm-1, +.gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + + .g-sm-1, +.gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + + .g-sm-2, +.gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + + .g-sm-2, +.gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + + .g-sm-3, +.gx-sm-3 { + --bs-gutter-x: 1rem; + } + + .g-sm-3, +.gy-sm-3 { + --bs-gutter-y: 1rem; + } + + .g-sm-4, +.gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + + .g-sm-4, +.gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + + .g-sm-5, +.gx-sm-5 { + --bs-gutter-x: 3rem; + } + + .g-sm-5, +.gy-sm-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.33333333%; + } + + .offset-md-2 { + margin-left: 16.66666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.33333333%; + } + + .offset-md-5 { + margin-left: 41.66666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.33333333%; + } + + .offset-md-8 { + margin-left: 66.66666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.33333333%; + } + + .offset-md-11 { + margin-left: 91.66666667%; + } + + .g-md-0, +.gx-md-0 { + --bs-gutter-x: 0; + } + + .g-md-0, +.gy-md-0 { + --bs-gutter-y: 0; + } + + .g-md-1, +.gx-md-1 { + --bs-gutter-x: 0.25rem; + } + + .g-md-1, +.gy-md-1 { + --bs-gutter-y: 0.25rem; + } + + .g-md-2, +.gx-md-2 { + --bs-gutter-x: 0.5rem; + } + + .g-md-2, +.gy-md-2 { + --bs-gutter-y: 0.5rem; + } + + .g-md-3, +.gx-md-3 { + --bs-gutter-x: 1rem; + } + + .g-md-3, +.gy-md-3 { + --bs-gutter-y: 1rem; + } + + .g-md-4, +.gx-md-4 { + --bs-gutter-x: 1.5rem; + } + + .g-md-4, +.gy-md-4 { + --bs-gutter-y: 1.5rem; + } + + .g-md-5, +.gx-md-5 { + --bs-gutter-x: 3rem; + } + + .g-md-5, +.gy-md-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.33333333%; + } + + .offset-lg-2 { + margin-left: 16.66666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.33333333%; + } + + .offset-lg-5 { + margin-left: 41.66666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.33333333%; + } + + .offset-lg-8 { + margin-left: 66.66666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.33333333%; + } + + .offset-lg-11 { + margin-left: 91.66666667%; + } + + .g-lg-0, +.gx-lg-0 { + --bs-gutter-x: 0; + } + + .g-lg-0, +.gy-lg-0 { + --bs-gutter-y: 0; + } + + .g-lg-1, +.gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + + .g-lg-1, +.gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + + .g-lg-2, +.gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + + .g-lg-2, +.gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + + .g-lg-3, +.gx-lg-3 { + --bs-gutter-x: 1rem; + } + + .g-lg-3, +.gy-lg-3 { + --bs-gutter-y: 1rem; + } + + .g-lg-4, +.gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + + .g-lg-4, +.gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + + .g-lg-5, +.gx-lg-5 { + --bs-gutter-x: 3rem; + } + + .g-lg-5, +.gy-lg-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.33333333%; + } + + .offset-xl-2 { + margin-left: 16.66666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.33333333%; + } + + .offset-xl-5 { + margin-left: 41.66666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.33333333%; + } + + .offset-xl-8 { + margin-left: 66.66666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.33333333%; + } + + .offset-xl-11 { + margin-left: 91.66666667%; + } + + .g-xl-0, +.gx-xl-0 { + --bs-gutter-x: 0; + } + + .g-xl-0, +.gy-xl-0 { + --bs-gutter-y: 0; + } + + .g-xl-1, +.gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xl-1, +.gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xl-2, +.gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xl-2, +.gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xl-3, +.gx-xl-3 { + --bs-gutter-x: 1rem; + } + + .g-xl-3, +.gy-xl-3 { + --bs-gutter-y: 1rem; + } + + .g-xl-4, +.gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xl-4, +.gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xl-5, +.gx-xl-5 { + --bs-gutter-x: 3rem; + } + + .g-xl-5, +.gy-xl-5 { + --bs-gutter-y: 3rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-left: 0; + } + + .offset-xxl-1 { + margin-left: 8.33333333%; + } + + .offset-xxl-2 { + margin-left: 16.66666667%; + } + + .offset-xxl-3 { + margin-left: 25%; + } + + .offset-xxl-4 { + margin-left: 33.33333333%; + } + + .offset-xxl-5 { + margin-left: 41.66666667%; + } + + .offset-xxl-6 { + margin-left: 50%; + } + + .offset-xxl-7 { + margin-left: 58.33333333%; + } + + .offset-xxl-8 { + margin-left: 66.66666667%; + } + + .offset-xxl-9 { + margin-left: 75%; + } + + .offset-xxl-10 { + margin-left: 83.33333333%; + } + + .offset-xxl-11 { + margin-left: 91.66666667%; + } + + .g-xxl-0, +.gx-xxl-0 { + --bs-gutter-x: 0; + } + + .g-xxl-0, +.gy-xxl-0 { + --bs-gutter-y: 0; + } + + .g-xxl-1, +.gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xxl-1, +.gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xxl-2, +.gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xxl-2, +.gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xxl-3, +.gx-xxl-3 { + --bs-gutter-x: 1rem; + } + + .g-xxl-3, +.gy-xxl-3 { + --bs-gutter-y: 1rem; + } + + .g-xxl-4, +.gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xxl-4, +.gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xxl-5, +.gx-xxl-5 { + --bs-gutter-x: 3rem; + } + + .g-xxl-5, +.gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} +.table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:last-child) > :last-child > * { + border-bottom-color: currentColor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} + +.table-hover > tbody > tr:hover { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} + +.table-primary { + --bs-table-bg: #cfe2ff; + --bs-table-striped-bg: #c5d7f2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bacbe6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfd1ec; + --bs-table-hover-color: #000; + color: #000; + border-color: #bacbe6; +} + +.table-secondary { + --bs-table-bg: #e2e3e5; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: #000; + border-color: #cbccce; +} + +.table-success { + --bs-table-bg: #d1e7dd; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #bcd0c7; +} + +.table-info { + --bs-table-bg: #cff4fc; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: #000; + border-color: #badce3; +} + +.table-warning { + --bs-table-bg: #fff3cd; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: #000; + border-color: #e6dbb9; +} + +.table-danger { + --bs-table-bg: #f8d7da; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfc2c4; +} + +.table-light { + --bs-table-bg: #f8f9fa; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfe0e1; +} + +.table-dark { + --bs-table-bg: #212529; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #373b3e; +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; +} + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #212529; + background-color: #fff; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} +.form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} +.form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; +} + +textarea.form-control { + min-height: calc(1.5em + 0.75rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); +} + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.375rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; +} + +.form-select { + display: block; + width: 100%; + padding: 0.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} +.form-select:disabled { + background-color: #e9ecef; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} +.form-check-input[type=checkbox] { + border-radius: 0.25em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-check-input:checked { + background-color: #0d6efd; + border-color: #0d6efd; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #0d6efd; + border-color: #0d6efd; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} +.form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #b6d4fe; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #0d6efd; + border: 0; + border-radius: 1rem; + -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -moz-appearance: none; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #b6d4fe; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; +} +.form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 0.75rem; +} +.form-floating > .form-control::-moz-placeholder { + color: transparent; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + border-radius: 0.25rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 0.9); + border-radius: 0.25rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, +.was-validated .input-group .form-select:valid, +.input-group .form-select.is-valid { + z-index: 1; +} +.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, +.was-validated .input-group .form-select:valid:focus, +.input-group .form-select.is-valid:focus { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 0.9); + border-radius: 0.25rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 4.125rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, +.was-validated .input-group .form-select:invalid, +.input-group .form-select.is-invalid { + z-index: 2; +} +.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, +.was-validated .input-group .form-select:invalid:focus, +.input-group .form-select.is-invalid:focus { + z-index: 3; +} + +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #212529; +} +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +.btn-primary { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-primary:hover { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fff; + background-color: #0b5ed7; + border-color: #0a58ca; + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0a58ca; + border-color: #0a53be; +} +.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #565e64; + border-color: #51585e; +} +.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #146c43; + border-color: #13653f; +} +.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #198754; + border-color: #198754; +} + +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; +} +.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} + +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #ffcd39; + border-color: #ffc720; +} +.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #b02a37; + border-color: #a52834; +} +.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; +} +.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #1a1e21; + border-color: #191c1f; +} +.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #212529; + border-color: #212529; +} + +.btn-outline-primary { + color: #0d6efd; + border-color: #0d6efd; +} +.btn-outline-primary:hover { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #0d6efd; + background-color: transparent; +} + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} +.btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #6c757d; + background-color: transparent; +} + +.btn-outline-success { + color: #198754; + border-color: #198754; +} +.btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #fff; + background-color: #198754; + border-color: #198754; +} +.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #198754; + background-color: transparent; +} + +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} +.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #0dcaf0; + background-color: transparent; +} + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} +.btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} +.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #ffc107; + background-color: transparent; +} + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} +.btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #dc3545; + background-color: transparent; +} + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f8f9fa; + background-color: transparent; +} + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} +.btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #fff; + background-color: #212529; + border-color: #212529; +} +.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #212529; + background-color: transparent; +} + +.btn-link { + font-weight: 400; + color: #0d6efd; + text-decoration: underline; +} +.btn-link:hover { + color: #0a58ca; +} +.btn-link:disabled, .btn-link.disabled { + color: #6c757d; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #1e2125; + background-color: #e9ecef; +} +.dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #0d6efd; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} + +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #0d6efd; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; +} +.dropdown-menu-dark .dropdown-header { + color: #adb5bd; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #0d6efd; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: #0a58ca; +} +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #e9ecef #e9ecef #dee2e6; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #6c757d; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #dee2e6 #dee2e6 #fff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #0d6efd; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-top, +.navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-top, +.navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-top, +.navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-top, +.navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-top, +.navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #fff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: #fff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + border-radius: 0.25rem; +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.card-title { + margin-bottom: 0.5rem; +} + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} +.card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; +} + +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} +.card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); +} + +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} + +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, +.card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, +.card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #0c63e4; + background-color: #e7f1ff; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + margin-left: auto; + content: ""; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #86b7fe; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} + +.accordion-body { + padding: 1rem 1.25rem; +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button { + border-radius: 0; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #6c757d; + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #0d6efd; + text-decoration: none; + background-color: #fff; + border: 1px solid #dee2e6; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #0a58ca; + background-color: #e9ecef; + border-color: #dee2e6; +} +.page-link:focus { + z-index: 3; + color: #0a58ca; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} + +.page-link { + padding: 0.375rem 0.75rem; +} + +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.25rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} + +.badge { + display: inline-block; + padding: 0.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-primary { + color: #084298; + background-color: #cfe2ff; + border-color: #b6d4fe; +} +.alert-primary .alert-link { + color: #06357a; +} + +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} +.alert-secondary .alert-link { + color: #34383c; +} + +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} +.alert-success .alert-link { + color: #0c4128; +} + +.alert-info { + color: #055160; + background-color: #cff4fc; + border-color: #b6effb; +} +.alert-info .alert-link { + color: #04414d; +} + +.alert-warning { + color: #664d03; + background-color: #fff3cd; + border-color: #ffecb5; +} +.alert-warning .alert-link { + color: #523e02; +} + +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} +.alert-danger .alert-link { + color: #6a1a21; +} + +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} +.alert-light .alert-link { + color: #4f5050; +} + +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} +.alert-dark .alert-link { + color: #101214; +} + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #0d6efd; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; + } +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; +} +.list-group-item-action:active { + color: #212529; + background-color: #e9ecef; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: #6c757d; + pointer-events: none; + background-color: #fff; +} +.list-group-item.active { + z-index: 2; + color: #fff; + background-color: #0d6efd; + border-color: #0d6efd; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-primary { + color: #084298; + background-color: #cfe2ff; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #084298; + background-color: #bacbe6; +} +.list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #084298; + border-color: #084298; +} + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; +} +.list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; +} + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; +} +.list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; +} + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; +} +.list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; +} + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; +} +.list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; +} + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; +} +.list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; +} + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; +} + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; +} +.list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + border-radius: 0.25rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 0.75rem; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.5; +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 1px); +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, +.modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 0.9; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] { + padding: 0.4rem 0; +} +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; +} + +.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] { + padding: 0 0.4rem; +} +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] { + padding: 0.4rem 0; +} +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; +} + +.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] { + padding: 0 0.4rem; +} +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 1070; + display: block; + max-width: 276px; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; +} + +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; +} + +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f0f0f0; +} + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: rgba(0, 0, 0, 0.25); +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; +} + +.popover-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 1rem; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 1rem 1rem; + color: #212529; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, +.carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} +.carousel-dark .carousel-caption { + color: #000; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; +} + +@-webkit-keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, +.spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; +} +.offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; +} + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; +} + +.offcanvas-body { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} + +.offcanvas.show { + transform: none; +} + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentColor; + opacity: 0.5; +} +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; +} + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} +.placeholder-wave { + -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; +} + +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.link-primary { + color: #0d6efd; +} +.link-primary:hover, .link-primary:focus { + color: #0a58ca; +} + +.link-secondary { + color: #6c757d; +} +.link-secondary:hover, .link-secondary:focus { + color: #565e64; +} + +.link-success { + color: #198754; +} +.link-success:hover, .link-success:focus { + color: #146c43; +} + +.link-info { + color: #0dcaf0; +} +.link-info:hover, .link-info:focus { + color: #3dd5f3; +} + +.link-warning { + color: #ffc107; +} +.link-warning:hover, .link-warning:focus { + color: #ffcd39; +} + +.link-danger { + color: #dc3545; +} +.link-danger:hover, .link-danger:focus { + color: #b02a37; +} + +.link-light { + color: #f8f9fa; +} +.link-light:hover, .link-light:focus { + color: #f9fafb; +} + +.link-dark { + color: #212529; +} +.link-dark:hover, .link-dark:focus { + color: #1a1e21; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: calc(3 / 4 * 100%); +} + +.ratio-16x9 { + --bs-aspect-ratio: calc(9 / 16 * 100%); +} + +.ratio-21x9 { + --bs-aspect-ratio: calc(9 / 21 * 100%); +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentColor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #dee2e6 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #dee2e6 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #0d6efd !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #198754 !important; +} + +.border-info { + border-color: #0dcaf0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #212529 !important; +} + +.border-white { + border-color: #fff !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-3 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 700 !important; +} + +.fw-bolder { + font-weight: bolder !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 2 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: 0.25rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: 0.2rem !important; +} + +.rounded-2 { + border-radius: 0.25rem !important; +} + +.rounded-3 { + border-radius: 0.3rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} + +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; +} + +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: none !important; + } + + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-grid { + display: grid !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } + + .flex-sm-fill { + flex: 1 1 auto !important; + } + + .flex-sm-row { + flex-direction: row !important; + } + + .flex-sm-column { + flex-direction: column !important; + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: 0.25rem !important; + } + + .gap-sm-2 { + gap: 0.5rem !important; + } + + .gap-sm-3 { + gap: 1rem !important; + } + + .gap-sm-4 { + gap: 1.5rem !important; + } + + .gap-sm-5 { + gap: 3rem !important; + } + + .justify-content-sm-start { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } + + .order-sm-first { + order: -1 !important; + } + + .order-sm-0 { + order: 0 !important; + } + + .order-sm-1 { + order: 1 !important; + } + + .order-sm-2 { + order: 2 !important; + } + + .order-sm-3 { + order: 3 !important; + } + + .order-sm-4 { + order: 4 !important; + } + + .order-sm-5 { + order: 5 !important; + } + + .order-sm-last { + order: 6 !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.5rem !important; + } + + .mt-sm-3 { + margin-top: 1rem !important; + } + + .mt-sm-4 { + margin-top: 1.5rem !important; + } + + .mt-sm-5 { + margin-top: 3rem !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.5rem !important; + } + + .me-sm-3 { + margin-right: 1rem !important; + } + + .me-sm-4 { + margin-right: 1.5rem !important; + } + + .me-sm-5 { + margin-right: 3rem !important; + } + + .me-sm-auto { + margin-right: auto !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + + .mb-sm-3 { + margin-bottom: 1rem !important; + } + + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + + .mb-sm-5 { + margin-bottom: 3rem !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.5rem !important; + } + + .ms-sm-3 { + margin-left: 1rem !important; + } + + .ms-sm-4 { + margin-left: 1.5rem !important; + } + + .ms-sm-5 { + margin-left: 3rem !important; + } + + .ms-sm-auto { + margin-left: auto !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.5rem !important; + } + + .pt-sm-3 { + padding-top: 1rem !important; + } + + .pt-sm-4 { + padding-top: 1.5rem !important; + } + + .pt-sm-5 { + padding-top: 3rem !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.5rem !important; + } + + .pe-sm-3 { + padding-right: 1rem !important; + } + + .pe-sm-4 { + padding-right: 1.5rem !important; + } + + .pe-sm-5 { + padding-right: 3rem !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pb-sm-3 { + padding-bottom: 1rem !important; + } + + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pb-sm-5 { + padding-bottom: 3rem !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 1rem !important; + } + + .ps-sm-4 { + padding-left: 1.5rem !important; + } + + .ps-sm-5 { + padding-left: 3rem !important; + } + + .text-sm-start { + text-align: left !important; + } + + .text-sm-end { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + + .float-md-end { + float: right !important; + } + + .float-md-none { + float: none !important; + } + + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-grid { + display: grid !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } + + .flex-md-fill { + flex: 1 1 auto !important; + } + + .flex-md-row { + flex-direction: row !important; + } + + .flex-md-column { + flex-direction: column !important; + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-md-grow-0 { + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: 0.25rem !important; + } + + .gap-md-2 { + gap: 0.5rem !important; + } + + .gap-md-3 { + gap: 1rem !important; + } + + .gap-md-4 { + gap: 1.5rem !important; + } + + .gap-md-5 { + gap: 3rem !important; + } + + .justify-content-md-start { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } + + .order-md-first { + order: -1 !important; + } + + .order-md-0 { + order: 0 !important; + } + + .order-md-1 { + order: 1 !important; + } + + .order-md-2 { + order: 2 !important; + } + + .order-md-3 { + order: 3 !important; + } + + .order-md-4 { + order: 4 !important; + } + + .order-md-5 { + order: 5 !important; + } + + .order-md-last { + order: 6 !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.5rem !important; + } + + .mt-md-3 { + margin-top: 1rem !important; + } + + .mt-md-4 { + margin-top: 1.5rem !important; + } + + .mt-md-5 { + margin-top: 3rem !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.5rem !important; + } + + .me-md-3 { + margin-right: 1rem !important; + } + + .me-md-4 { + margin-right: 1.5rem !important; + } + + .me-md-5 { + margin-right: 3rem !important; + } + + .me-md-auto { + margin-right: auto !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mb-md-3 { + margin-bottom: 1rem !important; + } + + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + + .mb-md-5 { + margin-bottom: 3rem !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.5rem !important; + } + + .ms-md-3 { + margin-left: 1rem !important; + } + + .ms-md-4 { + margin-left: 1.5rem !important; + } + + .ms-md-5 { + margin-left: 3rem !important; + } + + .ms-md-auto { + margin-left: auto !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.5rem !important; + } + + .pt-md-3 { + padding-top: 1rem !important; + } + + .pt-md-4 { + padding-top: 1.5rem !important; + } + + .pt-md-5 { + padding-top: 3rem !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.5rem !important; + } + + .pe-md-3 { + padding-right: 1rem !important; + } + + .pe-md-4 { + padding-right: 1.5rem !important; + } + + .pe-md-5 { + padding-right: 3rem !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + + .pb-md-3 { + padding-bottom: 1rem !important; + } + + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + + .pb-md-5 { + padding-bottom: 3rem !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 1rem !important; + } + + .ps-md-4 { + padding-left: 1.5rem !important; + } + + .ps-md-5 { + padding-left: 3rem !important; + } + + .text-md-start { + text-align: left !important; + } + + .text-md-end { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + + .float-lg-end { + float: right !important; + } + + .float-lg-none { + float: none !important; + } + + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-grid { + display: grid !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } + + .flex-lg-fill { + flex: 1 1 auto !important; + } + + .flex-lg-row { + flex-direction: row !important; + } + + .flex-lg-column { + flex-direction: column !important; + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: 0.25rem !important; + } + + .gap-lg-2 { + gap: 0.5rem !important; + } + + .gap-lg-3 { + gap: 1rem !important; + } + + .gap-lg-4 { + gap: 1.5rem !important; + } + + .gap-lg-5 { + gap: 3rem !important; + } + + .justify-content-lg-start { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } + + .order-lg-first { + order: -1 !important; + } + + .order-lg-0 { + order: 0 !important; + } + + .order-lg-1 { + order: 1 !important; + } + + .order-lg-2 { + order: 2 !important; + } + + .order-lg-3 { + order: 3 !important; + } + + .order-lg-4 { + order: 4 !important; + } + + .order-lg-5 { + order: 5 !important; + } + + .order-lg-last { + order: 6 !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.5rem !important; + } + + .mt-lg-3 { + margin-top: 1rem !important; + } + + .mt-lg-4 { + margin-top: 1.5rem !important; + } + + .mt-lg-5 { + margin-top: 3rem !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.5rem !important; + } + + .me-lg-3 { + margin-right: 1rem !important; + } + + .me-lg-4 { + margin-right: 1.5rem !important; + } + + .me-lg-5 { + margin-right: 3rem !important; + } + + .me-lg-auto { + margin-right: auto !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + + .mb-lg-3 { + margin-bottom: 1rem !important; + } + + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + + .mb-lg-5 { + margin-bottom: 3rem !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.5rem !important; + } + + .ms-lg-3 { + margin-left: 1rem !important; + } + + .ms-lg-4 { + margin-left: 1.5rem !important; + } + + .ms-lg-5 { + margin-left: 3rem !important; + } + + .ms-lg-auto { + margin-left: auto !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.5rem !important; + } + + .pt-lg-3 { + padding-top: 1rem !important; + } + + .pt-lg-4 { + padding-top: 1.5rem !important; + } + + .pt-lg-5 { + padding-top: 3rem !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.5rem !important; + } + + .pe-lg-3 { + padding-right: 1rem !important; + } + + .pe-lg-4 { + padding-right: 1.5rem !important; + } + + .pe-lg-5 { + padding-right: 3rem !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pb-lg-3 { + padding-bottom: 1rem !important; + } + + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pb-lg-5 { + padding-bottom: 3rem !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 1rem !important; + } + + .ps-lg-4 { + padding-left: 1.5rem !important; + } + + .ps-lg-5 { + padding-left: 3rem !important; + } + + .text-lg-start { + text-align: left !important; + } + + .text-lg-end { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + + .float-xl-end { + float: right !important; + } + + .float-xl-none { + float: none !important; + } + + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-grid { + display: grid !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } + + .flex-xl-fill { + flex: 1 1 auto !important; + } + + .flex-xl-row { + flex-direction: row !important; + } + + .flex-xl-column { + flex-direction: column !important; + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: 0.25rem !important; + } + + .gap-xl-2 { + gap: 0.5rem !important; + } + + .gap-xl-3 { + gap: 1rem !important; + } + + .gap-xl-4 { + gap: 1.5rem !important; + } + + .gap-xl-5 { + gap: 3rem !important; + } + + .justify-content-xl-start { + justify-content: flex-start !important; + } + + .justify-content-xl-end { + justify-content: flex-end !important; + } + + .justify-content-xl-center { + justify-content: center !important; + } + + .justify-content-xl-between { + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xl-start { + align-items: flex-start !important; + } + + .align-items-xl-end { + align-items: flex-end !important; + } + + .align-items-xl-center { + align-items: center !important; + } + + .align-items-xl-baseline { + align-items: baseline !important; + } + + .align-items-xl-stretch { + align-items: stretch !important; + } + + .align-content-xl-start { + align-content: flex-start !important; + } + + .align-content-xl-end { + align-content: flex-end !important; + } + + .align-content-xl-center { + align-content: center !important; + } + + .align-content-xl-between { + align-content: space-between !important; + } + + .align-content-xl-around { + align-content: space-around !important; + } + + .align-content-xl-stretch { + align-content: stretch !important; + } + + .align-self-xl-auto { + align-self: auto !important; + } + + .align-self-xl-start { + align-self: flex-start !important; + } + + .align-self-xl-end { + align-self: flex-end !important; + } + + .align-self-xl-center { + align-self: center !important; + } + + .align-self-xl-baseline { + align-self: baseline !important; + } + + .align-self-xl-stretch { + align-self: stretch !important; + } + + .order-xl-first { + order: -1 !important; + } + + .order-xl-0 { + order: 0 !important; + } + + .order-xl-1 { + order: 1 !important; + } + + .order-xl-2 { + order: 2 !important; + } + + .order-xl-3 { + order: 3 !important; + } + + .order-xl-4 { + order: 4 !important; + } + + .order-xl-5 { + order: 5 !important; + } + + .order-xl-last { + order: 6 !important; + } + + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .m-xl-3 { + margin: 1rem !important; + } + + .m-xl-4 { + margin: 1.5rem !important; + } + + .m-xl-5 { + margin: 3rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.5rem !important; + } + + .mt-xl-3 { + margin-top: 1rem !important; + } + + .mt-xl-4 { + margin-top: 1.5rem !important; + } + + .mt-xl-5 { + margin-top: 3rem !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .me-xl-0 { + margin-right: 0 !important; + } + + .me-xl-1 { + margin-right: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.5rem !important; + } + + .me-xl-3 { + margin-right: 1rem !important; + } + + .me-xl-4 { + margin-right: 1.5rem !important; + } + + .me-xl-5 { + margin-right: 3rem !important; + } + + .me-xl-auto { + margin-right: auto !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xl-3 { + margin-bottom: 1rem !important; + } + + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xl-5 { + margin-bottom: 3rem !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .ms-xl-0 { + margin-left: 0 !important; + } + + .ms-xl-1 { + margin-left: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.5rem !important; + } + + .ms-xl-3 { + margin-left: 1rem !important; + } + + .ms-xl-4 { + margin-left: 1.5rem !important; + } + + .ms-xl-5 { + margin-left: 3rem !important; + } + + .ms-xl-auto { + margin-left: auto !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .p-xl-3 { + padding: 1rem !important; + } + + .p-xl-4 { + padding: 1.5rem !important; + } + + .p-xl-5 { + padding: 3rem !important; + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.5rem !important; + } + + .pt-xl-3 { + padding-top: 1rem !important; + } + + .pt-xl-4 { + padding-top: 1.5rem !important; + } + + .pt-xl-5 { + padding-top: 3rem !important; + } + + .pe-xl-0 { + padding-right: 0 !important; + } + + .pe-xl-1 { + padding-right: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.5rem !important; + } + + .pe-xl-3 { + padding-right: 1rem !important; + } + + .pe-xl-4 { + padding-right: 1.5rem !important; + } + + .pe-xl-5 { + padding-right: 3rem !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xl-3 { + padding-bottom: 1rem !important; + } + + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xl-5 { + padding-bottom: 3rem !important; + } + + .ps-xl-0 { + padding-left: 0 !important; + } + + .ps-xl-1 { + padding-left: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 1rem !important; + } + + .ps-xl-4 { + padding-left: 1.5rem !important; + } + + .ps-xl-5 { + padding-left: 3rem !important; + } + + .text-xl-start { + text-align: left !important; + } + + .text-xl-end { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + + .float-xxl-end { + float: right !important; + } + + .float-xxl-none { + float: none !important; + } + + .d-xxl-inline { + display: inline !important; + } + + .d-xxl-inline-block { + display: inline-block !important; + } + + .d-xxl-block { + display: block !important; + } + + .d-xxl-grid { + display: grid !important; + } + + .d-xxl-table { + display: table !important; + } + + .d-xxl-table-row { + display: table-row !important; + } + + .d-xxl-table-cell { + display: table-cell !important; + } + + .d-xxl-flex { + display: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } + + .flex-xxl-fill { + flex: 1 1 auto !important; + } + + .flex-xxl-row { + flex-direction: row !important; + } + + .flex-xxl-column { + flex-direction: column !important; + } + + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: 0.25rem !important; + } + + .gap-xxl-2 { + gap: 0.5rem !important; + } + + .gap-xxl-3 { + gap: 1rem !important; + } + + .gap-xxl-4 { + gap: 1.5rem !important; + } + + .gap-xxl-5 { + gap: 3rem !important; + } + + .justify-content-xxl-start { + justify-content: flex-start !important; + } + + .justify-content-xxl-end { + justify-content: flex-end !important; + } + + .justify-content-xxl-center { + justify-content: center !important; + } + + .justify-content-xxl-between { + justify-content: space-between !important; + } + + .justify-content-xxl-around { + justify-content: space-around !important; + } + + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xxl-start { + align-items: flex-start !important; + } + + .align-items-xxl-end { + align-items: flex-end !important; + } + + .align-items-xxl-center { + align-items: center !important; + } + + .align-items-xxl-baseline { + align-items: baseline !important; + } + + .align-items-xxl-stretch { + align-items: stretch !important; + } + + .align-content-xxl-start { + align-content: flex-start !important; + } + + .align-content-xxl-end { + align-content: flex-end !important; + } + + .align-content-xxl-center { + align-content: center !important; + } + + .align-content-xxl-between { + align-content: space-between !important; + } + + .align-content-xxl-around { + align-content: space-around !important; + } + + .align-content-xxl-stretch { + align-content: stretch !important; + } + + .align-self-xxl-auto { + align-self: auto !important; + } + + .align-self-xxl-start { + align-self: flex-start !important; + } + + .align-self-xxl-end { + align-self: flex-end !important; + } + + .align-self-xxl-center { + align-self: center !important; + } + + .align-self-xxl-baseline { + align-self: baseline !important; + } + + .align-self-xxl-stretch { + align-self: stretch !important; + } + + .order-xxl-first { + order: -1 !important; + } + + .order-xxl-0 { + order: 0 !important; + } + + .order-xxl-1 { + order: 1 !important; + } + + .order-xxl-2 { + order: 2 !important; + } + + .order-xxl-3 { + order: 3 !important; + } + + .order-xxl-4 { + order: 4 !important; + } + + .order-xxl-5 { + order: 5 !important; + } + + .order-xxl-last { + order: 6 !important; + } + + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.5rem !important; + } + + .m-xxl-3 { + margin: 1rem !important; + } + + .m-xxl-4 { + margin: 1.5rem !important; + } + + .m-xxl-5 { + margin: 3rem !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + + .mt-xxl-3 { + margin-top: 1rem !important; + } + + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + + .mt-xxl-5 { + margin-top: 3rem !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .me-xxl-0 { + margin-right: 0 !important; + } + + .me-xxl-1 { + margin-right: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.5rem !important; + } + + .me-xxl-3 { + margin-right: 1rem !important; + } + + .me-xxl-4 { + margin-right: 1.5rem !important; + } + + .me-xxl-5 { + margin-right: 3rem !important; + } + + .me-xxl-auto { + margin-right: auto !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .ms-xxl-0 { + margin-left: 0 !important; + } + + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + + .ms-xxl-3 { + margin-left: 1rem !important; + } + + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + + .ms-xxl-5 { + margin-left: 3rem !important; + } + + .ms-xxl-auto { + margin-left: auto !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.5rem !important; + } + + .p-xxl-3 { + padding: 1rem !important; + } + + .p-xxl-4 { + padding: 1.5rem !important; + } + + .p-xxl-5 { + padding: 3rem !important; + } + + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + + .pt-xxl-3 { + padding-top: 1rem !important; + } + + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + + .pt-xxl-5 { + padding-top: 3rem !important; + } + + .pe-xxl-0 { + padding-right: 0 !important; + } + + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + + .pe-xxl-3 { + padding-right: 1rem !important; + } + + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + + .pe-xxl-5 { + padding-right: 3rem !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + + .ps-xxl-0 { + padding-left: 0 !important; + } + + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 1rem !important; + } + + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + + .ps-xxl-5 { + padding-left: 3rem !important; + } + + .text-xxl-start { + text-align: left !important; + } + + .text-xxl-end { + text-align: right !important; + } + + .text-xxl-center { + text-align: center !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 2.5rem !important; + } + + .fs-2 { + font-size: 2rem !important; + } + + .fs-3 { + font-size: 1.75rem !important; + } + + .fs-4 { + font-size: 1.5rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !important; + } + + .d-print-grid { + display: grid !important; + } + + .d-print-table { + display: table !important; + } + + .d-print-table-row { + display: table-row !important; + } + + .d-print-table-cell { + display: table-cell !important; + } + + .d-print-flex { + display: flex !important; + } + + .d-print-inline-flex { + display: inline-flex !important; + } + + .d-print-none { + display: none !important; + } +} + +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/cubicweb_francearchives/data/css/bootstrap.min.css b/cubicweb_francearchives/data/css/bootstrap.min.css index 3e8b94d..02ae65b 100644 --- a/cubicweb_francearchives/data/css/bootstrap.min.css +++ b/cubicweb_francearchives/data/css/bootstrap.min.css @@ -1,5 +1,7 @@ -/*! - * Bootstrap v3.3.6 (http://getbootstrap.com) - * Copyright 2011-2015 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +@charset "UTF-8";/*! + * Bootstrap v5.1.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-rgb:33,37,41;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) * -.5);margin-left:calc(var(--bs-gutter-x) * -.5)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor: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,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/cubicweb_francearchives/data/cubes.pnia_portal.js b/cubicweb_francearchives/data/cubes.pnia_portal.js index baa6856..bc7c49b 100644 --- a/cubicweb_francearchives/data/cubes.pnia_portal.js +++ b/cubicweb_francearchives/data/cubes.pnia_portal.js @@ -1,553 +1,473 @@ /* global $ BASE_URL */ +const choiceKey = 'FASiteSearchCategory' function setupTypeAhead() { - typeof $.typeahead === 'function' && $.typeahead({ - input: '#norql', - minLength: 1, - maxItem: 30, - hint: true, - cache: false, - matcher: true, - filter: false, // data is already filtered by elasticsearch - accent: { - from: "ãàáäâẽèéëêìíïîõòóöôùúüûñç", - to: "aaaaaeeeeeiiiiooooouuuunc" - }, - display: ['text', 'etype'], - template: "{{text}}, {{etype}} - {{countlabel}}", - dynamic: true, - source: { - ajax: { - type: "GET", - url: BASE_URL + '_suggest', - data: { - q: "{{query}}" - - } - } - }, - callback: { - // Redirect to url after clicking or pressing enter - onClickAfter: function(node, a, item) { - window.location.href = item.url; // Set window location to site url - } - } - }); + typeof $.typeahead === 'function' && + $.typeahead({ + input: '#norql', + minLength: 1, + maxItem: 30, + hint: true, + cache: false, + matcher: true, + group: 'etype', + filter: false, // data is already filtered by elasticsearch + accent: { + from: 'ãàáäâẽèéëêìíïîõòóöôùúüûñç', + to: 'aaaaaeeeeeiiiiooooouuuunc', + }, + display: ['text', 'etype'], + resultContainer: "div.typeahead__result", + template: + "{{text}} - {{countlabel}}", + dynamic: true, + source: { + ajax: { + type: 'GET', + url: BASE_URL + '_suggest', + data: { + q: '{{query}}', + escategory: window.localStorage[choiceKey], + }, + }, + }, + callback: { + // Redirect to url after clicking or pressing enter + onClickAfter: function (node, a, item) { + window.location.href = item.url // Set window location to site url + }, + }, + }) } +function toggleSubtitiles(){ + const links = Array.prototype.slice + .call(document.querySelectorAll('.media-subtitles-button a')) + .forEach(function (link) { + link.addEventListener('click', function () { + let label + let expanded = this.classList.contains('expanded'), + textid = link.getAttribute('aria-controls'); + if (textid !== undefined) { + text = document.querySelector('#' + textid) + if (text !== undefined) { + if (expanded) { + this.setAttribute('aria-expanded', 'false') + this.classList.remove('expanded') + label = this.dataset.labelExpand + } else { + this.setAttribute('aria-expanded', 'true') + this.classList.add('expanded') + label = this.dataset.labelCollapse + } + this.innerHTML = label + text.classList.toggle('hidden') + }} + }) + }) -function setupEventGallery() { - var events = document.getElementById('eventGallery'); - if (events) { - $(events).lightSlider({ - item: 3, - loop: false, - slideMove: 1, - easing: 'cubic-bezier(0.25, 0, 0.25, 1)', - speed: 600, - responsive: [{ - breakpoint: 1500, - settings: { - item: 2 - } - }, { - breakpoint: 768, - settings: { - item: 1 - } - }]}); +} + +function toggleCategoryChoice(category) { + const currentChoice = window.localStorage[choiceKey] + if (currentChoice.includes(category)) { + window.localStorage[choiceKey] = currentChoice.replace(category, '') + } else { + window.localStorage[choiceKey] += category } + setupTypeAhead() } +function setupSearchBarForm() { + const searchBarForm = document.querySelector('#search-bar-form') + if (searchBarForm === null) { + return ; + } -function setupCarousel() { - var items = Array.prototype.slice.call(document.querySelectorAll('.hero-images--item')); + // Initialize localStorage values + if (!(choiceKey in window.localStorage)) { + window.localStorage[choiceKey] = 'archivessiteres' + } - if (!items.length) { - return; // no carousel found + // Check values from localStorage state + if (window.localStorage[choiceKey].includes('archives')) { + searchBarForm.rb1.checked = true + } + if (window.localStorage[choiceKey].includes('siteres')) { + searchBarForm.rb2.checked = true + } + // Change localStorage onClik + searchBarForm.rb1.onclick = function () { + toggleCategoryChoice('archives') } - var curidx = 0, - nbelts = items.length, - curitem = items[0]; + searchBarForm.rb2.onclick = function () { + toggleCategoryChoice('siteres') + } - function carouselNext() { - var nextidx = (++curidx % nbelts), - nextitem = items[nextidx]; + searchBarForm.rb1.addEventListener('focus', function () { + $('#rbm1').addClass("focused")}); - curitem.classList.remove('hero-images--item__visible'); - nextitem.classList.add('hero-images--item__visible'); - curitem = nextitem; - } + searchBarForm.rb1.addEventListener('blur', function () { + $('#rbm1').removeClass("focused")}); + + searchBarForm.rb2.addEventListener('focus', function () { + $('#rbm2').addClass("focused")}); + + searchBarForm.rb2.addEventListener('blur', function () { + $('#rbm2').removeClass("focused")}); - // start carousel - window.setInterval(carouselNext, 3000); +} + +function setupEventGallery() { + var events = document.getElementById('eventGallery') + if (events) { + $(events).lightSlider({ + item: 3, + loop: false, + slideMove: 1, + easing: 'cubic-bezier(0.25, 0, 0.25, 1)', + speed: 600, + responsive: [ + { + breakpoint: 1500, + settings: { + item: 2, + }, + }, + { + breakpoint: 768, + settings: { + item: 1, + }, + }, + ], + }) + } } function setupHighresImagesDownloading() { - var width = $(window).width(); + var width = $(window).width() - var hrPropName; + var hrPropName if (width >= 1900) { - hrPropName = 'highresXl'; + hrPropName = 'highresXl' } else if (width >= 1200) { - hrPropName = 'highresLg'; + hrPropName = 'highresLg' } else if (width >= 922) { - hrPropName = 'highresMd'; + hrPropName = 'highresMd' } else if (width >= 768) { - hrPropName = 'highresSm'; + hrPropName = 'highresSm' } else { - hrPropName = 'highresXs'; + hrPropName = 'highresXs' } - Array.prototype.slice.call(document.querySelectorAll('.hero-images--image')) - .forEach(function(img) { - var hrImage = new Image(); - hrImage.onload = function() { - img.src = this.src; - img.classList.remove('hero-images--image__lowres'); - } - hrImage.src = img.dataset[hrPropName]; - }); -} - - -function setupAriaOnSearchInputRadio() { - document.querySelector('#site-search-options').addEventListener('change', function() { - $(this).find('input').each(function() { - var $input = $(this); - if ($input.is(':checked')){ - $input.attr('aria-checked', 'true'); - } else { - $input.attr('aria-checked', 'false'); + Array.prototype.slice + .call(document.querySelectorAll('.hero-images--image')) + .forEach(function (img) { + var hrImage = new Image() + hrImage.onload = function () { + img.src = this.src + img.classList.remove('hero-images--image__lowres') } - }); - } -)} - - -function linkToggleDropDowMenu($link, $trigger, $items) { - $link.keydown(function(e){ - if (!$items.length) return; - // no menu to open - if (e.key !== 'Enter') return; - e.preventDefault(); - e.stopPropagation(); - $trigger.click(); - if ($trigger.hasClass('open')) { - $items.eq(0).focus(); - } - }); -} - - -function setupDropdownSiteMenu() { - var $menu = $('#main-menu'), - $items = $('#menu-panel a'), - $icon = $('#menu-icon'); - linkToggleDropDowMenu($menu, $icon, $items); - $icon.click(function() { - $('#menu-panel').toggleClass('hidden'); - $(this).toggleClass('open'); - if ($(this).hasClass('open')) { - $menu.attr('aria-expanded', 'true'); - $('.menu-icon__menu-item a:first').focus(); - } else { - $menu.attr('aria-expanded', 'false'); - } - }); -} - - -function setupSearchOptions() { - var $link = $('.search-options-toggle'), - $items = $('.search-options input'); - linkToggleDropDowMenu($link, $link, $items); - $link.click(function() { - $(this).siblings('.search-options').toggleClass("hidden"); - $(this).toggleClass('open'); - if ($(this).hasClass('open')) { - $('.search-options-toggle__menu-item input:first').focus(); - } - }); - + hrImage.src = img.dataset[hrPropName] + }) } - function setupLightSlider() { - if ($.fn.lightSlider !== undefined && - document.getElementById('light-slider')) { + if ( + $.fn.lightSlider !== undefined && + document.getElementById('light-slider') + ) { var idxActive = $('#light-slider li span').index( - $('#light-slider li span.active')); + $('#light-slider li span.active'), + ) /* slider XXX do that only on Commemo pages */ - var slider = $("#light-slider").lightSlider({ + var slider = $('#light-slider').lightSlider({ pager: false, - autoWidth: true - }); - slider.goToSlide(idxActive); + autoWidth: true, + }) + slider.goToSlide(idxActive) - $(".control-left").click(function(){ - slider.goToPrevSlide(); - }); + $('.control-left').click(function () { + slider.goToPrevSlide() + }) - $(".control-right").click(function(){ - slider.goToNextSlide(); - }); + $('.control-right').click(function () { + slider.goToNextSlide() + }) } - } - function setupFacets() { - $('.facet-etype').click(function() { - var url = $(this).data('url'); + $('.facet-etype').click(function () { + var url = $(this).data('url') if (url !== undefined) { - document.location.href = url; + document.location.href = url } - }); - - // panels - function togglePanel(panelHeader) { - var body = panelHeader.next(); - var panelIsFolded = body.css('display') === 'none'; - - if (panelIsFolded) { - body.show(); - panelHeader.removeClass('folded').addClass('unfolded'); - panelHeader.siblings('.facet__body').find('.facet__focusable-item:first').focus(); - } else { - body.hide(); - panelHeader.removeClass('unfolded').addClass('folded'); - } - } - - // facets - $('.cwjs-facet-title').click(function() { - togglePanel($(this)); - }); - $('.cwjs-facet-title').keydown(function(e){ - if (!/(38|40)/.test(e.keyCode)) return; - e.preventDefault(); - e.stopPropagation(); - var panelIsFolded = $(this).next().css('display') === 'none'; - if (panelIsFolded) { - togglePanel($(this)); + }) + + // panels + function togglePanel(panelHeader) { + var body = panelHeader.parent().next() + var panelIsFolded = body.css('display') === 'none' + if (panelIsFolded) { + body.show() + panelHeader.removeClass('folded').addClass('unfolded') + panelHeader.attr('aria-expanded', 'true') + panelHeader.parent() + .siblings('.facet__body') + .find('.facet__focusable-item:first') + .focus() + } else { + body.hide() + panelHeader.removeClass('unfolded').addClass('folded') + panelHeader.attr('aria-expanded', 'false') } - }); + } - // commemoration content - $('.commemoration-side-content-header').click(function() { - togglePanel($(this)); - }); + // facets + $('.cwjs-facet-title').click(function (e) { + togglePanel($(this)) + e.preventDefault() + }) + $('.cwjs-facet-title').keydown(function (e) { + // 38 ArrowUp, 40 ArrowDown + if (!/(38|40)/.test(e.keyCode)) return + const title = this.parentNode + e.preventDefault() + e.stopPropagation() + var panelIsFolded = $(title).next().css('display') === 'none' + if (panelIsFolded) { + togglePanel($(this)) + } + }) + + // commemoration content + $('.commemoration-side-content-header').click(function () { + togglePanel($(this)) + }) } function resizeHeroImages() { - if ($(window).width() < 992) { return; } + if ($(window).width() < 992) { + return + } - var totalHeight = $(window).height(); - var navbarHeight = $('.navtools').outerHeight(); - var heroHeight = $('#hero-images').outerHeight(); - var searchbarHeight = $('#home-search-bar').outerHeight(); - var sectionsHeight = $('#content-headings').outerHeight(); + var totalHeight = $(window).height() + var navbarHeight = $('.navtools').outerHeight() + var heroHeight = $('#hero-images').outerHeight() + var searchbarHeight = $('#home-search-bar').outerHeight() + var sectionsHeight = $('#content-headings').outerHeight() - heroHeight = totalHeight - navbarHeight - - searchbarHeight - sectionsHeight; + heroHeight = totalHeight - navbarHeight - searchbarHeight - sectionsHeight /* Why 215? Why not?! */ if (heroHeight > 215) { - $('#hero-images').css({height: heroHeight + 'px'}); - $('.hero-images--item').css({height: heroHeight + 'px'}); - $('.hero-images--image').css({height: heroHeight + 'px'}); + $('#hero-images').css({height: heroHeight + 'px'}) + $('.hero-images--item').css({height: heroHeight + 'px'}) + $('.hero-images--image').css({height: heroHeight + 'px'}) } } function resizeResultImages() { - Array.prototype.slice.call(document.querySelectorAll('.image-fixed-frame')) - .forEach(function(frame) { - var fixedFrame = $(frame); - var insideImage = $(frame).find('img'); - insideImage.on('load', function() { - var newMargin - = (fixedFrame.outerHeight() - insideImage.outerHeight()) / 2; - $(frame).find('img').css({'margin-top': newMargin + 'px'}); + Array.prototype.slice + .call(document.querySelectorAll('.image-fixed-frame')) + .forEach(function (frame) { + var fixedFrame = $(frame) + var insideImage = $(frame).find('img') + insideImage.on('load', function () { + var newMargin = + (fixedFrame.outerHeight() - insideImage.outerHeight()) / 2 + $(frame) + .find('img') + .css({'margin-top': newMargin + 'px'}) }) - }); + }) } - function setupFacetOptions() { - $('.facet__more_options').click(function() { - var $link = $(this); - $link.children('a').toggle('hidden'); - $link.siblings('.more-option').toggle('hidden'); - $link.toggleClass('open'); - if ($link.hasClass('open')) { - $link.siblings('.facet__value.more-option:first').find('.facet__focusable-item').focus(); - } - return false; - }); - $('.facet__more_options').keydown(function(e) { - if (!/(38|40)/.test(e.keyCode)) return; - e.preventDefault(); - e.stopPropagation(); - $(this).click(); - }); + $('.facet__more_options').click(function () { + var $link = $(this) + $link.children('a').toggle('hidden') + $link.siblings('.more-option').toggle('hidden') + $link.toggleClass('open') + if ($link.hasClass('open')) { + $link + .siblings('.facet__value.more-option:first') + .find('.facet__focusable-item') + .focus() + } + return false + }) + $('.facet__more_options').keydown(function (e) { + if (!/(38|40)/.test(e.keyCode)) return + e.preventDefault() + e.stopPropagation() + $(this).click() + }) } + function setupSitemap() { - var container = $('#tree-container'); + var container = $('#tree-container') if (container.length !== 1) { // not on sitemap page - return; + return } - $('i.fold', container).click(function() { - var $caret = $(this); + $('i.fold', container).click(function () { + var $caret = $(this) if ($caret.hasClass('rotate-0')) { - $caret.removeClass('rotate-0'); - $caret.addClass('rotate-90'); + $caret.removeClass('rotate-0') + $caret.addClass('rotate-90') } else { - $caret.addClass('rotate-0'); - $caret.removeClass('rotate-90'); + $caret.addClass('rotate-0') + $caret.removeClass('rotate-90') } - var children = $caret.siblings('ul'); - children.toggleClass('hide'); - }); + var children = $caret.siblings('ul') + children.toggleClass('hidden') + }) } - function h(tagName, attrs) { var element = document.createElement(tagName), attrName = null, attrValue = null, - args = Array.prototype.slice.call(arguments, 2); + args = Array.prototype.slice.call(arguments, 2) if (attrs !== null) { for (attrName in attrs) { - attrValue = attrs[attrName]; + attrValue = attrs[attrName] if (attrName === 'className') { - attrName = 'class'; + attrName = 'class' } - element.setAttribute(attrName, attrValue); + element.setAttribute(attrName, attrValue) } } - args.forEach(function(child) { + args.forEach(function (child) { if (typeof child === 'string') { - element.appendChild(document.createTextNode(child)); + element.appendChild(document.createTextNode(child)) } else { - element.appendChild(child); + element.appendChild(child) } - }); - return element; + }) + return element } -var overlay = h('div', {className: 'overlay'}, - h('i', {className: 'overlay__loading fa fa-spin fa-spinner'})); - -function setupAncestorsFacet() { - var container = document.getElementById('facet-ancestors'); - if (container === null) { - // no ancestors facet on this page - return; - } - - // container.style.position = 'relative'; - container.appendChild(overlay); +var overlay = h( + 'div', + {className: 'overlay'}, + h('i', {className: 'overlay__loading fa fa-spin fa-spinner'}), +) - var lis = container.querySelectorAll('li.facet__value'), - eid2li = {}, - eid = null, - tree = [], - sections = []; - for (var i = 0, l = lis.length ; i < l ; i++) { - eid = lis[i].dataset.eid; - eid2li[eid] = lis[i]; - sections.push(Number(eid)); - } - fetch(BASE_URL + '_children', {credentials: 'same-origin'}) - .then(function(res) { return res.json(); }) - .then(function(db) { - // first we build tree data structure - function fill_branch(el, branch) { - if (db.hasOwnProperty(el)) { - db[el].forEach(function(child) { - if (sections.indexOf(child) === -1) { - return; - } - branch[1].push(fill_branch(child, [child, []])); - }); - } - // remove child from sections - var index = sections.indexOf(el); - sections.splice(index, 1); - return branch; - } - while (sections.length) { - tree.push(fill_branch(sections[0], [sections[0], []])); - } - - // then we create ul/li structure - var topul = container.querySelector('.facet__values'); - function buildUlLi(ul, data) { - data.forEach(function(d) { - var sectionEid = d[0], - children = d[1], - li = eid2li[sectionEid]; - li.style.display = ''; - li.classList.remove('more-option'); - var liClass = 'fa fold pointer fa-caret-right rotate-0' + - (children.length ? '' : ' not-visible'); - li.appendChild( - h( - 'div', - null, - h('i', {className: liClass}), - li.children[0] - ) - ); - if (children.length) { - var nextUl = h('ul', {className: 'hide children'}); - li.appendChild(buildUlLi(nextUl, children)); - } - ul.appendChild(li); - }); - return ul; - } - buildUlLi(topul, tree); - - // hide more option if any - var moreOpts = container.querySelector('.facet__more_options'); - if (moreOpts) { - moreOpts.classList.add('hide'); - } - - // add action on caret - topul.addEventListener('click', function(ev) { - var i = ev.target, - classList = i.classList; - if (!classList.contains('fold')) { - return; - } - classList.toggle('rotate-0'); - classList.toggle('rotate-90'); - var ul = i.parentElement.parentElement.querySelector('ul'); - if (!ul) { - return; - } - ul.classList.toggle('hide'); - }); - container.removeChild(overlay); - }) - .catch(function(err) { - console.error(err); - }); -} - -function setupEscapeButton(){ - $(document).keyup(function(e) { +function setupEscapeButton() { + $(document).keyup(function (e) { // close elements - var selectors = [['#menu-icon.open', '.menu-icon__menu-item :focus'], + var selectors = [ + ['#menu-icon.open', '.menu-item :focus'], ['#languageMenu.open', '.languageMenu__menu-item :focus'], - ['.search-options-toggle.open', '.search-options__menu-item :focus'], ['.cwjs-facet-title.unfolded', '.facet__focusable-item:focus'], - ]; - var $elt, itemSelector, focused; + ] + var $elt, itemSelector, focused if (e.key === 'Tab') { - selectors.forEach(function(selector) { + selectors.forEach(function (selector) { var $elt = $(selector[0]), - itemSelector = selector[1]; - if (selectors[0] === '.cwjs-facet-title.unfolded') { - focused = $elt.siblings('.facet__body').find(itemSelector); + itemSelector = selector[1] + if (selector[0] === '.cwjs-facet-title.unfolded') { + focused = $elt.parent().siblings('.facet__body').find(itemSelector) } else { - focused = $(itemSelector); + focused = $(itemSelector) } if ($elt[0] !== undefined) { - if ( focused.length === 0){ - $elt.click(); + if (focused.length === 0) { + $elt.click() } } - }); + }) } if (e.key === 'Escape') { - selectors.some(function(selector) { - var $elt = $(selector[0]); - if ($elt[0] !== undefined ) { - $elt.click(); - return true; + selectors.some(function (selector) { + var $elt = $(selector[0]) + if ($elt[0] !== undefined) { + $elt.click() + return true } - }); + }) } - }); + }) } - -// When the user scrolls down 20px from the top of the document, show the button -window.addEventListener('scroll', scrollFunction); +// When the user scrolls down 50px from the top of the document, show the button +window.addEventListener('scroll', scrollFunction) function scrollFunction() { - const btn = document.getElementById("toTopBtn"); - if (btn === null) { - return; - } - if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { - btn.style.display = "block"; - } else { - btn.style.display = "none"; - } + const btn = document.getElementById('toTopBtn') + if (btn === null) { + return + } + if ( + document.body.scrollTop > 50 || + document.documentElement.scrollTop > 50 + ) { + btn.style.display = 'block' + btn.style.transition = 'opacity 1s ease-out' + } else { + btn.style.display = 'none' + btn.style.transition = 'opacity 1s ease-out' + } } function initScrollBtn() { -// When the user clicks on the button, scroll to the top of the document - $("#toTopBtn").click(function(){ - document.body.scrollTop = 0; // For Safari - document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera - }); + // When the user clicks on the button, scroll to the top of the document + $('#toTopBtn').click(function () { + $('body,html').animate({scrollTop: $('body').offset().top},500); + + }) } function initXitiSLinks() { - const xitiSLinksSelector ="a[data-xiti-name]"; + const xitiSLinksSelector = 'a[data-xiti-name]' $(document).on('click', xitiSLinksSelector, function () { - const ds = this.dataset; - return xt_click(this, ds.xitiLevel, ds.xitiN2, ds.xitiName, ds.xitiType); - }); + const ds = this.dataset + return xt_click(this, ds.xitiLevel, ds.xitiN2, ds.xitiName, ds.xitiType) + }) $(document).on('keypress', xitiSLinksSelector, function (event) { - if (!/(13)/.test(e.keyCode)) return; - const ds = this.dataset; - return xt_click(this, ds.xitiLevel, ds.xitiN2, ds.xitiName, ds.xitiType); - }); + if (!/(13)/.test(e.keyCode)) return + const ds = this.dataset + return xt_click(this, ds.xitiLevel, ds.xitiN2, ds.xitiName, ds.xitiType) + }) } +$('document').ready(function () { + setupEscapeButton() + resizeHeroImages() + setupTypeAhead() + setupSearchBarForm() + setupHighresImagesDownloading() + setupLightSlider() + setupFacets() + setupEventGallery() + resizeResultImages() + setupFacetOptions() + setupSitemap() + initScrollBtn() + initXitiSLinks() + toggleSubtitiles() -$('document').ready(function(){ - setupEscapeButton(); - resizeHeroImages(); - setupTypeAhead(); - setupCarousel(); - setupHighresImagesDownloading(); - setupLightSlider(); - setupDropdownSiteMenu(); - setupSearchOptions(); - setupFacets(); - setupEventGallery(); - resizeResultImages(); - setupFacetOptions(); - setupSitemap(); - setupAncestorsFacet(); - setupAriaOnSearchInputRadio(); - initScrollBtn(); - initXitiSLinks(); -}); - -window.onresize = function() { - resizeHeroImages(); -} +}) +window.onresize = function () { + resizeHeroImages() +} $(function () { - document.querySelectorAll('[rel="popover"]').forEach(function(pop) { - // XXX quid of existing link if (pop.parentNode.tagName.toLocaleLowerCase() != 'a') - $(pop).popover({trigger: "hover", html:true}); - }); + var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')) + popoverTriggerList.map(function (popoverTriggerEl) { + let tot = new bootstrap.Popover(popoverTriggerEl) + // accessibility: do not display title which is empty + tot._element.removeAttribute("title") + }) }) diff --git a/cubicweb_francearchives/data/cubes.pnia_search.js b/cubicweb_francearchives/data/cubes.pnia_search.js new file mode 100644 index 0000000..e961a5f --- /dev/null +++ b/cubicweb_francearchives/data/cubes.pnia_search.js @@ -0,0 +1,29 @@ +/* global $ */ + +function checkDateRange(){ + const $form = $('#date-facet') + var $mininput = $form.find('#date-min-input'); + var minvalue = parseInt($mininput.val()) + var $maxinput = $form.find('#date-max-input') + var maxvalue = parseInt($maxinput.val()) + $maxinput.removeClass('error'); + + if (minvalue && maxvalue) { + if (minvalue > maxvalue){ + $maxinput.addClass('error'); + return false + } + } + $form.submit() +} + +function setUpDateMaxInput(){ + $('#date-max-input').bind('focus', function(){ + $(this).removeClass("error") + }); +} + + +$('document').ready(function () { + setUpDateMaxInput() +}) diff --git a/cubicweb_francearchives/data/cubes.pnia_section_tree.js b/cubicweb_francearchives/data/cubes.pnia_section_tree.js new file mode 100644 index 0000000..d8f5591 --- /dev/null +++ b/cubicweb_francearchives/data/cubes.pnia_section_tree.js @@ -0,0 +1,61 @@ +/* global setSearchBarOnlySiteResources, $ */ + +function foldAllSubsections(){ + var container = $('#section-tree ul') + $('ul',container).each(function () { + $(this).addClass('d-none') + }) + $('i.fold',container).each(function () { + $(this).removeClass('rotate-90') + $(this).addClass('rotate-0') + $(this).attr('aria-expanded', 'false'); + }) +} + +function unfoldAllSubsections(){ + var container = $('#section-tree') + $('ul',container).each(function () { + $(this).removeClass('d-none') + }) + $('i.fold',container).each(function () { + $(this).addClass('rotate-90') + $(this).removeClass('rotate-0') + $(this).attr('aria-expanded', 'true'); + }) +} + +function setUpFoldAllButton() { + if ($('#fold-all-tree').length === 0) { + return; + } + let label + $('#fold-all-tree').click(function () { + // If click on button with "unfold" message + if (this.getAttribute('aria-expanded') == "true"){ + foldAllSubsections() + this.setAttribute('aria-expanded', 'false'); + label = this.dataset.labelExpand + } + else { + unfoldAllSubsections() + this.setAttribute('aria-expanded', 'true'); + label = this.dataset.labelCollapse + } + this.innerHTML = label + }) +} + +function setupSearchBarFormArchivists() { + const searchBarForm = document.querySelector('#search-bar-form') + if (setSearchBarOnlySiteResources) { + window.localStorage['FASiteSearchCategory'] = 'siteres' + searchBarForm.rb1.checked = false + searchBarForm.rb2.checked = true + } +} + + +$('document').ready(function () { + setUpFoldAllButton() + setupSearchBarFormArchivists() +}) diff --git a/cubicweb_francearchives/data/cubes.pnia_sharelinks.js b/cubicweb_francearchives/data/cubes.pnia_sharelinks.js new file mode 100644 index 0000000..f55acd9 --- /dev/null +++ b/cubicweb_francearchives/data/cubes.pnia_sharelinks.js @@ -0,0 +1,17 @@ +function copyUrl(event) { + event.preventDefault(); + var copyText = document.getElementById("copylink"); + var inputc = document.body.appendChild(document.createElement("input")); + inputc.value = copyText.href; + inputc.select(); + document.execCommand("copy"); + inputc.parentNode.removeChild(inputc); + + // Display "link copied" for 5 seconds + document.getElementById("tooltip-copylink").classList.remove("hidden"); + setTimeout(function() { + document.getElementById("tooltip-copylink").classList.add("hidden"); + }, 5000); + copyText.focus(); + +} diff --git a/cubicweb_francearchives/data/departements-version-simplifiee.geojson b/cubicweb_francearchives/data/departements-version-simplifiee.geojson new file mode 100644 index 0000000..4a76752 --- /dev/null +++ b/cubicweb_francearchives/data/departements-version-simplifiee.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.780213475718984,46.176677022719375],[4.7945808953124605,46.21831635025701],[4.807756868341096,46.23696871115128],[4.810994882268941,46.25992151697563],[4.825956808265179,46.27478753204555],[4.831827095028622,46.29688694217226],[4.852756157390729,46.328199775494426],[4.851457022538043,46.35626925172072],[4.8882077017045455,46.40298160185766],[4.891817622919295,46.43991436571944],[4.915786922554027,46.465410523692164],[4.915557341962093,46.48894113481689],[4.935598865656449,46.514228992728945],[5.004307716480809,46.51041518184386],[5.027777929725955,46.49358075779722],[5.056433075236103,46.48392614751307],[5.107377093416356,46.49191576160186],[5.137248163610305,46.509322673438184],[5.172664602566099,46.513447365613864],[5.201145471995378,46.50821850614692],[5.215064143095116,46.46835927312158],[5.25581668314639,46.451923595866475],[5.310560613770375,46.446766420719875],[5.319500329420964,46.430811362520714],[5.298803013245869,46.41268163222961],[5.341420750039618,46.40179770821096],[5.375550503997551,46.380228055197534],[5.373462288620209,46.35223630468514],[5.401973542783007,46.33904473846451],[5.425824019124199,46.33893598335614],[5.437795113853317,46.31511297122548],[5.466922894957274,46.32326983579511],[5.475143359983399,46.314983312313444],[5.4568376845310524,46.27447818647901],[5.4730553115738125,46.26506376332347],[5.5202584619727855,46.264154428816624],[5.542037828826235,46.27020190870743],[5.566359117801653,46.29405393089148],[5.597401953530867,46.29717016200506],[5.617647005041448,46.32909642404822],[5.649352566100887,46.33949973060812],[5.6845818644582415,46.31092471469043],[5.714717731644379,46.30876884774591],[5.715004075499846,46.281794854191894],[5.725183003095842,46.26072920479395],[5.76565366968616,46.26829459697285],[5.849846074176259,46.26206360332615],[5.878362837898188,46.26923930243743],[5.894626274200642,46.286605180505944],[5.908938421371525,46.283951620059554],[5.918004636082658,46.30919342038628],[5.94141074779852,46.309447376328514],[5.983619269600146,46.36236225578993],[6.029516385230691,46.38681597881577],[6.06400848181829,46.41622698893153],[6.098192550862728,46.4087886309623],[6.169741660312734,46.36793686221589],[6.121274356078805,46.31370764747048],[6.119369631480403,46.29490719406557],[6.102638404712805,46.28506396607944],[6.124247271884754,46.25101201647218],[6.101761179926224,46.23748787561317],[6.088183203547555,46.24681497717057],[6.033127717153324,46.23799614420531],[6.0025553835169445,46.220910810001136],[5.978439780731028,46.216958336715976],[5.963675623254598,46.19696085882454],[5.992165784426486,46.18661733755954],[5.956063159932633,46.13208943594269],[5.922266804802187,46.13147760862653],[5.8924200086063525,46.118482302607056],[5.883180329915085,46.08491752032048],[5.855667958392184,46.08676688670444],[5.832300912634432,46.10599585856304],[5.8114184967701625,46.07842009259869],[5.806996561909532,46.043829800018194],[5.812398928975968,46.02398062317354],[5.809643351753076,45.98979960381866],[5.834025839734275,45.972026538215985],[5.831226413621035,45.93845957829322],[5.8285402770414905,45.909296035615355],[5.80366973107069,45.85558153164841],[5.786777683247082,45.80940611504179],[5.77937453777779,45.76217553185385],[5.783495254205752,45.74431423922736],[5.756676853365063,45.70873356110276],[5.704119379498135,45.710926329459184],[5.708336503736496,45.683064766572876],[5.687058475150925,45.66816731077608],[5.689187102194641,45.64850161239945],[5.659528303353562,45.638682809874865],[5.623748035268078,45.61326832676418],[5.602655500360425,45.651527036877965],[5.586411372003499,45.66707375970352],[5.552743866622332,45.67988793690172],[5.5757522584808825,45.69178828956468],[5.5455415978088505,45.71359345746488],[5.52567323556446,45.71672537840989],[5.516232131684801,45.73225264077732],[5.482525465260449,45.754586398783026],[5.457406410775327,45.78099315590627],[5.422469140800665,45.80730767616671],[5.434944676804955,45.831093776494285],[5.413134793996487,45.85221987973304],[5.351020842949957,45.883709517437694],[5.329298728282268,45.86357404303832],[5.302019342914551,45.84764710800802],[5.288915017040864,45.81112188995001],[5.266894883868229,45.78936901099017],[5.221074288749879,45.76845271626348],[5.191532760208242,45.771688000938774],[5.176892976082814,45.7934833284559],[5.1603687442585455,45.80231368825673],[5.101067478338776,45.81337808264365],[5.044790298055403,45.8117360670572],[5.013451311336389,45.80505705540713],[4.963083585101699,45.81097052424602],[4.918340642420571,45.80702873296715],[4.916119464335568,45.84545668995466],[4.9012173780094885,45.86033670744545],[4.909016569606379,45.87410386475139],[4.88382693945437,45.879994069300665],[4.88069852397936,45.897169382005984],[4.8480352687938995,45.91297548186924],[4.805177333218323,45.89632861459743],[4.805862172264801,45.921565090394125],[4.7885556818887975,45.92396575312498],[4.771751698096339,45.939227157903346],[4.737325990745241,45.938166671490364],[4.729096921230878,45.94909221230217],[4.754510768697905,45.972272809968736],[4.74583632453276,46.03479022524953],[4.739924532383598,46.044545739209596],[4.76168298760261,46.068835281873454],[4.74842216438804,46.092116678231136],[4.7974461577782055,46.14070125939972],[4.802383406855843,46.15689004179432],[4.780213475718984,46.176677022719375]]]},"properties":{"code":"01","nom":"Ain"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.047972977986833,49.40564229475753],[4.039913351175735,49.397396867183815],[4.035496373111564,49.359904159430094],[4.0127284202980995,49.358299141243386],[3.9949400464231957,49.37789993445056],[3.9613090288565647,49.37734494086453],[3.9252301838116423,49.40757795776365],[3.898159524095673,49.39324676616779],[3.864856156264051,49.40533685972032],[3.837686516500783,49.39565820991326],[3.8563548292895904,49.381163036761194],[3.84805797975596,49.36391735212325],[3.8224705767098395,49.35696565512036],[3.777534921928809,49.35581577743615],[3.7422207217091263,49.33651301919691],[3.6989371212574853,49.33195284253632],[3.643938967409509,49.31271547683784],[3.6573162286122742,49.291023347068474],[3.65525456317135,49.26285133857558],[3.670777136423702,49.23959850877529],[3.662544752146768,49.20897792079391],[3.697104870697589,49.20547444963648],[3.704392046963459,49.181373023469],[3.725444039996693,49.173515945092305],[3.7511478237665794,49.17770096615194],[3.7487650521863713,49.15708155419203],[3.701623868432638,49.14308771135046],[3.6838349064164695,49.15449185807903],[3.6534402301896542,49.14869065051608],[3.622246623748466,49.151103693376655],[3.6103983127772716,49.13550196815309],[3.6117958918993924,49.11808793409194],[3.6390535019551273,49.08130605737889],[3.5877067932472952,49.059394631367105],[3.587608670612347,49.03381324798993],[3.647726454659581,49.04140800760242],[3.663950657450056,49.03730898527378],[3.678113179313511,49.01690766636074],[3.665158653762439,49.00563193481009],[3.6387510313501172,49.002277384044845],[3.620658549289589,48.9659439788058],[3.591558411237313,48.96037176960385],[3.601964878227183,48.94505940416911],[3.5744431375994288,48.93901643224886],[3.5738538398044097,48.92148321270002],[3.528576443116953,48.91214102895302],[3.5083215469627684,48.890402602371054],[3.4851874436586847,48.851908494372864],[3.4607105852412756,48.83944139457446],[3.452232416190477,48.856291455303484],[3.404630766733507,48.86387236235099],[3.380474508825688,48.874761432854626],[3.3828132392962247,48.88874725594759],[3.3663472431751384,48.922836905893014],[3.3302994547269797,48.908706088642376],[3.3130758740800688,48.9212163651494],[3.3047494707754015,48.94876427894454],[3.2678460373508416,48.938331129104206],[3.2518351589230496,48.97236625695047],[3.229176905886298,48.98841784600257],[3.1682883590774806,49.01667270236993],[3.1818268776645002,49.060865198640144],[3.1535840813505853,49.08328424779814],[3.16523032905892,49.09965085798759],[3.1361260876735515,49.10736575572267],[3.1039032023368676,49.10783847337312],[3.071884293834167,49.117554218816146],[3.0924779533731277,49.12879682562634],[3.0943242330142073,49.14204789992474],[3.1396578896700365,49.15257695363476],[3.1213530433372445,49.1615694736916],[3.116850461379955,49.18929161278119],[3.1027108891029056,49.19726093786907],[3.057604302772935,49.19731791616205],[3.0499603800932262,49.20875690532957],[3.0004940244510117,49.21363093492948],[3.00241402574711,49.187810905489094],[2.967751163640478,49.19164549413419],[2.970646337718828,49.21429263146397],[2.958587991995842,49.226138012652044],[3.0027869375627287,49.23569244874083],[3.023604722971875,49.21655041441553],[3.0397940574425517,49.22840404055804],[3.025849635470415,49.25992627182155],[3.0351669019132688,49.2871713469825],[2.981004000749905,49.29790832703466],[2.964603145483289,49.32192389525919],[3.001513216421808,49.34001503161223],[3.042914962956999,49.333571302660516],[3.0747246045970944,49.34897187029861],[3.076780341252717,49.371262738908456],[3.0925346575940007,49.37534154439133],[3.1005059556280803,49.439314058331185],[3.131884455784113,49.43177892295364],[3.1626441754771344,49.440639681268124],[3.1605832452848968,49.451589762665364],[3.1070854783285102,49.46823138703083],[3.1212810029381983,49.493670908120365],[3.096325086537241,49.51789625444081],[3.121165955043159,49.520974573583764],[3.1314803354793224,49.54337765179183],[3.126982208375892,49.573038994477],[3.139814891208892,49.57623313724928],[3.1220112456372937,49.60374206640511],[3.093575310755229,49.622548596683885],[3.1127661529868123,49.63132972837916],[3.09777622468101,49.65668309123162],[3.115636640843051,49.66498825414465],[3.1184031553047866,49.705968560150744],[3.0937519856623417,49.75705197896964],[3.0627453563551175,49.78264211542407],[3.0859749674446215,49.792016685972655],[3.078694114076548,49.82241521578422],[3.0558889248241528,49.83168131148238],[3.085506495983628,49.84381936000555],[3.0835290437648006,49.86638777885566],[3.1200543249509205,49.88428837261846],[3.117968662907868,49.91427637798353],[3.1515239055114135,49.94267027284344],[3.1768373814163575,49.98520439643777],[3.1613946355055402,49.996049271243585],[3.1729557922769542,50.011311964972776],[3.2026122838195157,50.01743710744522],[3.2306551064640994,50.03198300751153],[3.2801740988851327,50.015182550806884],[3.3371140096429532,50.017096007517154],[3.3529820989914247,50.03586832624208],[3.3989075840823038,50.03475745860893],[3.4282376399201713,50.022065913063614],[3.490663196296732,50.0188947701039],[3.507141600307539,50.03577661902003],[3.5286139046189744,50.03818286664185],[3.542755355797365,50.05391998941126],[3.5671883147756422,50.053261540953365],[3.6006637298781827,50.039925849470826],[3.6136399192005855,50.025418579177284],[3.6623093500340085,50.03911432468407],[3.6657493008457873,50.05473310262326],[3.715184685025503,50.06927463596353],[3.7463798889650586,50.05360423497288],[3.797523254135232,50.048396124718515],[3.815827444952555,50.03904215991495],[3.8356719382516733,50.048312733420666],[3.8820101104438387,50.03303286775057],[3.903385572183311,50.01801137888116],[3.9895472401156926,50.0413469883853],[3.9947330894398947,50.02553192166869],[3.9794498952640214,50.00299190781123],[4.01304088648856,49.98566024631078],[4.056699209471129,49.98542604488944],[4.08712850474961,49.9691875854119],[4.140895251736092,49.97875959899442],[4.172395207394802,49.977078597853904],[4.197110124342558,49.967721269218174],[4.195936343936246,49.955694802056996],[4.233164134987158,49.95775092391093],[4.21718238978302,49.914797372341994],[4.255701120243194,49.903213511956004],[4.248762948257405,49.85675363902506],[4.223593846602414,49.834105951164844],[4.214274015003939,49.806111475699495],[4.22667738196626,49.79303047019303],[4.207560089429096,49.78109084313398],[4.23820210581484,49.76742183396235],[4.246884569202133,49.75481606841705],[4.2279892494042794,49.74364073426544],[4.224711511604635,49.72720226620408],[4.19124300715433,49.71625657729972],[4.1846168956423835,49.698824907960066],[4.144181836797769,49.68854487089986],[4.127021546188527,49.677921251343555],[4.124516370102426,49.64959154766928],[4.09574589252208,49.62909455245626],[4.06432322371496,49.636967655409364],[4.041982613790211,49.629809951188015],[4.031390794494156,49.614289972299225],[4.076570889635557,49.57112749860688],[4.05829151546324,49.55254908076985],[4.076010833621256,49.53978341932618],[4.077307045795324,49.52519351384014],[4.040711745102368,49.508534657206816],[4.042374740120512,49.4686932052203],[4.057558677988911,49.45118663443426],[4.037664843009763,49.43826214170175],[4.047972977986833,49.40564229475753]]]},"properties":{"code":"02","nom":"Aisne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0320681893946824,46.794911188525944],[3.049065356287102,46.75807894189366],[3.0839363013486563,46.73762859045693],[3.129775813721409,46.72720423640006],[3.1631563644760856,46.69354021702288],[3.197261486410674,46.679926344970944],[3.2155498733945853,46.68289184476865],[3.2697920192933188,46.71674092868996],[3.3009216002863893,46.7163033886406],[3.3139717258866157,46.688751593416065],[3.3467088070518343,46.68441634541089],[3.366446289777872,46.69126127383442],[3.3877607382601562,46.71481835659156],[3.43414613166678,46.711906018109566],[3.432977086126445,46.69334363262723],[3.453772658174005,46.68414192059341],[3.4473359853067485,46.66355627140273],[3.45529917195652,46.65239553162601],[3.4885699471242644,46.6601824726314],[3.523959952566555,46.685994912475735],[3.546479370174174,46.67829016254972],[3.5601217846433015,46.68944384651715],[3.550392218815862,46.715864672081594],[3.5773110866449174,46.71485003618856],[3.598004570548422,46.72398257750036],[3.575688644059658,46.74951576942387],[3.629423683496518,46.74945902193754],[3.6379005417614154,46.707208771712054],[3.651395777587073,46.70281985671478],[3.6689793976266167,46.67350816429054],[3.6969523102437005,46.66058216583623],[3.712149662452129,46.6336280503392],[3.7138789586356697,46.613996147529015],[3.732377738592808,46.60491072152218],[3.743101843011838,46.56549988100001],[3.731542528360726,46.54958181729057],[3.741846977514427,46.539511127662195],[3.767456276915371,46.53900905290684],[3.8017563441985818,46.51989955458826],[3.8340059039329697,46.53113227681354],[3.839759641886244,46.51756472437794],[3.864628432284858,46.509716167248044],[3.861780077410741,46.492069790934515],[3.8904705648097098,46.48125092995184],[3.9189689867502246,46.49606391967711],[3.957937642803863,46.48975562185932],[3.9980416518372484,46.46546757106011],[3.988140931065446,46.43545798547263],[3.996095243061049,46.42738316091883],[3.9772154801510964,46.399224593839804],[3.991608290169238,46.36963488772235],[3.9866257932147806,46.3191937873956],[3.9501794500141676,46.32060215408413],[3.947724671420121,46.303449323036666],[3.913568325901341,46.29667714620525],[3.8995333931893303,46.27590543921817],[3.8778066858099134,46.275939918983156],[3.8690933059580366,46.263723494024156],[3.8048868330812957,46.25485708711847],[3.802699984915529,46.23850996581434],[3.768246928941596,46.237829248308365],[3.7902842093787883,46.210905673837914],[3.7907469501208273,46.18453497582482],[3.8078602164262896,46.16159515953333],[3.789761994058612,46.15485133205715],[3.8025614332413635,46.11032928945375],[3.8218816515656036,46.08798379604504],[3.806993754653765,46.061272645914705],[3.80676406021388,46.04562293029198],[3.8283904088914604,45.99948536067427],[3.8237895718712145,45.98735259327228],[3.778005233789911,45.97179985823387],[3.741274273248646,45.96600368355748],[3.7088966387640045,45.97378446779926],[3.693841059729285,45.94949142878095],[3.6940178008729885,45.930732356412385],[3.6767635131618666,45.95805976115134],[3.6413068945873417,45.96461484273165],[3.601439901652659,46.015082558028055],[3.5413270581913245,46.01519652019095],[3.5346371071845772,46.02237834647508],[3.4813683084812777,46.01371105761674],[3.4678828897234224,46.02374515995011],[3.4535928570638426,46.063794720194835],[3.433106873763625,46.06115526638401],[3.419029561174583,46.07429245580498],[3.3829420706213997,46.06480264969235],[3.36764567175092,46.05430839581729],[3.332766798825711,46.05497440619716],[3.2810346944765536,46.065929354622334],[3.233650605398404,46.06355148384772],[3.2145108831873523,46.07494451930903],[3.1831200731258975,46.074513260697124],[3.166531859715606,46.065677976513406],[3.1280978125696843,46.07140098569798],[3.099793609402441,46.09490520389922],[3.0906232146771364,46.11452555946364],[3.0480765097735856,46.10031481550088],[3.0164792061121424,46.102448954980474],[2.9937709582935033,46.123728525772805],[2.971756635840471,46.1217801298987],[2.942765231308341,46.168549525458715],[2.911139505619457,46.17743500340432],[2.920103043246808,46.19098495139527],[2.9133683342305123,46.21076365100903],[2.936482510275278,46.221710765741776],[2.9371457775851466,46.24291746827498],[2.89131100728084,46.253562623561876],[2.838238654032007,46.25133842004792],[2.8186225286604203,46.23256980947683],[2.8229846867516923,46.21982582951188],[2.810275114252155,46.196212623621854],[2.786781773175518,46.19864733659311],[2.732404782173034,46.22305265922885],[2.720917952533929,46.21130971383818],[2.7305652928970168,46.19609671226358],[2.715881178634498,46.17955498592873],[2.6774585186785225,46.1727617979065],[2.675536737103756,46.155809042125064],[2.6552891559950393,46.12604206490928],[2.6406912317167386,46.118477661719005],[2.5653790586982073,46.143032182829025],[2.55979833292496,46.1733665543973],[2.5280462333006355,46.186332427553644],[2.5158528050357227,46.23696126598014],[2.4917957849327936,46.24786046438832],[2.47709210519503,46.26936080025225],[2.4807602356876792,46.28101200577568],[2.443031552582666,46.294998578986906],[2.421342247531783,46.28462476459887],[2.4204617595913738,46.310131437621955],[2.3918607677139923,46.329982476677515],[2.3704814292505856,46.312630811170784],[2.3549021067976903,46.32568201768989],[2.3230243720211274,46.32927925675375],[2.302749949603141,46.35441622497473],[2.3233435644763096,46.36652595580878],[2.2847885229424363,46.38630891270082],[2.2810476101300576,46.42040537318101],[2.2857578150118907,46.45351915029325],[2.3054653620681904,46.47543251470377],[2.3520035556502914,46.512211347274814],[2.368300280591156,46.518434763382956],[2.4454932330861086,46.520050656829746],[2.482928804775826,46.532697444644036],[2.4991214173027565,46.52128856511456],[2.5286102816734966,46.52948202499876],[2.536652020779054,46.51969984591659],[2.6098613959683155,46.55013821923558],[2.6011237640888596,46.590178123200815],[2.577951915975513,46.60379087601659],[2.5966478252098466,46.637219569816494],[2.5721840644866165,46.65944372206644],[2.5977652900203827,46.66465075679083],[2.623913816878901,46.656626585968894],[2.647884573027338,46.688911012473135],[2.701686181879871,46.72775447664072],[2.7144961054529793,46.74448968334189],[2.737293702840373,46.74315745422507],[2.758717331696372,46.71770479874165],[2.791229376607484,46.73345369143159],[2.827616388160227,46.73528787880108],[2.9097996708207035,46.77934846021115],[2.9081337416117115,46.78790090388258],[2.9599146908207157,46.8038765767733],[3.0320681893946824,46.794911188525944]]]},"properties":{"code":"03","nom":"Allier"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.676037325543462,44.19143313185896],[5.692087450380134,44.186483371831564],[5.713913055297651,44.19926568716529],[5.755494196596879,44.210207765237854],[5.776514541341646,44.2055259364244],[5.795385785142977,44.21345893688929],[5.8285720679377535,44.20066569733914],[5.909305399486612,44.19046630820442],[5.9147400564445745,44.203427232845094],[5.881793583616446,44.210998662542806],[5.860019043661206,44.245092101540315],[5.826655362130932,44.26251076006967],[5.823911889045941,44.27890195531252],[5.848477759938248,44.30072259452234],[5.877120986906842,44.28879843672459],[5.880129754573656,44.271011382120214],[5.913194557888511,44.248711120610594],[5.912998227051449,44.26831617376552],[5.9255909605950015,44.30855111867347],[5.896099604509158,44.31861879667804],[5.937356413024749,44.35935610859397],[5.9536703829504924,44.395059266699214],[5.977799438785809,44.40736292380458],[6.020374443332653,44.42005811336259],[6.026308275440297,44.434642097388625],[6.072442979890107,44.45207608038503],[6.079694848017664,44.475530907704965],[6.1160166804432015,44.47546505487432],[6.155615049010709,44.46195982298558],[6.156254785052348,44.44210331855112],[6.173565741653668,44.43954286595121],[6.228221718294849,44.381700391997015],[6.241680881439521,44.38485438747808],[6.262494510552066,44.41224966674437],[6.236135472030146,44.46144449835514],[6.262825636989673,44.46549564526641],[6.293492428153158,44.48092732291776],[6.323106052174982,44.46382948496176],[6.33862266220802,44.47283907420384],[6.348272978050237,44.49809023202587],[6.332395681132657,44.50999616152816],[6.3573108201414845,44.52263889176314],[6.39880869108101,44.4941562144314],[6.411180249066938,44.47096856265119],[6.433358303001146,44.472514470120075],[6.462013547991893,44.46247217356771],[6.4693180033119155,44.45131246990398],[6.533276938209056,44.45197395122282],[6.547366766497952,44.44676331416215],[6.63229969332171,44.44691502790709],[6.643650285023153,44.487759305292435],[6.6684970592870565,44.500299753706706],[6.680922896471837,44.54102548605375],[6.701153206618136,44.538996840218914],[6.737180942222513,44.55253559808428],[6.766943196052187,44.586952404898014],[6.799941325461042,44.604244109554145],[6.853900769395612,44.61475859917988],[6.85814264425923,44.62805845533632],[6.880124364018876,44.62999271969987],[6.914488202179287,44.65949945810214],[6.948335091404861,44.65481629914676],[6.962336081450481,44.62657915489668],[6.948379982167533,44.61745199059853],[6.932733186254122,44.59270863771759],[6.9319953299582595,44.572724638567955],[6.913213082531437,44.558826349687266],[6.8760332305264455,44.550160873365996],[6.854013487274841,44.529129653944196],[6.865674424523799,44.4950039431701],[6.881970580210891,44.477261501575526],[6.906339114831614,44.46684649800382],[6.911101127447187,44.45236482780562],[6.937139400716047,44.43887286300481],[6.937079169120725,44.42969968048132],[6.892869620487909,44.42078067903776],[6.896507825430464,44.374299547914674],[6.88742990090296,44.36104783803612],[6.856147812069906,44.342952907783264],[6.839688603111202,44.34616952567193],[6.811873213958045,44.33221347515919],[6.796090992510113,44.3161057075123],[6.7863504827742736,44.28849643698575],[6.762927060646822,44.279037241415196],[6.759092155836728,44.26206489740905],[6.724182328511966,44.249467455280936],[6.718344217584288,44.21071074917548],[6.686536427072904,44.16925393086098],[6.705499890845224,44.144466155776314],[6.707586373017441,44.124473345545944],[6.736610415319581,44.10225823836325],[6.7552927685949316,44.078606159081765],[6.74580308295055,44.04269169406513],[6.795850869439254,44.00702405029123],[6.838726887709297,43.98970431437945],[6.849124623100394,43.95555833887359],[6.875468351966293,43.95281563358485],[6.884040903481558,43.93530101735706],[6.913088787529998,43.92796536503886],[6.941753698705185,43.89697361215048],[6.884610185550847,43.88912075689405],[6.876620003660876,43.89859537972932],[6.830709312232406,43.91836301148648],[6.804290312432095,43.910790628356104],[6.781621637708193,43.883549262987735],[6.748392415086803,43.87167747871268],[6.697323345466608,43.87365480225297],[6.698718605090542,43.85521098299028],[6.677914955878909,43.850959763474634],[6.667938865272228,43.83092697652154],[6.703701880641647,43.822825820470534],[6.70606421451232,43.80841245654836],[6.641524167665496,43.795472444882115],[6.636395800176684,43.788950567095455],[6.619973007874097,43.80550530861199],[6.585317018818273,43.80050767551297],[6.558904687579015,43.7841955441722],[6.52476198332243,43.80636597788804],[6.482076253327453,43.791074426311035],[6.4388083985564,43.797745193516654],[6.4144280526034985,43.79159445843418],[6.413483066219063,43.760360418472196],[6.3835404106739695,43.73442775895217],[6.356960735074889,43.73636766488724],[6.3267516313932,43.74662594026461],[6.262893011516566,43.781882078680276],[6.254215459954332,43.800433718328094],[6.212407106246491,43.79839605677458],[6.188517764066482,43.776267312514086],[6.182886008281907,43.76217559136371],[6.140796857826169,43.73769553098114],[6.1036091865345306,43.73722227951302],[6.077305911948532,43.70817081210753],[6.036131813943926,43.69416334085516],[6.039033980651841,43.67892716093395],[6.021735021476141,43.66827944245308],[6.005007067617743,43.68778786403108],[5.987939406703312,43.69505659267458],[5.98543773624429,43.71396312876724],[5.9564454360651595,43.719401124766904],[5.937998300025333,43.73057120981495],[5.937716232260396,43.75023611335413],[5.903517180339531,43.751432620885154],[5.901533390582641,43.73289106389851],[5.849146371217722,43.72025525749223],[5.8278752703448715,43.748065843473604],[5.781343238677484,43.75565738832376],[5.757332977582704,43.72940911375532],[5.7491639540055255,43.7405464918297],[5.7184242970991175,43.75512132052309],[5.713394551246806,43.77950341891952],[5.684551176087874,43.78850163078797],[5.674483353980397,43.807360446333846],[5.654445137414141,43.82511098585937],[5.627700103254839,43.830927143331614],[5.574599751241474,43.83029407148107],[5.54452228126406,43.81819693654997],[5.549174903324726,43.8514199844283],[5.573186434978607,43.86492031403171],[5.6064371876892,43.91613043943877],[5.579927197959687,43.925980406162694],[5.558844627129812,43.942576073587574],[5.544991957929805,43.93905484015686],[5.51208954255573,43.94600228564646],[5.508647939314863,43.959839793825395],[5.518062394104204,43.99011201336662],[5.543633878090188,44.02596177811475],[5.544598165016952,44.06989191567907],[5.5026367853279545,44.06343920865494],[5.498787806458752,44.11571934778835],[5.540435810430644,44.13221365213216],[5.551327343869811,44.14979115926589],[5.582976621063447,44.15762325973775],[5.564374392120529,44.17090170649433],[5.576187167563138,44.18804165094906],[5.609572963808623,44.18817112634557],[5.63959354437225,44.16758605191366],[5.6316731817286305,44.15136802990124],[5.67860502821166,44.14608869344783],[5.68271535182101,44.16321640945639],[5.646965152793732,44.166291647187435],[5.651592585237082,44.18957707724826],[5.676037325543462,44.19143313185896]]]},"properties":{"code":"04","nom":"Alpes-de-Haute-Provence"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.260566197557925,45.12684791386632],[6.299216785815758,45.10855211143577],[6.3312977067397425,45.11812379084807],[6.362935515883446,45.10449356656247],[6.373529600716985,45.08414824428705],[6.364877554955543,45.07017079687575],[6.393914586674507,45.06181851097421],[6.438596097282185,45.06258355349038],[6.451799595532319,45.05172052616644],[6.486234598441578,45.05607309559144],[6.480384256020366,45.09079271505677],[6.510979894458294,45.10875068557236],[6.529708447474563,45.09856919735164],[6.55601396596344,45.104195104315984],[6.57653069592537,45.12309720037721],[6.615550094957373,45.12147775227429],[6.6299873381374725,45.1093269281999],[6.627487761756953,45.10121505030452],[6.662113977091666,45.07163521564911],[6.658833037991113,45.0522106577603],[6.672439472064712,45.02142288028361],[6.7256836969428715,45.02150040053337],[6.743421512935462,45.015920279449546],[6.751188313816809,44.99755867124376],[6.7376342538806036,44.99148903315492],[6.763468605707418,44.971219657081626],[6.753079854453953,44.94296106206407],[6.750709573838057,44.90565221939063],[6.771184461028274,44.90344432994035],[6.805918328309796,44.87664147794964],[6.863241048677118,44.850610814016996],[6.913770297405167,44.84542283675211],[6.933687243037528,44.862026072008646],[6.972609983994274,44.84623344849374],[7.0067737788907705,44.839315967633134],[7.018283625506064,44.81230540654565],[6.9995712397492555,44.78944471324736],[7.024748601836657,44.76238093071902],[7.024189433792721,44.74131576508321],[7.043683920015221,44.71814050323442],[7.06578600052752,44.71360743394211],[7.077108800206922,44.68091750917342],[7.059729404484276,44.67996132818681],[7.023734517020338,44.6913011223226],[6.98622673933706,44.68808002657876],[6.957471911814601,44.66982246847716],[6.948335091404861,44.65481629914676],[6.914488202179287,44.65949945810214],[6.880124364018876,44.62999271969987],[6.85814264425923,44.62805845533632],[6.853900769395612,44.61475859917988],[6.799941325461042,44.604244109554145],[6.766943196052187,44.586952404898014],[6.737180942222513,44.55253559808428],[6.701153206618136,44.538996840218914],[6.680922896471837,44.54102548605375],[6.6684970592870565,44.500299753706706],[6.643650285023153,44.487759305292435],[6.63229969332171,44.44691502790709],[6.547366766497952,44.44676331416215],[6.533276938209056,44.45197395122282],[6.4693180033119155,44.45131246990398],[6.462013547991893,44.46247217356771],[6.433358303001146,44.472514470120075],[6.411180249066938,44.47096856265119],[6.39880869108101,44.4941562144314],[6.3573108201414845,44.52263889176314],[6.332395681132657,44.50999616152816],[6.348272978050237,44.49809023202587],[6.33862266220802,44.47283907420384],[6.323106052174982,44.46382948496176],[6.293492428153158,44.48092732291776],[6.262825636989673,44.46549564526641],[6.236135472030146,44.46144449835514],[6.262494510552066,44.41224966674437],[6.241680881439521,44.38485438747808],[6.228221718294849,44.381700391997015],[6.173565741653668,44.43954286595121],[6.156254785052348,44.44210331855112],[6.155615049010709,44.46195982298558],[6.1160166804432015,44.47546505487432],[6.079694848017664,44.475530907704965],[6.072442979890107,44.45207608038503],[6.026308275440297,44.434642097388625],[6.020374443332653,44.42005811336259],[5.977799438785809,44.40736292380458],[5.9536703829504924,44.395059266699214],[5.937356413024749,44.35935610859397],[5.896099604509158,44.31861879667804],[5.9255909605950015,44.30855111867347],[5.912998227051449,44.26831617376552],[5.913194557888511,44.248711120610594],[5.880129754573656,44.271011382120214],[5.877120986906842,44.28879843672459],[5.848477759938248,44.30072259452234],[5.823911889045941,44.27890195531252],[5.826655362130932,44.26251076006967],[5.860019043661206,44.245092101540315],[5.881793583616446,44.210998662542806],[5.9147400564445745,44.203427232845094],[5.909305399486612,44.19046630820442],[5.8285720679377535,44.20066569733914],[5.795385785142977,44.21345893688929],[5.776514541341646,44.2055259364244],[5.755494196596879,44.210207765237854],[5.713913055297651,44.19926568716529],[5.692087450380134,44.186483371831564],[5.676037325543462,44.19143313185896],[5.681311859737585,44.23289466958045],[5.672996044869041,44.23984311301397],[5.676206589256276,44.27551099308782],[5.647509019416229,44.27247769824454],[5.631970064900461,44.284721309902835],[5.637756422122977,44.29968616697366],[5.608077262744189,44.30850908328983],[5.617135908418277,44.332475894185805],[5.5373670436986435,44.333525718131106],[5.521782790630088,44.34931163553876],[5.4930715607447445,44.33717752081172],[5.46941457400079,44.35149029453098],[5.46065693964672,44.36832054562284],[5.434953500862137,44.36911743294876],[5.443026623183156,44.391237330733084],[5.418530667075709,44.424947370319],[5.447194165800079,44.431852481873705],[5.4764897049095795,44.41972379409436],[5.498303440849121,44.43732497621575],[5.464433745418449,44.44788666870274],[5.458727518186473,44.46614393059478],[5.4798758917737445,44.49123966897652],[5.516510011697751,44.49138247772147],[5.562404689872195,44.47485185176209],[5.603651238319425,44.465544996850255],[5.6163088106464185,44.47271206540212],[5.629785093116038,44.5011871029685],[5.664504139914002,44.501894032401594],[5.627373773874302,44.53458025973445],[5.5972487980667855,44.543273727979226],[5.617737322579476,44.583133580603594],[5.643926214041127,44.60972161106435],[5.641715054881292,44.65107468886509],[5.726039426074854,44.63939834273572],[5.753939211901072,44.662713661324155],[5.790619766631355,44.65329030204328],[5.799407769469486,44.67394966436931],[5.825802514085463,44.68569233800322],[5.82711625324567,44.70028877822114],[5.801469996094522,44.706778512869995],[5.82777670542201,44.7400904212036],[5.846789359515513,44.75162114202083],[5.888833543818295,44.74880281266777],[5.900145988864039,44.75831810886521],[5.92220546362268,44.75408063667132],[5.9801466158902254,44.78117807160656],[5.977781702799108,44.79098097178422],[5.94951924784745,44.80453012289717],[5.979181680039922,44.81858485233257],[6.004863991929379,44.82044164675532],[6.030210546238997,44.838096097754196],[6.056880845755912,44.81648809334095],[6.111944264637026,44.844104598030206],[6.128361780211359,44.86189793671716],[6.1707886083957675,44.85422409321522],[6.196382213093447,44.85897725265292],[6.25054409332542,44.85265497741959],[6.269405725021001,44.87047437006196],[6.300679811301804,44.87347754001874],[6.336319027358193,44.84836943493937],[6.354685212537601,44.85597093285778],[6.350781709377172,44.88120395797154],[6.358440638759468,44.89205674340702],[6.354621853701313,44.92359576979837],[6.3588400606704845,44.941284471463],[6.3289997583261135,44.94731911410858],[6.3285028218875325,44.969718924476524],[6.3148150406516885,44.98018487183722],[6.321848392012048,45.000080059582814],[6.300180534522452,45.00397824625707],[6.251755823777455,44.99669933009644],[6.203927022398643,45.012469165084845],[6.2200801563699395,45.06536793621533],[6.243017832342709,45.06906387836911],[6.229388123209472,45.108750055807405],[6.260566197557925,45.12684791386632]]]},"properties":{"code":"05","nom":"Hautes-Alpes"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.88742990090296,44.36104783803612],[6.922569034715827,44.35073334653868],[6.92647211225925,44.334749781019966],[6.960525832743343,44.31085198397747],[6.955859859005885,44.2970594542236],[6.9934468208164935,44.280891427852495],[6.99712995413101,44.251997804252646],[7.008054894297459,44.236431060527],[7.038841660238861,44.22372981024312],[7.070224944864906,44.23297997575481],[7.112226619139014,44.21733524158766],[7.141050183667786,44.2010003780328],[7.1597495198014025,44.20620545858123],[7.2033866897276635,44.184792768493224],[7.218868901675846,44.1689469810721],[7.237041234869469,44.174339231954],[7.24856917472652,44.158515503110245],[7.280317813440188,44.141181126207165],[7.340417586180365,44.145649028908274],[7.358475305086881,44.11815061891558],[7.388931942608855,44.12479464638471],[7.4268012934594045,44.117564036132904],[7.429927081340899,44.127804524896916],[7.459974202378207,44.125692456404565],[7.505741191835109,44.143652395337554],[7.5567970945239376,44.14692262748108],[7.577148887227901,44.15289005329537],[7.614555274657836,44.14967082474187],[7.645064338759674,44.17790074590103],[7.68458536705161,44.17401845696774],[7.670852285754872,44.15374050304116],[7.667154197554274,44.13343096570642],[7.67452067122969,44.117978351966265],[7.715741685167259,44.082768394074186],[7.714078792245614,44.06542948835954],[7.700025563701426,44.04078903341254],[7.664986572845552,44.03066821354587],[7.670204633842334,43.998475578585406],[7.652699330334664,43.97484454446134],[7.610194650987026,43.95513695471592],[7.596854299346449,43.95652880599456],[7.572900090571807,43.9377923733289],[7.559929417388958,43.914446448952816],[7.559218845189717,43.897294632318086],[7.511282181839372,43.88226017750882],[7.495202515535623,43.862291505445505],[7.518300877134688,43.80329700642123],[7.530159376168468,43.78804906400435],[7.490212035782315,43.767197668733566],[7.475918505385493,43.750796761738144],[7.4597300454166495,43.76004177050826],[7.412274588246639,43.7343884782676],[7.413235194461564,43.72476923386886],[7.375064708715003,43.71753336634211],[7.360727399718111,43.72228177889476],[7.337596357798404,43.711716462798286],[7.326468236003214,43.69615480753041],[7.297211876953826,43.68614078433695],[7.285170356707785,43.694320925627316],[7.24382000023942,43.68938268481802],[7.225884891654834,43.66225535365977],[7.206455679516468,43.64563646874049],[7.194537177820155,43.657919305629925],[7.157853271963104,43.65385083741795],[7.139271239473155,43.6360982414893],[7.1230039862754415,43.58829721341579],[7.121751847241626,43.55949556145099],[7.101266887315347,43.57067799664823],[7.0675662048264405,43.561639844055605],[7.055944916816456,43.54796646787975],[7.014827677611477,43.550856545562084],[6.974303482945652,43.546078781561825],[6.952169379017137,43.53471699106892],[6.938368675282269,43.51639156043654],[6.954746280767227,43.50472407547113],[6.947072439425319,43.48436595161653],[6.933726236453417,43.480068010885034],[6.884230099335205,43.502535727819215],[6.89638230847014,43.5271599958737],[6.879542001080731,43.53535761950226],[6.907175687871982,43.572966433750736],[6.908012993627823,43.599079187946934],[6.8879265318112735,43.60741263064278],[6.838776771755721,43.613611496756825],[6.812859360304176,43.6305052559662],[6.798740654261999,43.62818033606127],[6.782299387537954,43.65415726922716],[6.7608013983957,43.66648795918856],[6.774352202435761,43.69341283496426],[6.766592784345339,43.720212010988675],[6.753535969205428,43.73816698047835],[6.719415853332108,43.7381403462073],[6.70139956454595,43.754068906503676],[6.682708528326925,43.757936848433445],[6.657423432162916,43.74871807004049],[6.636395800176684,43.788950567095455],[6.641524167665496,43.795472444882115],[6.70606421451232,43.80841245654836],[6.703701880641647,43.822825820470534],[6.667938865272228,43.83092697652154],[6.677914955878909,43.850959763474634],[6.698718605090542,43.85521098299028],[6.697323345466608,43.87365480225297],[6.748392415086803,43.87167747871268],[6.781621637708193,43.883549262987735],[6.804290312432095,43.910790628356104],[6.830709312232406,43.91836301148648],[6.876620003660876,43.89859537972932],[6.884610185550847,43.88912075689405],[6.941753698705185,43.89697361215048],[6.913088787529998,43.92796536503886],[6.884040903481558,43.93530101735706],[6.875468351966293,43.95281563358485],[6.849124623100394,43.95555833887359],[6.838726887709297,43.98970431437945],[6.795850869439254,44.00702405029123],[6.74580308295055,44.04269169406513],[6.7552927685949316,44.078606159081765],[6.736610415319581,44.10225823836325],[6.707586373017441,44.124473345545944],[6.705499890845224,44.144466155776314],[6.686536427072904,44.16925393086098],[6.718344217584288,44.21071074917548],[6.724182328511966,44.249467455280936],[6.759092155836728,44.26206489740905],[6.762927060646822,44.279037241415196],[6.7863504827742736,44.28849643698575],[6.796090992510113,44.3161057075123],[6.811873213958045,44.33221347515919],[6.839688603111202,44.34616952567193],[6.856147812069906,44.342952907783264],[6.88742990090296,44.36104783803612]]]},"properties":{"code":"06","nom":"Alpes-Maritimes"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.483134616383878,45.23644648192782],[4.540549370042042,45.23475108941549],[4.565520406201406,45.247958129182955],[4.602422910281466,45.25170405771358],[4.590638055650433,45.27303681774206],[4.598597055879653,45.28948570433069],[4.621039470679837,45.29121612407326],[4.614497435388506,45.30983662841341],[4.680129607940992,45.34625617395863],[4.7004091166444315,45.345742863727835],[4.725825842131706,45.36180904894751],[4.755996992712002,45.36567226076598],[4.772556757363274,45.35486449672088],[4.761388480871705,45.34063001021366],[4.769929030711337,45.316015123688956],[4.800493926884063,45.298360661142944],[4.80945700146176,45.28984878023442],[4.809597016988471,45.26036757990201],[4.802585860487608,45.22693117215798],[4.812569706062625,45.204307182925724],[4.804809814114698,45.194030298693185],[4.813699779096304,45.16341716248438],[4.829100372157167,45.15669010756043],[4.804461066670614,45.133197210828584],[4.804492252463412,45.12194771680664],[4.827354281438577,45.10214857279052],[4.831651038103518,45.07026753675957],[4.860746068970967,45.055429204446796],[4.840341325313034,45.03578322392562],[4.837672652853049,45.00479181394786],[4.851264766161909,44.99467770210391],[4.860170175358192,44.96586245571145],[4.875684162327823,44.95520873214619],[4.8855710639544006,44.93465153198947],[4.8579011507481304,44.903155110736876],[4.85945820884153,44.87175235284045],[4.841340887618573,44.842596306238924],[4.821656483202532,44.83867049616437],[4.795665859771827,44.793769117314746],[4.760941584679994,44.771713549802],[4.762850574483207,44.72009203958483],[4.7811100231594805,44.682833634690404],[4.77408913696615,44.644269843250804],[4.74040453633284,44.60239249321297],[4.741168931840421,44.58877434873562],[4.710266499941698,44.58154911470836],[4.692361920905272,44.55589194997334],[4.707018905489797,44.53084113511007],[4.692050189601407,44.5152420465306],[4.689973321952771,44.49125058500801],[4.6989568502390995,44.481694190593686],[4.69865229412497,44.45230946012676],[4.667379937465383,44.43066429434984],[4.664373400022996,44.398944273043945],[4.648946169255066,44.372462486293166],[4.6506150134375535,44.329805791511276],[4.653469115901898,44.302095538489496],[4.649223666100485,44.270359865010946],[4.638060170291897,44.28296923867679],[4.61814481108176,44.278546617366906],[4.606815593785338,44.290470941442756],[4.5569412251008385,44.30414412850996],[4.54446827908279,44.320768740097236],[4.503310494319003,44.339246206238236],[4.45762136443186,44.34163465741125],[4.4511432681787,44.33458990256618],[4.448416311728308,44.29660651655647],[4.432780130031507,44.28698938355873],[4.398976853249833,44.288946280259694],[4.390787503015712,44.30304942711613],[4.403209845144098,44.33389735712032],[4.386524834610318,44.346613952796865],[4.366781304696769,44.339496632938484],[4.336073225463424,44.339522743700286],[4.321723881147898,44.32398630005241],[4.288429093459214,44.314658540974904],[4.2894083121626245,44.293211983267184],[4.277460812236595,44.27473441763758],[4.25884619798255,44.26478557642796],[4.241323541622981,44.270098246787754],[4.215253431785848,44.290671875558495],[4.186703448446319,44.299689052797774],[4.177742579074996,44.317880186655266],[4.142867700090412,44.31335085540006],[4.126751899132338,44.33773352004587],[4.0716271173670755,44.327301470845015],[4.051451662788466,44.31732365711701],[4.0368642122249785,44.330767432006844],[4.053413964443739,44.339252388242215],[4.052980345425569,44.3786960081517],[4.068441217053273,44.40511357294197],[4.047796695540712,44.41806858494041],[4.037601702020996,44.44572224016011],[3.998162987763964,44.45979755586323],[3.987654659812161,44.47277510314574],[3.9817259440883355,44.51510533136414],[3.948773902996799,44.57288654843654],[3.923566877594894,44.57188476465967],[3.908306472806382,44.606619160372716],[3.893726383489279,44.61783889720629],[3.894746224001558,44.651133585716494],[3.8699370374536626,44.67891759737075],[3.862527190139651,44.743863434670935],[3.8895265818183935,44.75196027421232],[3.919817199492905,44.77460034297932],[3.937001123548729,44.7954172172997],[3.944536875109786,44.82322023968674],[3.988454902516046,44.813419515634884],[4.028374858328879,44.834081003006155],[4.020171384284056,44.84572694383834],[4.0338762761727365,44.8710458107922],[4.068313356371929,44.86746929959503],[4.103743185520496,44.87725256159482],[4.156154791813548,44.87333360834132],[4.179951268724776,44.88730128359599],[4.1899324439493,44.91419030432338],[4.216572079556928,44.933567915009554],[4.221702631142119,44.96133612938675],[4.251555903015938,44.958924064540234],[4.311668803625915,44.97177463884522],[4.289827924670836,44.99730682920296],[4.297239439669978,45.01702262504178],[4.314677006361451,45.03079389328605],[4.338428544649489,45.02671076147119],[4.379067913162388,45.03617454254133],[4.378014671826731,45.05427007966308],[4.359614567276412,45.05568487734863],[4.346190894999054,45.06964388927494],[4.372571367591827,45.10480297518196],[4.400229848141373,45.11600398371944],[4.37022058732025,45.13029910308921],[4.376558944791765,45.1443595905019],[4.446118275212825,45.13169134188572],[4.447480119407685,45.16118502386361],[4.472540720426905,45.179408906886586],[4.477266258728365,45.20978594447126],[4.489604429758615,45.224787898710176],[4.483134616383878,45.23644648192782]]]},"properties":{"code":"07","nom":"Ard\u00e8che"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.233164134987158,49.95775092391093],[4.308104819422298,49.96952311706087],[4.3497091536314265,49.95218185745914],[4.378945338182918,49.95306872889387],[4.446940783287939,49.93750459397252],[4.481610454645573,49.94785279402108],[4.510410432978069,49.94668308724302],[4.540542634439033,49.96796846829222],[4.573698227853897,49.98030418970413],[4.674659776287784,49.99662785172198],[4.699272082803148,50.0537945750903],[4.682746158906797,50.068791197105114],[4.702078764143763,50.095528001382924],[4.751345563705796,50.11174102047036],[4.762161208292365,50.13639695682964],[4.824292330401957,50.160731428897094],[4.8319896237206255,50.153951790022184],[4.879565525415205,50.15202955288437],[4.894894253598731,50.13460065104415],[4.87076833368792,50.124262635964875],[4.8685301585153855,50.09762527596348],[4.8512375276421595,50.1013639038007],[4.829260707691278,50.04803422242763],[4.840392803845824,50.037589901362395],[4.816997367063873,50.01564028095157],[4.818941576641115,49.99514497954768],[4.790113818832296,49.97001760397983],[4.7909170614563354,49.95839750551827],[4.8501895621955295,49.94647303906409],[4.85813253464247,49.93290175060757],[4.889248547086521,49.90972760726109],[4.851762233586226,49.861022896690535],[4.8675793624704715,49.84007770188321],[4.867091434851301,49.81419502771181],[4.855382632112906,49.79236512744182],[4.930929513878152,49.78685155554447],[4.9561320976529775,49.801224669739426],[4.9988368069437765,49.799310046914584],[5.008928105209694,49.7819335599042],[5.063182643598133,49.76192871159604],[5.090172312313782,49.76506393233352],[5.115073254538092,49.741436250370164],[5.125659977368626,49.714502727337425],[5.165853990849716,49.70714272719065],[5.166208402693295,49.69291623120586],[5.208819376633823,49.694568280877455],[5.24360037396294,49.68569800167118],[5.267272773424226,49.696522600045526],[5.332001785017169,49.65478357737764],[5.308525437369952,49.63590355578242],[5.31173915183996,49.61354728351897],[5.342988167557187,49.62673952946669],[5.393536658328508,49.61708773850276],[5.379377254594306,49.59433240963621],[5.339875065404366,49.59248374512851],[5.311770447172107,49.55928969326421],[5.262709976999561,49.54181962580043],[5.232756898423872,49.56948078917659],[5.2130512805303555,49.573482704275165],[5.162975033383016,49.56353425622026],[5.144850262012005,49.589890809096836],[5.118278729173794,49.59307211738766],[5.0894348019213345,49.54153840662955],[5.100584675318172,49.53581688248469],[5.079628538782785,49.50986338174908],[5.062396105126222,49.49915347170529],[5.083514142411665,49.48411961123408],[5.105323165099615,49.42524686929281],[5.088196804414101,49.40639195324937],[5.10414955392406,49.38977780781045],[5.089930289451002,49.370323496215384],[5.060208646165214,49.3715170366231],[5.053405249590282,49.35696721044802],[5.026436999727152,49.33591387470532],[5.029829036850663,49.31126357145343],[5.0490438324721545,49.285310734141504],[4.964355608998914,49.24744898908259],[4.950989232683009,49.23686584630137],[4.909606220926124,49.26349853270867],[4.86275799597872,49.24154352922503],[4.826941205469512,49.23576093816036],[4.815420265730455,49.249854960398],[4.788889603899746,49.24134019593029],[4.7442321118937505,49.2414729109037],[4.726823349053574,49.25232502044604],[4.686074799511886,49.256759043801544],[4.670374586913542,49.24151155534761],[4.635511161128344,49.232134393917896],[4.6058938566008445,49.26970402626851],[4.594974261377573,49.2707300343065],[4.575868215345435,49.296651189312385],[4.541215512322572,49.28622829426292],[4.459506424178967,49.27757864272764],[4.418775444942886,49.2851133003246],[4.393424577830647,49.29708771300736],[4.376853871003221,49.31699430474222],[4.3541542998888705,49.31616310169742],[4.330894078223754,49.32715621477832],[4.306756525620349,49.32779732810991],[4.290937077765363,49.34699963965571],[4.258398145436199,49.36351577479519],[4.248321950611529,49.38225603439192],[4.2013073779715375,49.38378396286446],[4.188996868487692,49.398693325461345],[4.0769132710042255,49.401612719003566],[4.047972977986833,49.40564229475753],[4.037664843009763,49.43826214170175],[4.057558677988911,49.45118663443426],[4.042374740120512,49.4686932052203],[4.040711745102368,49.508534657206816],[4.077307045795324,49.52519351384014],[4.076010833621256,49.53978341932618],[4.05829151546324,49.55254908076985],[4.076570889635557,49.57112749860688],[4.031390794494156,49.614289972299225],[4.041982613790211,49.629809951188015],[4.06432322371496,49.636967655409364],[4.09574589252208,49.62909455245626],[4.124516370102426,49.64959154766928],[4.127021546188527,49.677921251343555],[4.144181836797769,49.68854487089986],[4.1846168956423835,49.698824907960066],[4.19124300715433,49.71625657729972],[4.224711511604635,49.72720226620408],[4.2279892494042794,49.74364073426544],[4.246884569202133,49.75481606841705],[4.23820210581484,49.76742183396235],[4.207560089429096,49.78109084313398],[4.22667738196626,49.79303047019303],[4.214274015003939,49.806111475699495],[4.223593846602414,49.834105951164844],[4.248762948257405,49.85675363902506],[4.255701120243194,49.903213511956004],[4.21718238978302,49.914797372341994],[4.233164134987158,49.95775092391093]]]},"properties":{"code":"08","nom":"Ardennes"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.6884197209147511,43.27355372810048],[1.700754514704471,43.26054064540708],[1.699776940607475,43.243831295721215],[1.7238440687530252,43.22452425076901],[1.7099486500213625,43.20058204747453],[1.7134791529379416,43.185618701843005],[1.7435880718428745,43.182725951168436],[1.7806433096574144,43.159824933344154],[1.824772198868932,43.145813889155335],[1.8804078673476365,43.14153936255586],[1.8954279777499146,43.116633336360046],[1.9177470958909644,43.13323111235511],[1.9494047039555333,43.12070809144376],[1.9557758360446906,43.085446537199715],[1.941132873290632,43.05271547262669],[1.9730769071879921,43.04616201620429],[1.9850016206688033,43.032612459176974],[1.9853302810624713,42.96695793978397],[1.9364462363662087,42.95396589299509],[1.9338502257854864,42.93932515940288],[1.9805743107561908,42.92957969198593],[1.9919290520003003,42.905098487236415],[1.981007734505436,42.87842008504447],[1.9869209142233524,42.87101168756058],[1.9456558633746337,42.85619826237116],[1.8758890323432875,42.85273825107509],[1.869202579081601,42.81508603325651],[1.8970774273087732,42.80800219821675],[1.917663354345371,42.78274473527807],[1.913239238416856,42.75882498736125],[1.9516265106681303,42.73669095024391],[2.007929382662407,42.73412497082237],[2.057204243184995,42.75622286125991],[2.0839024245548936,42.7516077244054],[2.0874431064800922,42.73901317594321],[2.160632413925722,42.70112722891685],[2.1758741195218594,42.68279522431058],[2.166053682054993,42.66391836976526],[2.127356949655341,42.672313305937074],[2.1114664198303457,42.666032470916626],[2.0470193906647904,42.66358965489304],[2.0187920574337195,42.6534170353211],[1.9969224698605978,42.66006561399484],[1.9722426969695992,42.61714092425327],[1.9521234354600119,42.61830326460022],[1.9361188221910517,42.60541384031619],[1.907286118231748,42.60862947926328],[1.8744850028357225,42.58140598425563],[1.8347684364358996,42.58353364671248],[1.8010033491172206,42.57239786027001],[1.7861250110638969,42.57362343207788],[1.773155041578549,42.58067708426063],[1.7259206571767567,42.59036520824838],[1.737964425021432,42.61131401180095],[1.6835991033030946,42.624864963586695],[1.6620254880346446,42.61948091899569],[1.637155477178948,42.63029849282105],[1.6063547204789832,42.62745569822105],[1.58567689224097,42.633568385987964],[1.5623889852861503,42.653480869601616],[1.5492483438086209,42.655776285849846],[1.5014121994747076,42.64516242342437],[1.4801044915371044,42.6513900879463],[1.4694745196425487,42.62847928225725],[1.4772675936643833,42.614967659090894],[1.4557081666267313,42.60205166220692],[1.4401504415315978,42.60350721030018],[1.4201858337826103,42.62607181448239],[1.4139966708290406,42.65484551119558],[1.38773471434658,42.67099021370737],[1.389599626449476,42.68508287715744],[1.354404547925789,42.699493649410854],[1.3579397808759273,42.71551055541734],[1.32502612790918,42.72390397060219],[1.2778256065536044,42.71387414262699],[1.2525274855971043,42.71564959267591],[1.2283255116895055,42.727437974142234],[1.2171573639899749,42.7204805063676],[1.1618481533807585,42.711046329845956],[1.1333079622063968,42.729016535435846],[1.1280806814053455,42.75537633903151],[1.1069774050999934,42.772292244775535],[1.0706247661216861,42.78247308343543],[0.9831091862639382,42.787068192050434],[0.9598896789755389,42.805643801609044],[0.9235668371314283,42.7903836690362],[0.8583056667230173,42.82571908908446],[0.8598831874145956,42.83829919038498],[0.8429206845448278,42.88857838383233],[0.8261273850230597,42.91428331470268],[0.8446280617921965,42.9259553847581],[0.8735856733231423,42.92679338211308],[0.8853071428027446,42.93602990091024],[0.8749113719387422,42.957775746315285],[0.9124553143730214,42.95939313750352],[0.9791013887263271,42.97443096191435],[1.0013417692542665,43.002384225909054],[1.0162603018777892,43.01021732861986],[0.9867409563385678,43.02750002800353],[0.9856931292491957,43.06291853162641],[1.0052536354583397,43.08066466566629],[0.9909145410998831,43.09277803898931],[1.0185271263876248,43.107387874976396],[1.0388356827344098,43.100552820032235],[1.0597948169991893,43.1407984031395],[1.0898382360674839,43.141811753194446],[1.1321077536262771,43.15194534202816],[1.1623107695613917,43.13229310791629],[1.1749842663258816,43.14097449686551],[1.2087344680123453,43.11795105080988],[1.2236282372389116,43.086062046332636],[1.2615510081488481,43.09151179346513],[1.2600621395015414,43.10918367913112],[1.2808453772316608,43.11141550841685],[1.2914479372138445,43.12411619713413],[1.2743729840086873,43.144383453050935],[1.2189486150323017,43.15316275519517],[1.2139801500053244,43.16243740075925],[1.243672974766193,43.18955616855956],[1.274066147426889,43.19622758930005],[1.3200644605867593,43.19008881581775],[1.3441516514601857,43.210695251898116],[1.3743734334754012,43.21374576570538],[1.3827658374979088,43.228123061206055],[1.3667896677356772,43.2418101294384],[1.332370877192311,43.248931806901766],[1.3306718864082818,43.26256355573771],[1.3083430062252406,43.26452855969102],[1.2925309175036508,43.28836637975412],[1.3180291746094754,43.29589235276595],[1.3239682844769867,43.30940019027638],[1.3497399802929155,43.31601406526464],[1.4114797701413646,43.270269012569514],[1.4253606535844838,43.256571535866705],[1.417617895565898,43.227838739549625],[1.4479297220390106,43.2128941335395],[1.4703750181603599,43.21207194480044],[1.4845439726661527,43.226162777288515],[1.5046005088805332,43.22131429070002],[1.504462615387652,43.24943643931495],[1.489433194310029,43.25842220794179],[1.4962195339449893,43.29276893893769],[1.517589782341532,43.28942028243403],[1.5187255867607068,43.26917438445627],[1.5475200495883703,43.27567426925568],[1.602045022703857,43.265966045322976],[1.637330392962705,43.255476822404304],[1.674798339388505,43.28121472293003],[1.6884197209147511,43.27355372810048]]]},"properties":{"code":"09","nom":"Ari\u00e8ge"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.4147915595010967,48.390273038820325],[3.422082006455869,48.413341906536964],[3.3919598867876517,48.424322153455364],[3.4064783284931712,48.4524502326185],[3.388359827890943,48.480408300039215],[3.4348599344666386,48.49751072268098],[3.4053980660358945,48.528012199625785],[3.4234423807070566,48.533562692399734],[3.4591902801865113,48.53074024476159],[3.479607557239746,48.54471109171053],[3.4655161591022283,48.57048567886506],[3.4975003134409723,48.58995747369995],[3.5038535314822115,48.6048091344709],[3.5556137492385345,48.62028467657408],[3.579891832495665,48.60485886515818],[3.6042445587901217,48.572452767827976],[3.631866148641539,48.570977927086886],[3.6340147312950517,48.54129833541425],[3.643639260745969,48.536262879171076],[3.688010554935591,48.53996363936458],[3.7041935334272225,48.53348173230274],[3.7428823405595684,48.5336960863688],[3.7947250716869743,48.52769326968686],[3.822742058660399,48.516104417807576],[3.851404847916241,48.523378465573664],[3.8655808154248064,48.537930954397474],[3.8586730804738507,48.56033634110919],[3.872574553060613,48.58047608998417],[3.9000544029762967,48.574837870717545],[3.916112422498775,48.60703746596832],[3.9492402192699783,48.60343151995247],[3.9585488780832865,48.622904721543364],[3.977230864165596,48.632216352927855],[3.98646950961592,48.65506991614687],[4.001695483416846,48.66387541820995],[4.030051914462845,48.65914499071498],[4.058195208802969,48.66627477909254],[4.079787822987737,48.701118254412116],[4.131090952946843,48.68615119823393],[4.161208977574132,48.70564270827603],[4.233040648104506,48.702313167606725],[4.2523956317261185,48.708651278525025],[4.302615983872354,48.71237740647513],[4.3255940122986445,48.700277029531],[4.332773350334676,48.67058273703408],[4.317329119564903,48.65166491720243],[4.331760406442508,48.63027354824816],[4.314917546995119,48.61621957939382],[4.403076671568411,48.561260233656824],[4.49528083286357,48.53872358042404],[4.521965785232567,48.54505196597459],[4.527473253110997,48.52851621730074],[4.576487514925921,48.549380130056875],[4.6263828171661405,48.554547535211604],[4.635013531124556,48.54446897027231],[4.670183207291811,48.53188730232318],[4.6493513522062,48.47085769541501],[4.635723724779378,48.456919205602716],[4.672923053694571,48.44493692940629],[4.700747648353684,48.39575121376588],[4.76018751621395,48.38761245982979],[4.754719796035579,48.36668089354523],[4.8414713515268755,48.339464111308324],[4.814217580453079,48.323010826658724],[4.850845034125924,48.296245729889414],[4.842390138796092,48.28357098511807],[4.857678156974527,48.26856300069992],[4.844090578611303,48.24161361141823],[4.862104268789182,48.19962383107111],[4.837947597948636,48.168959717850704],[4.850099917169891,48.14175885538576],[4.829291938175258,48.129608375504965],[4.835619390228278,48.10855609279288],[4.8193072949588815,48.10319242346332],[4.7632776797863725,48.11550181600475],[4.730610406781701,48.11820899817677],[4.708492447514134,48.10012538889342],[4.688818526238874,48.073127919250304],[4.711006682460102,48.04991853541924],[4.704238250439468,48.0202323762063],[4.67322963618766,48.015051709502096],[4.6168068514656495,48.031366971594],[4.582678644289108,48.02946360186476],[4.535820168596839,48.001210026464854],[4.5599688756782095,47.97142319625819],[4.518171359735413,47.96658777645795],[4.4932784015747025,47.96880579277352],[4.448998378066956,47.957154747571174],[4.414346270874161,47.968206710901],[4.351286047683726,47.95658154025503],[4.3090036167800365,47.96117328277752],[4.2934241069450065,47.92567623483797],[4.265599591370342,47.924116159008285],[4.242723875606858,47.931956917411135],[4.2221457478233475,47.94969678465566],[4.228464403152438,47.96915282956105],[4.206741721722166,47.972203894649205],[4.2078337319682335,47.94659557765659],[4.166327039100888,47.95980433221276],[4.1117857473984065,47.926995657517516],[4.092978649387006,47.94297672164551],[4.061270050327684,47.945562416892294],[4.045237544702236,47.92596854676534],[4.01814220173801,47.928474566092724],[4.003855529645679,47.94203480301055],[3.985962466837663,47.93063908075462],[3.9480945711713997,47.93089676516494],[3.9015952504180182,47.93863384246034],[3.91469046126473,47.97569343810935],[3.900190065880429,47.99790876198765],[3.8783088264909926,47.979417724331554],[3.850029315571996,47.98379240721269],[3.839811254672786,48.00389003724434],[3.8706198703197394,48.01563556441249],[3.8242989358275574,48.04289541931859],[3.824612213123349,48.06128779150571],[3.806792668443169,48.083864090347966],[3.8049683849961107,48.10254956014992],[3.773282122246105,48.12969525627175],[3.739719908908732,48.13275411908254],[3.754823906575138,48.150241865949376],[3.740291245795231,48.16970783293559],[3.7050170955645534,48.14431394210169],[3.667869602845747,48.1392119036121],[3.6414970437080063,48.18393657752057],[3.6195505299659145,48.190784479669105],[3.594183989487009,48.17887516119051],[3.57518637671701,48.18874134782558],[3.6111556712475656,48.21192894753078],[3.6216173506103138,48.22574039972581],[3.600078611097097,48.23703622325982],[3.624328073587777,48.25452852774026],[3.6168043332338455,48.27133989890988],[3.587183966868095,48.280173420842885],[3.5879668741436643,48.30081000040951],[3.566569286931659,48.30742854994862],[3.5634013639699584,48.32144364439587],[3.5325118583181596,48.340525877771384],[3.4986883356303173,48.368618101138466],[3.4525858660423605,48.374390245729586],[3.427513158445058,48.359980231681526],[3.4147915595010967,48.390273038820325]]]},"properties":{"code":"10","nom":"Aube"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.6884197209147511,43.27355372810048],[1.7083882204712093,43.29126593638564],[1.7041401191232926,43.302731061004685],[1.7264566850126617,43.31355860790404],[1.72381890913847,43.32974907649138],[1.7560895669919805,43.347786239580316],[1.7722726989104796,43.33697670685812],[1.8042058556067164,43.35792861707674],[1.8040846789340412,43.39168480485615],[1.8275744264204186,43.41839399539007],[1.8587429714302222,43.443820891217364],[1.8961151188637693,43.418448380585566],[1.9030825485451017,43.40648077638579],[1.9321973483656796,43.42425346114769],[1.9563832142288617,43.42542487943702],[1.9882982689321873,43.40760727642704],[2.013251174841698,43.41479228000688],[2.0291328387973606,43.43689796484212],[2.05313408767619,43.430200497980316],[2.0708019369201476,43.40639420952169],[2.1092766429079504,43.39455364359396],[2.171612173004611,43.41555236920325],[2.1877030879041897,43.393901845464775],[2.2150238714414177,43.38350522654672],[2.2296639061851096,43.409449060674696],[2.2220362066137076,43.42780221311405],[2.2441052741816327,43.44588047377504],[2.2648019643127553,43.45354440574296],[2.282011032773141,43.44122586946259],[2.3113690047501163,43.441551364653506],[2.3951180854863265,43.4183086163608],[2.4331017858919792,43.43517605493275],[2.452244714182291,43.43185573872313],[2.4968524565426087,43.43693032075721],[2.5192241258183463,43.42357280473514],[2.5657873980365586,43.42295974410401],[2.593459760332987,43.4125861022952],[2.569215560940852,43.40030210238747],[2.5532224612518877,43.381578705629835],[2.55675033079638,43.3671181357703],[2.547404327067849,43.33874150409467],[2.5847987373211803,43.333574828863085],[2.6016030790296316,43.29870698639686],[2.6587668022165167,43.29400885554122],[2.6935895397617924,43.32048879782006],[2.7068228959310465,43.293727070528135],[2.7002195943205365,43.28232047565704],[2.737891172803547,43.26734188065557],[2.7525204916724526,43.254593867354295],[2.772248225673249,43.25778564580618],[2.7869223712743656,43.273512651125344],[2.79178868739065,43.293015551205826],[2.8385539311891925,43.32211574816248],[2.868317493236679,43.32958665849561],[2.872040834033522,43.373176887725414],[2.890171804390596,43.36535216139457],[2.8867026665888473,43.32989534646164],[2.9469414010608523,43.31208498526138],[3.004349268167806,43.3201311415976],[3.005861156020884,43.28492197900128],[3.0548510434943674,43.27971779305137],[3.0783431423637917,43.261829334517095],[3.110944425233587,43.253471060898335],[3.1220006410048176,43.26158196380372],[3.1472079664155532,43.24700506844497],[3.175401641785767,43.24369767269661],[3.2010265503923754,43.249167148053665],[3.2103050300757787,43.235638559541265],[3.24056113717041,43.21280863308409],[3.177252971331801,43.1653931155685],[3.140803804618427,43.12876695257695],[3.092876973759121,43.06914228496683],[3.074043532794371,43.03811903535086],[3.0428431893335772,42.96015378799919],[3.0404710136346944,42.929704326912585],[3.060589297455898,42.9170599049451],[3.043510805290506,42.8381501142638],[2.976233697434438,42.870285782323506],[2.9176652105086776,42.88490560680479],[2.9068743640845423,42.89581380072565],[2.8804319367618048,42.90142601782671],[2.8652738803519484,42.91834143726101],[2.834726633088116,42.91226461376727],[2.8163773260069473,42.899968720008566],[2.789053819259419,42.895988728811574],[2.762151578941423,42.87367587089044],[2.754406508896001,42.85193277009744],[2.7392695852260918,42.83704183830966],[2.680460074219605,42.83066919623472],[2.665129702318414,42.836638227667535],[2.5979979640054287,42.83710010473599],[2.551517478135935,42.84669055878725],[2.5303296696211732,42.84330870449564],[2.501496510152125,42.85114590958063],[2.4524747607108766,42.83693276356475],[2.382167466090285,42.848465968894374],[2.3271160459779234,42.83744277583184],[2.3335924644994988,42.80438237482061],[2.343922918928302,42.8012178810544],[2.3429452475243857,42.77535071033062],[2.352474899591023,42.76247835717117],[2.3573542563069108,42.730614151700564],[2.3220061203917695,42.7077915762024],[2.297058357278089,42.70099502933411],[2.255205048620104,42.69745713836985],[2.246516821037239,42.681202948030595],[2.176204944795001,42.65250633141794],[2.166053682054993,42.66391836976526],[2.1758741195218594,42.68279522431058],[2.160632413925722,42.70112722891685],[2.0874431064800922,42.73901317594321],[2.0839024245548936,42.7516077244054],[2.057204243184995,42.75622286125991],[2.007929382662407,42.73412497082237],[1.9516265106681303,42.73669095024391],[1.913239238416856,42.75882498736125],[1.917663354345371,42.78274473527807],[1.8970774273087732,42.80800219821675],[1.869202579081601,42.81508603325651],[1.8758890323432875,42.85273825107509],[1.9456558633746337,42.85619826237116],[1.9869209142233524,42.87101168756058],[1.981007734505436,42.87842008504447],[1.9919290520003003,42.905098487236415],[1.9805743107561908,42.92957969198593],[1.9338502257854864,42.93932515940288],[1.9364462363662087,42.95396589299509],[1.9853302810624713,42.96695793978397],[1.9850016206688033,43.032612459176974],[1.9730769071879921,43.04616201620429],[1.941132873290632,43.05271547262669],[1.9557758360446906,43.085446537199715],[1.9494047039555333,43.12070809144376],[1.9177470958909644,43.13323111235511],[1.8954279777499146,43.116633336360046],[1.8804078673476365,43.14153936255586],[1.824772198868932,43.145813889155335],[1.7806433096574144,43.159824933344154],[1.7435880718428745,43.182725951168436],[1.7134791529379416,43.185618701843005],[1.7099486500213625,43.20058204747453],[1.7238440687530252,43.22452425076901],[1.699776940607475,43.243831295721215],[1.700754514704471,43.26054064540708],[1.6884197209147511,43.27355372810048]]]},"properties":{"code":"11","nom":"Aude"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.207475285530841,44.61553167652982],[2.208413991565611,44.64384410168341],[2.228626493841591,44.655105785064215],[2.2508940048769053,44.651891647919456],[2.2910316971198657,44.666588146931176],[2.326785795750648,44.66969245597246],[2.3327774512659527,44.65061525218626],[2.366001494633773,44.64133953238094],[2.3819999953795703,44.650883200245765],[2.4350033478315978,44.63887764359622],[2.4521623511235817,44.648218952798366],[2.4831925395759007,44.65033992053267],[2.5008854718716496,44.690412284300194],[2.5581520749956534,44.7235077650761],[2.5544884354514226,44.739644683596104],[2.565243660905042,44.77818509002242],[2.5993575445949,44.79280887269849],[2.596849860721244,44.81984577665913],[2.611613330896067,44.83068448570257],[2.6026810523917403,44.84316760837642],[2.6239346066524707,44.86692074581927],[2.6490608273773533,44.86973105802406],[2.657758465796855,44.886441699351096],[2.681297551065327,44.907390957815316],[2.7064349149756604,44.907226122164595],[2.716460244119946,44.929058850326676],[2.731011702023176,44.936748096176],[2.756446447848751,44.932385951522065],[2.773539092637797,44.915090188600416],[2.778335607948137,44.88772015360108],[2.7727032477846745,44.85554848858922],[2.8019551055054883,44.87362935290199],[2.813504204128073,44.86939072862634],[2.8596787274829483,44.87446457937794],[2.855294234485589,44.85122120013259],[2.8704061890716517,44.82942482057374],[2.8795722036394493,44.80301061014631],[2.893463810454271,44.78634192775854],[2.9201908650803254,44.79430517818069],[2.9345215070232764,44.779198272865976],[2.920800098992959,44.76572967096113],[2.9347898343981527,44.744014418025785],[2.9250598501117997,44.72712765384178],[2.942968011895008,44.676956264041884],[2.973000483295105,44.64571914667694],[2.981676986530433,44.6446766126243],[3.0123028502611833,44.62190975589775],[3.033175255143208,44.59690534845544],[3.0759067638703557,44.572973678960665],[3.083593896775788,44.559014394432964],[3.068038879929246,44.50286886512245],[3.100325843979618,44.479978817970924],[3.1158453488850872,44.47555258933136],[3.1352323616083257,44.454447756476476],[3.1417277742830882,44.42845999235368],[3.1267210313580613,44.41395827490389],[3.1405583752842663,44.39261625444329],[3.1216683061653887,44.388740994522394],[3.119331633132198,44.36409697183054],[3.133744886002754,44.33033358238777],[3.1542516260589815,44.30837023621562],[3.1252288254578002,44.28446357369579],[3.124161021616368,44.26032349700248],[3.153719168091856,44.273805934751195],[3.1606544387163025,44.24539730394844],[3.179876249541182,44.24566454674947],[3.2243422257594276,44.23002883975091],[3.2250868325095428,44.21260133894453],[3.206607905788314,44.18992834029595],[3.240325090398278,44.190831778546034],[3.2950015544682763,44.20693612762719],[3.317300542840415,44.200240218868345],[3.3577995033411128,44.197910434234956],[3.373648044830684,44.170755872105644],[3.3360602348274,44.15867236265549],[3.3202909661039373,44.13590273654235],[3.3243979232334686,44.11534226731356],[3.2640453082464216,44.09159000805124],[3.290256259022499,44.07173186446177],[3.3289104186209886,44.079029903874805],[3.3407758500745954,44.05682580426664],[3.3670810890076868,44.058216824075586],[3.4323231338542683,44.03257989364055],[3.449940594755056,44.020259628606446],[3.439167690806169,43.99803716044466],[3.420487392791084,43.99414155773302],[3.4054945930695584,43.9702673408017],[3.3781609146564224,43.967548345837926],[3.3515992359998137,43.93803681173031],[3.3583594413044624,43.913832893255005],[3.3179342390620543,43.890982402561455],[3.275074750407491,43.898352311519034],[3.2344586173849077,43.85756325069015],[3.251093231989111,43.84207470180914],[3.2490369949799924,43.82957970414178],[3.209694860701851,43.8129603323146],[3.129188579676226,43.81693696893768],[3.089161041674374,43.83475002166805],[3.0598559764719786,43.8316473799454],[3.0602924932316915,43.80942874668814],[3.049402198661958,43.80382793190341],[3.0570597724827286,43.782641043208976],[3.0758829435264556,43.768519616825884],[3.0530638218978536,43.74618963728415],[3.053457816225651,43.71617068001798],[3.0681377277946873,43.70869387475869],[3.0601699178851627,43.69294263093098],[3.0334575248710003,43.69205430194576],[2.9848044810902232,43.708885107652996],[2.9465514600279064,43.6929371414868],[2.9354629666803715,43.69466778518887],[2.924979718909465,43.70722262668568],[2.9211070453325663,43.736113678075654],[2.876569254236284,43.740391576832444],[2.813673557986314,43.76171872931414],[2.787648251453773,43.75205159727044],[2.781560489408381,43.73708398417332],[2.7376382481956725,43.729149343592226],[2.7120947274866287,43.74265456414404],[2.681730402635996,43.74351491586531],[2.62921204804682,43.78033346795367],[2.5971439125173483,43.81904107424546],[2.564162540693876,43.84133108872312],[2.5653040807171466,43.86779348986836],[2.576682228818769,43.881724244386106],[2.5504866871867202,43.89654064032313],[2.556301019312927,43.918667347684455],[2.5377898856336207,43.93373704382359],[2.4993471763625212,43.950586257731224],[2.520624718664867,43.962390454422454],[2.5247925967526887,43.978086506867584],[2.502131799597772,43.985509672089385],[2.4827654912259214,44.02626238773467],[2.4634612069785837,44.034971712792114],[2.4600622206958023,44.05135361527231],[2.4102102719432614,44.05584863724648],[2.400758251634245,44.083536917635314],[2.3577385466562726,44.10155549627926],[2.3236392435181563,44.12468040684526],[2.2906506734219882,44.1246789196839],[2.2848803617727818,44.145334610005946],[2.2396498479355507,44.13445411470232],[2.2006096765756986,44.144878675424955],[2.2376135766415715,44.15862580829351],[2.206941568452062,44.17128000270773],[2.191149664017209,44.16226251594439],[2.1752849884595378,44.18101099006862],[2.1565521534572882,44.179860441662186],[2.1495172687755666,44.20027523558509],[2.103007805822088,44.19236177915484],[2.0593768473509186,44.17228332636406],[2.0273876177134555,44.16774670708074],[2.029696407495935,44.15703749613199],[1.990170712650344,44.149452563484346],[1.977057759324639,44.16258114075737],[1.976683004728593,44.17992355171282],[1.935140495123965,44.18136455834765],[1.903654339982968,44.19375585363767],[1.9049135238032417,44.210214643984514],[1.9430651280544025,44.247586110602526],[1.9594126927401139,44.241188828077995],[1.9704438024330744,44.276436279434016],[1.941087860705048,44.28241377562342],[1.901390505373501,44.27911646341682],[1.868779185952882,44.29203687124151],[1.880911316974408,44.30347685224885],[1.8594609109987437,44.320378858719295],[1.882082857535903,44.340065248844205],[1.9068426542084775,44.364872665176094],[1.8675016882668152,44.39806363608371],[1.8731857077141336,44.424139807111516],[1.8505304217987393,44.435510430042704],[1.8526882779181688,44.45921955120797],[1.83959954163412,44.475900168970036],[1.8615755393539462,44.48731998198506],[1.8799562054517298,44.48383493649415],[1.8902881654773012,44.50588875517498],[1.906117994440278,44.499870752169386],[1.9562304028473732,44.5184522370375],[1.9885498908449635,44.55118208825662],[2.020316538227445,44.55550186478567],[2.057369025284242,44.58290555966192],[2.083044956953958,44.58742511394722],[2.1052735405908587,44.5712308351366],[2.1268932861145236,44.57892133300102],[2.148458414466492,44.57058186258418],[2.169814750379143,44.5914152242936],[2.193605072158649,44.585919536206276],[2.207475285530841,44.61553167652982]]]},"properties":{"code":"12","nom":"Aveyron"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.739060856654237,43.92405947349057],[4.82173604983078,43.912827836405015],[4.853093547765335,43.91138205123056],[4.885234592866442,43.90014657326699],[4.902319279838385,43.88793164631778],[4.925857913600155,43.886492676966505],[4.966309299927298,43.87164726913833],[4.996088984833567,43.846062979958205],[5.029533445304739,43.82779291313872],[5.0496564330787725,43.788726353015356],[5.173314396868251,43.7388086180006],[5.187972296540632,43.73510332278256],[5.229990308924739,43.74767288112555],[5.255713544202415,43.74655792640453],[5.31850282672,43.73502143195822],[5.341018959038618,43.719703701701896],[5.439245661034277,43.68110432174805],[5.532691768278144,43.658982498850435],[5.571561902428718,43.66192326389572],[5.6069435191164425,43.65868590516478],[5.647750486437068,43.675796002747234],[5.6740823773888085,43.69354548263312],[5.7173496269448085,43.6935266901868],[5.73694977606664,43.71600369956981],[5.753650891000443,43.72462222505303],[5.782188925366387,43.70688803457204],[5.803458345470844,43.67967259461735],[5.799061112603831,43.66051789095841],[5.744798262971254,43.65677840759107],[5.7002276041895055,43.64171580606343],[5.681084297973491,43.61251583703795],[5.691599302975247,43.58442798717338],[5.655965226280003,43.57740113848914],[5.6692574361600405,43.56473259595678],[5.695815693323289,43.5621406925523],[5.722822019697228,43.54816058741321],[5.716142493328895,43.50429675245373],[5.698802592390258,43.48217012690398],[5.729497620866793,43.4649455181253],[5.750365813842735,43.43483686058608],[5.786515741534922,43.41454030725915],[5.749995488821414,43.40151212758493],[5.724430347442292,43.408873853719896],[5.682787396731936,43.39915686931637],[5.694566647112354,43.364397692972155],[5.705025402908448,43.35591845372619],[5.686454243837883,43.34018809721801],[5.6805714198425825,43.320567749059826],[5.691040375926617,43.31296284082202],[5.726600840963344,43.317355354807546],[5.749842102092498,43.289268158207484],[5.760928945485899,43.26733799967126],[5.738053338597997,43.26234879905431],[5.683909137465821,43.23605829449104],[5.671875005699277,43.179268786904935],[5.6525556384849125,43.187314568389844],[5.624165815055896,43.18698295242608],[5.600902180940571,43.16254533545738],[5.569123854119204,43.17529448351615],[5.531324017717664,43.21204241023737],[5.510066083294413,43.19768970206163],[5.454401745873978,43.21064244401662],[5.391051995321294,43.21212758682465],[5.363644360087066,43.20712491164297],[5.340870058926049,43.21464053757704],[5.348353034439003,43.22982142946681],[5.372523588800765,43.24507767770401],[5.366241273279859,43.269297926805216],[5.345688435376646,43.282363417695436],[5.364413487886784,43.312140196877614],[5.323859848409952,43.356938601132626],[5.296471721324536,43.35955741603999],[5.2562520205440935,43.33727449020553],[5.221336413370384,43.32835884872525],[5.17747685717399,43.333615576923606],[5.168325223906977,43.32794092993499],[5.037907932778403,43.32902848885288],[5.019042287817556,43.34294363712429],[5.0242941885301615,43.355561006629124],[4.975887748495165,43.40225192419132],[4.967705599857734,43.42610491918481],[4.931381887869524,43.43315714427828],[4.906351069342989,43.41974182683961],[4.864258578677964,43.40622019800946],[4.848994405645509,43.374446367565824],[4.874828065516188,43.36049493579003],[4.855048529182453,43.3326166544088],[4.833031594688433,43.32986964122808],[4.783363102701897,43.347193829339595],[4.717738680923241,43.3503073199876],[4.661783095147221,43.34641234548359],[4.585804835779633,43.36006877534866],[4.562800334318894,43.37213670596142],[4.557428450695051,43.38832049746897],[4.587701900856666,43.40071206710059],[4.582043368583085,43.43056112720855],[4.562101794245088,43.4432502407157],[4.51635241260241,43.45471611364518],[4.465265329292432,43.45715551018595],[4.402200576777784,43.4472639920423],[4.382042207083344,43.452273928749435],[4.230283393392478,43.46018543272639],[4.239683975737728,43.499174558069626],[4.295851866824911,43.51453493286982],[4.353650066858599,43.54739365400947],[4.409349673740097,43.5611278006361],[4.425539875574249,43.5852225597615],[4.450257392496214,43.58355447784505],[4.475231595661822,43.60829885495057],[4.439746618135546,43.61067366667502],[4.427040425527008,43.62067740923795],[4.4542439312837825,43.66662787515181],[4.475496620134662,43.67109343801706],[4.487236861293796,43.6992377666192],[4.5369411541005595,43.70751108523803],[4.58188049548336,43.696373117975405],[4.5930322483013235,43.687462402972955],[4.627660521184518,43.69054089775907],[4.613036230103559,43.71429404725378],[4.613635008064088,43.72981961114202],[4.62998556436456,43.76267064663956],[4.6512411791496495,43.782277934314685],[4.654752667357286,43.80231435958277],[4.6424160670333485,43.83143872315902],[4.666304849946619,43.84477593971714],[4.641909591242105,43.86747754714164],[4.693327338994554,43.88497348729056],[4.723369654284791,43.90595389117946],[4.739060856654237,43.92405947349057]],[[5.0144531785530875,43.55554571631939],[5.015464900192831,43.52972333434815],[4.998556097992353,43.498104175449996],[5.004639838062898,43.470137499203474],[5.037984666608327,43.47064067048238],[5.051880922172624,43.463556640011085],[5.070394766791551,43.40020699537995],[5.11071277779588,43.40412626112347],[5.137265038622504,43.40018551794629],[5.1602333561876454,43.4110063529329],[5.191264875484891,43.43489873898378],[5.226134113683475,43.45256621293005],[5.222559549448171,43.48346583330456],[5.202793615675099,43.49117758927305],[5.1453160268384055,43.45857039791435],[5.102687329637665,43.526042982433104],[5.064332478397007,43.52783256560428],[5.046441178306793,43.52214136817413],[5.0330412390865265,43.5450648209435],[5.0144531785530875,43.55554571631939]]]},"properties":{"code":"13","nom":"Bouches-du-Rh\u00f4ne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-1.1196225402660513,49.3555679898469],[-1.0782173743324184,49.38849350541246],[-1.0302250793020893,49.38958141035263],[-0.9887106844575865,49.39741154140852],[-0.939384692333383,49.39504220855989],[-0.8754490370644941,49.36957076039473],[-0.8252067535670959,49.35753795654393],[-0.7222488013847815,49.347004165939666],[-0.647937711207899,49.3459781072392],[-0.5987386883749173,49.33981459321013],[-0.5532470677623611,49.34610161856534],[-0.5153140242090218,49.34501616988366],[-0.451962464076699,49.33549752432251],[-0.41484859816372344,49.33558104324266],[-0.36104180324658686,49.3228840274954],[-0.3025757588502727,49.298441925066236],[-0.22569330389903117,49.28181693021672],[-0.1696632231153101,49.28624405434959],[-0.09557631944627808,49.2981805995376],[-0.0005074304791027337,49.32556281264521],[0.07413515099973117,49.3651917979644],[0.11039331683077662,49.39427124874853],[0.1297510279522393,49.40298907653438],[0.17578018698541883,49.41235618373611],[0.21994001130961943,49.42676180478785],[0.2972244202906153,49.42986163728299],[0.30882332255488343,49.38786856245116],[0.30171362422988823,49.37130535987279],[0.32342800534930133,49.34064201714996],[0.31206679218437866,49.32225733229892],[0.32302317286212995,49.29699256482139],[0.3648958938390429,49.29519774636941],[0.3808108509605511,49.28238539554381],[0.382786744119418,49.26401647481274],[0.32113000687689647,49.24813594819387],[0.33741825014085014,49.23147819071951],[0.36654884147794087,49.21588212665217],[0.3947289759189785,49.20844416130579],[0.3858907764132056,49.15405567420366],[0.4267310809928099,49.146911914644164],[0.3997150635817522,49.10053337795652],[0.40780490572913114,49.07739021420981],[0.37935511955028134,49.06776772669734],[0.37767980975475124,49.04945033019971],[0.39019525565888735,49.03437482486719],[0.42590416560578637,49.031961024526844],[0.4462781902001329,49.014969905257644],[0.43394360004573646,49.00495438261333],[0.42880993562155445,48.96612177413988],[0.412814532889088,48.950626367694355],[0.40609491524831554,48.96346413266829],[0.37731004626458825,48.972554866896424],[0.3581085399804696,48.95050361041376],[0.3332314772821841,48.942781544583966],[0.3105016483200191,48.9525668734449],[0.28264019709882576,48.94899613116388],[0.27250168047082235,48.964655839870495],[0.24466232022740259,48.95878245595905],[0.24227175031800538,48.94434881189317],[0.18746286897648523,48.940627353263515],[0.1564748700538276,48.924787583562484],[0.12760760912750246,48.95221907078784],[0.09488679748726127,48.93579979818696],[0.07094503667266873,48.932121250285164],[0.05639799250068904,48.902464038657314],[0.008758124525063051,48.8910599383045],[-0.030666077085217337,48.8738778222776],[-0.0590064530019254,48.853491798472966],[-0.0850638956816069,48.84465033807136],[-0.1463430882060753,48.83444909949476],[-0.17671993891467938,48.83423079521249],[-0.26217897261037365,48.85359465583731],[-0.29452074618238994,48.85168192113505],[-0.3285204584539417,48.857599313600346],[-0.3267045002943942,48.840277412458356],[-0.3462445710154039,48.821999140746314],[-0.38621249067401003,48.8452588814631],[-0.4089756657265101,48.87089665763008],[-0.431252227536603,48.87431946705079],[-0.46875379913660753,48.86921416486376],[-0.4940452996821073,48.84857463029627],[-0.5445223814299559,48.8478900838751],[-0.6264394642029217,48.8268065097143],[-0.6935979640277244,48.8472307255334],[-0.7054998116130325,48.83677879901897],[-0.6821715230909893,48.821834119269546],[-0.7125565216024937,48.80069002566648],[-0.7806266616236817,48.78665142650693],[-0.8192734301255277,48.7541311066678],[-0.8409353560137922,48.75222016383323],[-0.870843068323719,48.755747083763815],[-0.9194507448733115,48.76990119354358],[-0.9510500649738302,48.78923788485761],[-1.0126842102843516,48.77178311290127],[-1.0374406727580494,48.78252947303227],[-1.0587344201065705,48.7733510406527],[-1.0894728333388959,48.781514884249376],[-1.1038400489666345,48.814802746543315],[-1.1537697728059082,48.822236045223256],[-1.1553820376155783,48.83646333089034],[-1.099957594999108,48.86805030812276],[-1.0711805139009567,48.87028515761762],[-1.049194217272288,48.89402994339517],[-1.0137402112544927,48.91595272397592],[-1.0226214673729113,48.927090137671044],[-0.9557321879384142,48.966234060803075],[-0.9427299538328557,48.967706984870034],[-0.9136451137312932,48.99096142683413],[-0.9061381953887807,49.006106279376766],[-0.8623508752010071,49.034658294620314],[-0.8845207940960534,49.03871404252527],[-0.8703864178242734,49.07831283220894],[-0.8799553096857228,49.088797685340666],[-0.8784554052403395,49.117103346563994],[-0.8865942987279166,49.12943404142505],[-0.9314412531318438,49.14557476084313],[-0.9373335821349595,49.16152234602555],[-0.895819782126535,49.19807825865292],[-0.9205699599745509,49.221065178841805],[-0.9754585570109295,49.19216218144188],[-1.03400192072734,49.218462649963996],[-1.0787006256545217,49.23459214406213],[-1.124678305514618,49.26791880332945],[-1.1215034590044193,49.28156614073767],[-1.1400966460602808,49.2973935275135],[-1.1395424010513058,49.30987085975071],[-1.1134631010458858,49.32794637083092],[-1.1196225402660513,49.3555679898469]]]},"properties":{"code":"14","nom":"Calvados"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.508408697113082,45.47849879874483],[2.5437058143512723,45.47758527668323],[2.590384711197607,45.45005773186534],[2.6396930053973264,45.44570657455579],[2.663390372512316,45.43416415509558],[2.6764584284787265,45.43907413938682],[2.6871186111491756,45.40629147061533],[2.714857227145231,45.38155782083131],[2.742824191956514,45.393286416958404],[2.7635223964556954,45.38562409648569],[2.8012313498513737,45.39285594883326],[2.851739807542808,45.392294826301445],[2.8677277513750035,45.376079673109146],[2.8863031117541533,45.382961505858326],[2.9207131825210073,45.36542334907543],[2.931754110661835,45.33059235323827],[2.9495692996597285,45.30885613298761],[2.967346132390612,45.307097870959936],[3.0183045953290004,45.2870664026082],[3.021790178296388,45.29536780296733],[3.058569686824016,45.30656505249262],[3.060267266954517,45.33058792846881],[3.081709261400673,45.33620210714899],[3.1034981328800555,45.35437310008832],[3.1134170784877164,45.32717903792977],[3.0999431470714955,45.316251503364],[3.1179979977042014,45.284187297622225],[3.1595874385219407,45.29128516779879],[3.167616208952322,45.280135013197906],[3.2125769046776993,45.28063487720399],[3.228040568209475,45.26635049790692],[3.220952339250761,45.244178044330745],[3.239572097735146,45.21694671205992],[3.27247945333649,45.20918164911843],[3.2606073460103326,45.17094202255946],[3.2880332175079103,45.12042440957931],[3.3013685993945794,45.12408985771677],[3.3340673163073404,45.11112985018295],[3.3142746780569206,45.08502161586657],[3.300037167089146,45.05612205325275],[3.3002890808475738,45.03204489436342],[3.3114877307075306,45.02276714381717],[3.337173969362221,45.02533946243554],[3.349918646764341,45.00260138512903],[3.34795071948085,44.97386741391429],[3.3613425807398936,44.97141170967897],[3.337948402304469,44.955908780382266],[3.2989394542854322,44.938607376229236],[3.286022962312807,44.92637841429803],[3.243812024502196,44.933528843936465],[3.2496925236752454,44.916237893044965],[3.2290980359662727,44.90925048112522],[3.2366483203775314,44.88797735233407],[3.215966948855477,44.8750364950506],[3.182311971252496,44.863734531317185],[3.166012315445439,44.874339110434526],[3.1411028663826848,44.903319692595886],[3.1054983095640436,44.886774803102355],[3.0936395044401266,44.853715932362164],[3.0994768968798603,44.833588418089676],[3.071476757431392,44.834123173435586],[3.048093761431216,44.80425398591603],[3.0479974143057897,44.765468479023006],[3.0310795010084504,44.74941305751071],[3.028593384774951,44.73000325460999],[3.0160096767820934,44.713692453685596],[2.981676986530433,44.6446766126243],[2.973000483295105,44.64571914667694],[2.942968011895008,44.676956264041884],[2.9250598501117997,44.72712765384178],[2.9347898343981527,44.744014418025785],[2.920800098992959,44.76572967096113],[2.9345215070232764,44.779198272865976],[2.9201908650803254,44.79430517818069],[2.893463810454271,44.78634192775854],[2.8795722036394493,44.80301061014631],[2.8704061890716517,44.82942482057374],[2.855294234485589,44.85122120013259],[2.8596787274829483,44.87446457937794],[2.813504204128073,44.86939072862634],[2.8019551055054883,44.87362935290199],[2.7727032477846745,44.85554848858922],[2.778335607948137,44.88772015360108],[2.773539092637797,44.915090188600416],[2.756446447848751,44.932385951522065],[2.731011702023176,44.936748096176],[2.716460244119946,44.929058850326676],[2.7064349149756604,44.907226122164595],[2.681297551065327,44.907390957815316],[2.657758465796855,44.886441699351096],[2.6490608273773533,44.86973105802406],[2.6239346066524707,44.86692074581927],[2.6026810523917403,44.84316760837642],[2.611613330896067,44.83068448570257],[2.596849860721244,44.81984577665913],[2.5993575445949,44.79280887269849],[2.565243660905042,44.77818509002242],[2.5544884354514226,44.739644683596104],[2.5581520749956534,44.7235077650761],[2.5008854718716496,44.690412284300194],[2.4831925395759007,44.65033992053267],[2.4521623511235817,44.648218952798366],[2.4350033478315978,44.63887764359622],[2.3819999953795703,44.650883200245765],[2.366001494633773,44.64133953238094],[2.3327774512659527,44.65061525218626],[2.326785795750648,44.66969245597246],[2.2910316971198657,44.666588146931176],[2.2508940048769053,44.651891647919456],[2.228626493841591,44.655105785064215],[2.208413991565611,44.64384410168341],[2.207475285530841,44.61553167652982],[2.1694177928364127,44.63806619142595],[2.164998532757633,44.66315186421785],[2.1791523387104577,44.6744488247748],[2.1526517256816478,44.69982758494574],[2.1473467852230246,44.720872889725285],[2.1534919160094748,44.753107579025226],[2.1669553074507704,44.773143530159075],[2.166838986075325,44.81171436877482],[2.1398005030167444,44.82382515219366],[2.093387343737472,44.872914160665985],[2.0864964046718506,44.90108537322011],[2.1081096992344133,44.91064323067309],[2.0786199838878985,44.93249880393721],[2.080180633811985,44.95404979923148],[2.0629142919730623,44.9765064055156],[2.0938020877139607,44.98529837433936],[2.1329789677394575,44.98552052019744],[2.140647790386873,45.005857628345254],[2.116811790903016,45.02111348728891],[2.09515947189117,45.056029885039536],[2.140183835372406,45.08652439641992],[2.1717556853734434,45.08149587397562],[2.1880924247036915,45.117940072442366],[2.18170890180253,45.13265183027654],[2.207633764509611,45.14349133970101],[2.207977370989871,45.1587474845356],[2.1901243496543654,45.20505624696943],[2.204634111796817,45.22819449662118],[2.2387798021685046,45.260353986844294],[2.2585645529210967,45.270221039449574],[2.268987098125343,45.2893886939803],[2.287418644336649,45.28656307930596],[2.3177410847351756,45.32296013589262],[2.350492100523935,45.32756729305109],[2.3513449070267884,45.348607328275094],[2.3647879506791765,45.35792327432974],[2.3693560338624287,45.38650326050192],[2.354551202894122,45.40140299938709],[2.378246243484016,45.414305790766434],[2.3982932489236073,45.40016956610219],[2.422673701160617,45.397227168836935],[2.4463304633628185,45.38326310881528],[2.485765402150312,45.37894867689509],[2.5233092448704975,45.384373430857245],[2.525650073736618,45.394585673379005],[2.487538059249189,45.41816337489308],[2.5067704454060635,45.46406590539498],[2.508408697113082,45.47849879874483]]]},"properties":{"code":"15","nom":"Cantal"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.10293687953014707,45.969659985237946],[-0.041431040823060886,45.993479981490964],[-0.04551950280367589,46.02062123975871],[-0.02144724431586948,46.02887152321493],[-0.031995293425440136,46.05592180291526],[0.01927278461702518,46.05284782935696],[0.07297225926176307,46.09389590958497],[0.09965289984710943,46.092923144255636],[0.13568666816811367,46.104047924067046],[0.17785565005004553,46.08330780134647],[0.1973535052161626,46.09555004152969],[0.21971869883786393,46.09431625215903],[0.2522183041176724,46.07997966029883],[0.2798061440667491,46.060966262312725],[0.39105268436192897,46.066346526515616],[0.4132869508404128,46.04908867462494],[0.4450902027032336,46.05080094878019],[0.46914195555876237,46.06154823906217],[0.47596150384778746,46.08270140200688],[0.444533894881436,46.09115151319632],[0.44325878141139535,46.10157393893125],[0.49249803098282,46.1359535013665],[0.5381620342712992,46.095338949157004],[0.5646140785657598,46.089594364695195],[0.5749744983104493,46.07899630556071],[0.6060084175300469,46.077142007163026],[0.6086469693380949,46.0896841812107],[0.6874528960648788,46.09725460634645],[0.684060820103776,46.11934698105583],[0.710577167789481,46.13088444115974],[0.7469045366399735,46.13857472178201],[0.7801581669353024,46.13213998977384],[0.8095104050353692,46.13820512038027],[0.8234337839605995,46.128581728488264],[0.8152372244416768,46.11576760044673],[0.833691291703567,46.10635630894394],[0.8188984576633332,46.07740847428548],[0.8269002995768702,46.06393247093984],[0.8179096763959527,46.047878116483695],[0.851093282263786,46.03464824766331],[0.8670363318108323,46.01842834189512],[0.8940345525336028,46.02314912814255],[0.9256254984735036,46.01045396377162],[0.9425919960124763,45.95743607843122],[0.9227140883044904,45.95301038798378],[0.8847207937372841,45.923723788266166],[0.8594760522394275,45.917997097288996],[0.8222125888611419,45.93208646787984],[0.8133141897835577,45.89867390107227],[0.8273731927551746,45.882747942075014],[0.7979907883874932,45.83267807863906],[0.7822321483214059,45.8210820958808],[0.7721413751783613,45.78762409365665],[0.7470964755206753,45.80309000421788],[0.716439805978218,45.80561793866404],[0.7079458275965803,45.79550918085823],[0.714888400126834,45.76311968057406],[0.6884232598945583,45.7604002541581],[0.6525242742739024,45.7404698575335],[0.6454223576561761,45.717511285932694],[0.6297424639524398,45.71456998977268],[0.5988182940413804,45.67062696828461],[0.5678112654431465,45.6510243172179],[0.5612176923905663,45.63273730287464],[0.5355449863742777,45.63336713201865],[0.49986594015823305,45.616678558714106],[0.5155919010618789,45.600377918791985],[0.5007291724346205,45.57307480085136],[0.506492513438957,45.55388701893163],[0.4962604525540854,45.5444880543905],[0.46573672024377105,45.539623254776004],[0.4327895064931416,45.5024678675343],[0.356537146854989,45.465479098992546],[0.3078489404274546,45.46087036559335],[0.2943995470605675,45.434183799907565],[0.2781514641521634,45.427303344509845],[0.25007284811879654,45.371801187374246],[0.26498472290743125,45.334216796479616],[0.26971965078434545,45.30539294080847],[0.24739630895607334,45.289484009049765],[0.22141736394530237,45.290328116659495],[0.20441616387648323,45.26359520741223],[0.17763742117729522,45.253740934302506],[0.17055210372198007,45.23701026486455],[0.13030604926862757,45.20798900287554],[0.09619541225687946,45.2278578556264],[0.07573321487779969,45.2202598278516],[0.05343044144838288,45.226854975561835],[0.034845860697314227,45.20874744152009],[0.007749483713343667,45.20202343974376],[0.004330746876933936,45.191632555616],[0.006062958572826905,45.22015279177819],[-0.03627702144250208,45.23721166979442],[-0.04010907570871097,45.24667707840673],[-0.10906395793417734,45.247266549806895],[-0.1087860702850694,45.28895157818026],[-0.13794822595131936,45.29287694608038],[-0.16425879921098446,45.30698659601025],[-0.19638538280111967,45.30512678463863],[-0.2304752800698138,45.31446591115923],[-0.27347921783680357,45.30225684007141],[-0.2887417673079189,45.32910703740514],[-0.27790666612822756,45.34775584650338],[-0.2502965305794111,45.34134241625847],[-0.2482719674169436,45.35898378387085],[-0.2710919492630416,45.35814803088122],[-0.3098053879026185,45.37371901040736],[-0.2781611552168728,45.39872175654272],[-0.2497593835924429,45.40874172938639],[-0.24726501108038862,45.43547210812303],[-0.274151582312151,45.45858172430254],[-0.2581005042557833,45.487311820539006],[-0.2661516568578383,45.52506493490806],[-0.31837852151865353,45.53478119461178],[-0.29701667106996404,45.56395328480815],[-0.3076248492964586,45.57358242489813],[-0.3759196531282934,45.60891920266452],[-0.3888323806150822,45.62624147062642],[-0.41648688699637426,45.6172478354152],[-0.4319955290656746,45.62459912844279],[-0.40948414912562175,45.655586235131814],[-0.3825326157519499,45.65979752940899],[-0.41054144795526276,45.683378056997135],[-0.42212116254330756,45.709462720761486],[-0.41583863552489936,45.74166865754332],[-0.4600101800616985,45.73927564322733],[-0.44933397454634766,45.766003399915384],[-0.427307558287169,45.76407021646179],[-0.40217992031623706,45.77301526864364],[-0.40039322122148663,45.78667015344287],[-0.36589154278993163,45.78031423872061],[-0.321290979962916,45.784502531866984],[-0.28882255929425316,45.80646253937032],[-0.23872379555383658,45.803035801655675],[-0.2217452863431161,45.77574564408542],[-0.1910086919293196,45.78989453197688],[-0.15385968642880263,45.798527391499896],[-0.13587796182859485,45.819927442683884],[-0.14022309999885124,45.836487921992216],[-0.12195942560335456,45.84980039051254],[-0.1309530378458796,45.891006636407646],[-0.14718187106945502,45.899027240817475],[-0.1511348530364158,45.92662031190935],[-0.09830097999956097,45.935064274902494],[-0.08645413551898633,45.9499872925985],[-0.10293687953014707,45.969659985237946]]]},"properties":{"code":"16","nom":"Charente"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-1.480898348211929,46.2100267884653],[-1.452799954013917,46.22858353814146],[-1.4248278365736362,46.230280238461035],[-1.4292326256174668,46.20585656630679],[-1.4042027932626455,46.203131886247114],[-1.3638933239111162,46.207474144095954],[-1.3213499204648875,46.18719464428664],[-1.291072648374255,46.18623232562308],[-1.2742372605064982,46.16016465893632],[-1.2761642167791498,46.147268374273345],[-1.304766457841924,46.142877408591225],[-1.3549590855946718,46.15588808122244],[-1.3915343175644146,46.17716118562189],[-1.4615984066336871,46.20211883930828],[-1.505921143547151,46.19409180605493],[-1.5323803406624759,46.20228421663419],[-1.5614104742796462,46.23718363975149],[-1.512781433271758,46.25812876418649],[-1.4893987036886658,46.25333602134092],[-1.4745470314360585,46.233258264796085],[-1.51271490129458,46.2223238746143],[-1.480898348211929,46.2100267884653]]],[[[-1.129404177492153,46.31027691915601],[-1.0807261526640515,46.32142762319264],[-1.0525280096214227,46.34254164468142],[-1.013807240115001,46.35562475996166],[-0.9774473324091834,46.35111139719007],[-0.9645133582944424,46.3654018117805],[-0.9318397064952478,46.3658034260157],[-0.9441603850496662,46.33604884873509],[-0.9617714534617725,46.323112713720874],[-0.9348886609093259,46.31285600461673],[-0.9047974021645193,46.31381080962026],[-0.8876799965820683,46.32632425572865],[-0.8509360179567931,46.31718679438478],[-0.839878203866059,46.340369117324364],[-0.8090890487729437,46.33843674064563],[-0.8024766924625577,46.325152925140934],[-0.7504755422947275,46.30425879436195],[-0.7498018188117581,46.28684613695955],[-0.7358896726556473,46.26687597846039],[-0.751461997484196,46.24507022173624],[-0.690715475013079,46.2192025056982],[-0.6848825769982527,46.2004519742498],[-0.6553901462423457,46.16995289669758],[-0.6284055467115421,46.16098350805028],[-0.6199574101252711,46.137752754570535],[-0.5469968076890201,46.14422952781575],[-0.5331548006606286,46.139721552287604],[-0.49096917294552705,46.10827096658701],[-0.42250549768348417,46.093907520969715],[-0.4014506800441788,46.08424772978497],[-0.3719662136104232,46.09346535716146],[-0.36273280893098575,46.07554208376435],[-0.331053750782718,46.08255183868407],[-0.28173430941987637,46.07975377766763],[-0.2730277009301873,46.05731156087075],[-0.2129646707291253,46.04409636271024],[-0.19462930058574468,46.044380369324465],[-0.18913173505260444,46.026141171108804],[-0.1614029897771452,46.034632694780214],[-0.16338440604219345,46.010154472823466],[-0.13816141787435107,45.99651797265895],[-0.13686284675087984,45.97896246180592],[-0.10293687953014707,45.969659985237946],[-0.08645413551898633,45.9499872925985],[-0.09830097999956097,45.935064274902494],[-0.1511348530364158,45.92662031190935],[-0.14718187106945502,45.899027240817475],[-0.1309530378458796,45.891006636407646],[-0.12195942560335456,45.84980039051254],[-0.14022309999885124,45.836487921992216],[-0.13587796182859485,45.819927442683884],[-0.15385968642880263,45.798527391499896],[-0.1910086919293196,45.78989453197688],[-0.2217452863431161,45.77574564408542],[-0.23872379555383658,45.803035801655675],[-0.28882255929425316,45.80646253937032],[-0.321290979962916,45.784502531866984],[-0.36589154278993163,45.78031423872061],[-0.40039322122148663,45.78667015344287],[-0.40217992031623706,45.77301526864364],[-0.427307558287169,45.76407021646179],[-0.44933397454634766,45.766003399915384],[-0.4600101800616985,45.73927564322733],[-0.41583863552489936,45.74166865754332],[-0.42212116254330756,45.709462720761486],[-0.41054144795526276,45.683378056997135],[-0.3825326157519499,45.65979752940899],[-0.40948414912562175,45.655586235131814],[-0.4319955290656746,45.62459912844279],[-0.41648688699637426,45.6172478354152],[-0.3888323806150822,45.62624147062642],[-0.3759196531282934,45.60891920266452],[-0.3076248492964586,45.57358242489813],[-0.29701667106996404,45.56395328480815],[-0.31837852151865353,45.53478119461178],[-0.2661516568578383,45.52506493490806],[-0.2581005042557833,45.487311820539006],[-0.274151582312151,45.45858172430254],[-0.24726501108038862,45.43547210812303],[-0.2497593835924429,45.40874172938639],[-0.2781611552168728,45.39872175654272],[-0.3098053879026185,45.37371901040736],[-0.2710919492630416,45.35814803088122],[-0.2482719674169436,45.35898378387085],[-0.2502965305794111,45.34134241625847],[-0.27790666612822756,45.34775584650338],[-0.2887417673079189,45.32910703740514],[-0.27347921783680357,45.30225684007141],[-0.2304752800698138,45.31446591115923],[-0.19638538280111967,45.30512678463863],[-0.16425879921098446,45.30698659601025],[-0.13794822595131936,45.29287694608038],[-0.1087860702850694,45.28895157818026],[-0.10906395793417734,45.247266549806895],[-0.04010907570871097,45.24667707840673],[-0.03627702144250208,45.23721166979442],[0.006062958572826905,45.22015279177819],[0.004330746876933936,45.191632555616],[-0.017366400658601018,45.16986388363175],[0.004720897151709058,45.153735338120526],[-0.03705116480547907,45.139026589692236],[-0.029231978204044492,45.129832110551455],[-0.04020033978963981,45.102384335963414],[-0.06357364725413155,45.09914913207582],[-0.0877028308704419,45.121388836286684],[-0.11493018897120878,45.11390010810251],[-0.13063644905467223,45.096672426969135],[-0.15295329411286412,45.08880721589072],[-0.18919958385014424,45.094461907846785],[-0.21824686420972253,45.10643197473333],[-0.246841022219567,45.108630449000074],[-0.2753589385784497,45.14140091335047],[-0.32063912086288726,45.156166213658715],[-0.3383605974453927,45.16688438562319],[-0.36355979846534786,45.17026408300375],[-0.3797037928837214,45.155347363684704],[-0.3971235767306027,45.1703375875983],[-0.4028499593466693,45.19049531934403],[-0.42076715723359287,45.20853163878696],[-0.40842823644582854,45.247807627855394],[-0.41542471256519675,45.269332661912166],[-0.4405443881756486,45.283811947310674],[-0.4862106750078733,45.293564321887025],[-0.5135928628951079,45.286334723467014],[-0.5706388485277301,45.299823114254885],[-0.5689666025873613,45.331523297246314],[-0.5944806728104985,45.32114282458838],[-0.6443063251392437,45.322045380590644],[-0.7188015186962935,45.327417794908314],[-0.7343347321102192,45.36884494436805],[-0.7562352245467074,45.40604611670738],[-0.80169109465095,45.45953126528613],[-0.8475465516286703,45.498824518200884],[-0.932316123312143,45.54789787336011],[-0.9628798253628926,45.556849245805736],[-0.9930029744215878,45.577177846519746],[-0.9936529509869637,45.59759467612667],[-1.0096306936697144,45.61143397047428],[-1.048858991717686,45.62029782357388],[-1.0793992219196582,45.63891363152395],[-1.115849451052298,45.64698132790749],[-1.1572864520673638,45.67180600119212],[-1.2093191311554552,45.69669910148998],[-1.2372284214926077,45.705896325440406],[-1.242573859956351,45.78157155553533],[-1.2089596448071276,45.79575377598853],[-1.1919992992402317,45.789369778069705],[-1.1320926009958303,45.80492633100206],[-1.1567411951530595,45.843048006693174],[-1.1531897443954855,45.862358720066815],[-1.12508329313857,45.857239254856815],[-1.1008903749589125,45.8722142424053],[-1.073790649268033,45.91423100527249],[-1.076862108697286,45.93669868392043],[-1.0643196475545222,45.94990908084704],[-1.0989490769387045,45.9905075513321],[-1.063082715866709,45.994433695794925],[-1.0526867952056995,46.01118088641005],[-1.0659492083794007,46.04982057557596],[-1.0888412421853944,46.05394710352535],[-1.1007267291374074,46.0937967969596],[-1.115052359847052,46.102322009862235],[-1.1291048559783758,46.12696926808778],[-1.172930125682221,46.139288837035025],[-1.17838828047269,46.15320939498865],[-1.2069336546191891,46.14576152143465],[-1.2238754783330186,46.16594526939377],[-1.1993266738882897,46.19432347775986],[-1.1989980101944606,46.21324548926301],[-1.1713483210745752,46.224056686747986],[-1.142844564296712,46.24398123047849],[-1.1403935362784305,46.25401646783765],[-1.1111638836886615,46.26134367831711],[-1.129404177492153,46.31027691915601]]],[[[-1.2502650081123046,45.84596775720191],[-1.2661507817954059,45.87816722390549],[-1.2933471382934498,45.899934788461366],[-1.3509508565890673,45.925039501714764],[-1.3887645184362025,45.95729909880382],[-1.3957821008857574,45.97683206273166],[-1.3870942851170687,45.99716404793514],[-1.413432285361357,46.046862918263024],[-1.372321963715323,46.03953755029626],[-1.3720837750990353,46.03215138125187],[-1.3066241810278874,45.991100878140536],[-1.2479234576289204,45.99041558337047],[-1.2360342002122477,45.98151867282109],[-1.242081784028376,45.95745770989403],[-1.2297921718619493,45.944255904034705],[-1.2337694138608575,45.92706325654276],[-1.2235753245301957,45.913106247354165],[-1.1884202462514732,45.88674852902471],[-1.2077074089433684,45.850339612800624],[-1.1956193786522455,45.82969725881441],[-1.2318524848434387,45.80176865563872],[-1.245660163728763,45.82135973906916],[-1.2502650081123046,45.84596775720191]]]]},"properties":{"code":"17","nom":"Charente-Maritime"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.2392136309887465,47.62097830786331],[2.289632282146918,47.62905507196624],[2.3249512144551785,47.60757115362496],[2.3424427416844122,47.60527658931115],[2.3730210260695963,47.585524572377516],[2.402680868810648,47.599506360587185],[2.439400020099367,47.60949994575173],[2.475044546159242,47.579880080920134],[2.4991330263197966,47.56751893993049],[2.547268117212732,47.57517784121953],[2.5729159948690103,47.560017104315655],[2.596866741027346,47.5564207348813],[2.616737946714408,47.54089713523513],[2.612017744333409,47.52638001278611],[2.6558708896887775,47.51039583983229],[2.658459112358834,47.48789924166263],[2.684437897133784,47.482967548570784],[2.716060360099423,47.48953015835246],[2.7274074958054517,47.498891999551546],[2.722269834213415,47.52137488790703],[2.7671158140580423,47.52510072819235],[2.7848278000315037,47.51590818527616],[2.7968724826242704,47.49670238161028],[2.8253483178196612,47.49720762944185],[2.8346896177800054,47.50891434033172],[2.8746252064056805,47.52042311253978],[2.8884546532335578,47.5094282811585],[2.9026727758043678,47.4787904760825],[2.931175112801269,47.441669509538606],[2.9194707204649397,47.407274676600125],[2.8734906167112504,47.34839595881793],[2.8767969741076427,47.321752773704915],[2.9077684884182546,47.31098769398195],[2.9378686076548557,47.287718487007425],[2.9834041014118906,47.25976318037284],[2.9816846477683376,47.22199695723395],[3.0092825607816684,47.17991916254789],[3.0280852399597813,47.129067685143],[3.0313750673889857,47.09247842625923],[3.0232152406674615,47.06261687352466],[3.0627479524794685,47.04527994600743],[3.0757508386893258,47.019144570799824],[3.0628630913516144,46.98581276267424],[3.0793297925031697,46.955118753700084],[3.0502941730720203,46.9106303658982],[3.0680947893123323,46.877676731330354],[3.069533804251037,46.85306859289044],[3.059347134977098,46.82726033600817],[3.0320681893946824,46.794911188525944],[2.9599146908207157,46.8038765767733],[2.9081337416117115,46.78790090388258],[2.9097996708207035,46.77934846021115],[2.827616388160227,46.73528787880108],[2.791229376607484,46.73345369143159],[2.758717331696372,46.71770479874165],[2.737293702840373,46.74315745422507],[2.7144961054529793,46.74448968334189],[2.701686181879871,46.72775447664072],[2.647884573027338,46.688911012473135],[2.623913816878901,46.656626585968894],[2.5977652900203827,46.66465075679083],[2.5721840644866165,46.65944372206644],[2.5966478252098466,46.637219569816494],[2.577951915975513,46.60379087601659],[2.6011237640888596,46.590178123200815],[2.6098613959683155,46.55013821923558],[2.536652020779054,46.51969984591659],[2.5286102816734966,46.52948202499876],[2.4991214173027565,46.52128856511456],[2.482928804775826,46.532697444644036],[2.4454932330861086,46.520050656829746],[2.368300280591156,46.518434763382956],[2.3520035556502914,46.512211347274814],[2.3054653620681904,46.47543251470377],[2.2857578150118907,46.45351915029325],[2.2810476101300576,46.42040537318101],[2.2498713444180876,46.426364231750945],[2.2138451955651943,46.423141210473545],[2.1975702533853765,46.42829596011364],[2.1677857181383846,46.42406650081809],[2.154348029342259,46.43408051549606],[2.1565419224007676,46.46152623851912],[2.193160461276067,46.47025540007179],[2.2043972607989812,46.48439997524806],[2.1810826759773936,46.52903506403956],[2.158700190947214,46.557346281682186],[2.1732125948301104,46.56618677203497],[2.1671454437331246,46.588979151612705],[2.187486147291389,46.61672498199302],[2.1894467123408132,46.64214127258008],[2.138670574914567,46.66743461292721],[2.1554479927780568,46.69216020128774],[2.111303456191762,46.71160114289773],[2.065751312591214,46.742494802064904],[2.0929846391107216,46.75496838536534],[2.116649522348319,46.779717208437596],[2.1032165162358063,46.79543413838327],[2.072503508712849,46.808814332303335],[2.048810332345124,46.82944826814363],[2.0782472483795438,46.83892644966574],[2.106948767251103,46.87213575040175],[2.1390397070573326,46.888569836472456],[2.154834385411464,46.91162948370054],[2.1460169903433157,46.91750721360478],[2.109999619994995,46.91338987501182],[2.0706986163554206,46.93399643786306],[2.0702028641356307,46.95442291025531],[2.1088559092730397,46.99719111950124],[2.0933838995940373,47.01573583572996],[2.0297138722809316,47.04747052812152],[2.05567516887427,47.07168995789588],[2.0483747223375235,47.10602450452247],[2.024534600265164,47.104448294258844],[1.9966600854821617,47.12699833408193],[1.9664139793909294,47.12541751372791],[1.9184124209566409,47.10482799182933],[1.882721849834433,47.1019495456428],[1.8488587784887625,47.10936986097168],[1.8226530300255424,47.122071863013495],[1.793670861418607,47.12090886272082],[1.7776202085696244,47.13240064713366],[1.8100544192382355,47.15615809030652],[1.8234729723307537,47.173942852701636],[1.8422371270362656,47.17758044921177],[1.8390792420529518,47.219308157716554],[1.8554824505856486,47.22040769184943],[1.8730051860601082,47.20531826355262],[1.9038108872203174,47.21524765964095],[1.9165941784807092,47.23598592691221],[1.8947687643612021,47.25466020007403],[1.9214647164538976,47.26271748785687],[1.940816059215001,47.29013078285961],[1.998492852908483,47.264047399335425],[2.03110991609486,47.269807386211056],[2.0772893478221053,47.285804260444245],[2.111689632581936,47.279437465410155],[2.1389909561599825,47.28548622024678],[2.1515587241969385,47.310723959822234],[2.128211459230398,47.331734733954534],[2.103653119991459,47.39321656330969],[2.1170302440572,47.41010870128665],[2.1428436560395734,47.40889739927532],[2.1886360612239333,47.43774542166242],[2.2052259819019713,47.40525327924356],[2.24369191507804,47.414818238040475],[2.2478944881999485,47.44140228778668],[2.2369731533510286,47.4712635208768],[2.247745015297621,47.491732324776784],[2.2178746796449196,47.495343490555165],[2.2152905780056495,47.52210707630713],[2.1956362774138967,47.54857375639977],[2.131269305993213,47.550272515078134],[2.1195753203342678,47.58295161292573],[2.1537378905390843,47.60082068488091],[2.1979481169523365,47.607172865315],[2.2392136309887465,47.62097830786331]]]},"properties":{"code":"18","nom":"Cher"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.898730779182943,45.69827755120411],[1.915517948219608,45.71125548778204],[1.9417142236595262,45.711351415159655],[1.9565786180296985,45.7247553300422],[1.988528308650944,45.72135422054224],[2.0015199455968986,45.7487930104446],[2.0356658672821046,45.75505181598863],[2.0839036779216125,45.7460341651736],[2.1135454727593443,45.72477506502512],[2.1338092129271105,45.735432891151106],[2.1609119774740395,45.73583595403904],[2.182986086625649,45.72061691902859],[2.202325950043259,45.71857614165799],[2.1939584682323856,45.69904710388085],[2.271074402972525,45.69164773075567],[2.2733519532781403,45.664007418292094],[2.3059428488736584,45.674659005456235],[2.3209438982497623,45.668590909995366],[2.3401720745484034,45.682564129551814],[2.351695193492091,45.71006973438515],[2.410248662063398,45.709634900959585],[2.4358558482207813,45.69927506144423],[2.4921255582417543,45.73767009540705],[2.5210064489111423,45.70681016156742],[2.526510829142244,45.68539249032416],[2.5125929116065997,45.6697634761611],[2.5249409687054394,45.65723626708714],[2.517544011548676,45.639591069896426],[2.483386743242332,45.639304413699904],[2.4784319627002147,45.60790817567205],[2.4639202998517407,45.594746716951256],[2.490928563504916,45.5603922863538],[2.516332317304299,45.55342661392312],[2.516808004227086,45.52382961392976],[2.508408697113082,45.47849879874483],[2.5067704454060635,45.46406590539498],[2.487538059249189,45.41816337489308],[2.525650073736618,45.394585673379005],[2.5233092448704975,45.384373430857245],[2.485765402150312,45.37894867689509],[2.4463304633628185,45.38326310881528],[2.422673701160617,45.397227168836935],[2.3982932489236073,45.40016956610219],[2.378246243484016,45.414305790766434],[2.354551202894122,45.40140299938709],[2.3693560338624287,45.38650326050192],[2.3647879506791765,45.35792327432974],[2.3513449070267884,45.348607328275094],[2.350492100523935,45.32756729305109],[2.3177410847351756,45.32296013589262],[2.287418644336649,45.28656307930596],[2.268987098125343,45.2893886939803],[2.2585645529210967,45.270221039449574],[2.2387798021685046,45.260353986844294],[2.204634111796817,45.22819449662118],[2.1901243496543654,45.20505624696943],[2.207977370989871,45.1587474845356],[2.207633764509611,45.14349133970101],[2.18170890180253,45.13265183027654],[2.1880924247036915,45.117940072442366],[2.1717556853734434,45.08149587397562],[2.140183835372406,45.08652439641992],[2.09515947189117,45.056029885039536],[2.116811790903016,45.02111348728891],[2.140647790386873,45.005857628345254],[2.1329789677394575,44.98552052019744],[2.0938020877139607,44.98529837433936],[2.0629142919730623,44.9765064055156],[2.045437777493513,44.98366934976922],[1.9816624813968071,44.97286584256669],[1.9407191588474306,44.95514088145865],[1.9390707704475676,44.9732241453493],[1.9081561620078975,44.97842677184467],[1.8862717368855733,44.95606762209103],[1.8311741137699509,44.945489022453565],[1.8239145263410468,44.92768244845694],[1.787069584525844,44.93223900793819],[1.7746083879446204,44.92353891590074],[1.753916747572787,44.94094903140229],[1.7506251087427585,44.95495947953577],[1.711027619735059,44.967294403504056],[1.7026624491356241,44.98782737758246],[1.671411146688222,45.00429795565169],[1.6509837683346409,45.02501608647879],[1.6260183242774706,45.03386004522471],[1.5763138744588663,45.04070102069764],[1.5520395032539256,45.028473972211486],[1.540647783113957,45.04603881243799],[1.4837421057409195,45.03086980932878],[1.4763205638048942,45.01844899314434],[1.4482615439322117,45.01931315867405],[1.3998064471929033,45.06159332248495],[1.4063598793620342,45.069297115006954],[1.3864424774272137,45.102881378523996],[1.4094740420968277,45.11264145564816],[1.4128982767653495,45.12508229172991],[1.3852045692932187,45.13561794853778],[1.3521193591746319,45.13399031293482],[1.3173936647057205,45.1421087376802],[1.2899337103990007,45.14204241946589],[1.2547674981005628,45.15931225123928],[1.2853426192045976,45.17595247253618],[1.292124890237363,45.18651272307218],[1.2741303261002948,45.200069727068225],[1.2322937564526977,45.197704072069364],[1.2336078544796087,45.2221954421389],[1.2745146719905638,45.23791148068256],[1.2744827002548649,45.257076684850865],[1.2545821687088141,45.254867349405984],[1.2271194403372112,45.271979970998935],[1.2415605436420754,45.30063281308439],[1.235803372736093,45.3220410364473],[1.2726101443911217,45.32822630817563],[1.2891042257150067,45.35407630580714],[1.3157869427441322,45.360911470391635],[1.32391737940144,45.37898344779817],[1.2959441431554541,45.39478234683706],[1.2797966098842408,45.38451121421732],[1.2596039598397974,45.39834890279047],[1.2886523745642784,45.426113502905665],[1.2531518386328937,45.44421907802482],[1.2645252348468465,45.45409594836666],[1.27034342793137,45.4776755159118],[1.3103931233740413,45.483041180557144],[1.3511118587508797,45.470001773336946],[1.37157178520687,45.49211445485024],[1.3896000810911788,45.4961572819304],[1.4120586564349766,45.52809003445668],[1.450268846192153,45.530397969675526],[1.4551417227717747,45.55328740957993],[1.4806927011525084,45.565857439236126],[1.506276371554196,45.55097960357961],[1.5220914137932038,45.56409475254406],[1.5571958047036878,45.54936632471629],[1.584891438656278,45.556076867663364],[1.5938310699115545,45.5771464332939],[1.624885337381578,45.57793581971724],[1.6581804847733144,45.595323545490324],[1.660196676810575,45.60797409516256],[1.7047914479153132,45.63738765111646],[1.748060654562327,45.64570341986574],[1.7763991218328075,45.65846116946758],[1.7858344815104692,45.68266308806586],[1.8264346802695488,45.66513576315906],[1.8751322671973147,45.664894260838736],[1.8799625935579851,45.678180842698936],[1.904291004939969,45.67774470255675],[1.898730779182943,45.69827755120411]]]},"properties":{"code":"19","nom":"Corr\u00e8ze"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[4.1819015999311935,47.15050500507014],[4.187112897689929,47.133641259369064],[4.171903802407782,47.11744504627446],[4.153771215900621,47.11455697541982],[4.1159670699158095,47.12333757652634],[4.115067396116834,47.14616206884513],[4.137377150535575,47.14271256994814],[4.1819015999311935,47.15050500507014]]],[[[4.2934241069450065,47.92567623483797],[4.3090036167800365,47.96117328277752],[4.351286047683726,47.95658154025503],[4.414346270874161,47.968206710901],[4.448998378066956,47.957154747571174],[4.4932784015747025,47.96880579277352],[4.518171359735413,47.96658777645795],[4.5599688756782095,47.97142319625819],[4.535820168596839,48.001210026464854],[4.582678644289108,48.02946360186476],[4.6168068514656495,48.031366971594],[4.67322963618766,48.015051709502096],[4.704238250439468,48.0202323762063],[4.719943437560306,48.00889645519276],[4.749300809603172,48.00425102648959],[4.789083695644797,48.00782938255744],[4.794634345104126,47.983197869158744],[4.785061370779013,47.968869095555945],[4.811007449975246,47.95932655708529],[4.845182055142008,47.96125251907535],[4.866096820746109,47.94050603305215],[4.828942462053263,47.915128709594974],[4.857004574909452,47.895855881593434],[4.87629817749016,47.92022401352716],[4.901848449197037,47.921289405231384],[4.928173323343671,47.886876403893034],[4.9282302679425625,47.871121167237085],[4.9540942495981195,47.8667681480835],[4.9683502146365655,47.83194135820226],[4.993918239441858,47.81957144123197],[4.987227991995704,47.8032996343454],[4.918299821120011,47.7773135776728],[4.930742567556667,47.76133580408352],[4.949610301299183,47.765002530384045],[4.971770458339338,47.73022100712152],[4.953807643894032,47.70691553121908],[4.959844644041361,47.69697375959394],[4.992275225837213,47.688313503769756],[5.030001604156784,47.70940841478221],[5.0435872776506425,47.676515292793226],[5.084909015051583,47.65725535909673],[5.1282137463189255,47.64769555171287],[5.178340930532218,47.680951862214265],[5.173597037303847,47.65256871236608],[5.211414189836741,47.64189107719557],[5.239232274239111,47.61613009897604],[5.238668295142944,47.597284983235],[5.252920215668424,47.57694786282474],[5.299837418963084,47.60492946802028],[5.340003771124325,47.609065915523516],[5.354893869684326,47.59131447740441],[5.374078595885573,47.60454165278582],[5.39980448309253,47.597153502136244],[5.425594945399527,47.63207432012174],[5.477547427463133,47.60872207289565],[5.497062180458679,47.55418172115122],[5.486403857432212,47.526968551040035],[5.471680911081918,47.527461847421854],[5.447063511552309,47.496253655345264],[5.399215772340755,47.49901418953457],[5.376587470082713,47.46467984209965],[5.406499562267299,47.4618228232386],[5.432338107070534,47.438347264883],[5.451397515008267,47.38406251344994],[5.477377417366495,47.39529212690571],[5.496952532848246,47.390117858136],[5.487995511763959,47.36201125941915],[5.4927946655161906,47.33207816699496],[5.4722397259852755,47.31697205065742],[5.518538729512594,47.30418661945213],[5.504737607495882,47.28566080102212],[5.488282961724511,47.28934747031664],[5.485950818628809,47.25097372798523],[5.474016456865987,47.23108930134431],[5.48000850446928,47.21736948822585],[5.447990684518002,47.19618128392872],[5.459209017913762,47.18344166980506],[5.439973300314684,47.1443971913906],[5.408710637565267,47.12607417258199],[5.410655482578915,47.11409007735421],[5.386025055163915,47.08197683820708],[5.322186205925132,47.07298220144242],[5.2839203158010815,47.04791289990898],[5.275326877554134,47.02693403703708],[5.310049747453535,47.018020896757406],[5.302902725063236,47.002995600434],[5.278877381251384,46.99902304373498],[5.255236339191406,46.97988809464049],[5.222006075229213,46.988855497295],[5.181859259011498,46.97482345386571],[5.166234471151257,46.963868398378764],[5.1243390082418205,46.963720125840524],[5.100252102348397,46.95598327083581],[5.0762583071667144,46.95939003098176],[5.049303736126251,46.98158693341567],[5.0034065361874065,46.972143943970465],[4.994466553308194,46.959149599506034],[4.927494382962588,46.96753853170502],[4.896071329118784,46.96624020620316],[4.893911988532932,46.951172459049864],[4.7884658140953436,46.931872716902944],[4.780547505930617,46.91818028344327],[4.728129651701318,46.91937462593793],[4.715721115401545,46.90691597166802],[4.685479824630714,46.90086027628975],[4.66452477880559,46.914160146408875],[4.6790861065904545,46.93024007090235],[4.650119701990474,46.94126696425738],[4.623230215613321,46.94082023678555],[4.589560484494725,46.9557070191566],[4.573661325177989,46.97338633863404],[4.554809047275526,47.02005452316086],[4.5067016541013825,47.01322725598124],[4.488156368101142,47.032053991768684],[4.453754603542757,47.04180317977088],[4.42831764695131,47.03978832160757],[4.406283415170733,47.049999892555],[4.401611638839053,47.08266237195949],[4.344250468382807,47.07243028540817],[4.349384584855175,47.09695260404792],[4.2732057577392935,47.10846860042988],[4.254511023751104,47.117244891665926],[4.235126114423698,47.14567232864916],[4.209834279044644,47.15541168354448],[4.21254075976185,47.18181888845327],[4.230668433773607,47.19895113888856],[4.218051703421399,47.22051351486304],[4.178052482394732,47.25029686466267],[4.135479914723283,47.23739632412277],[4.115801786333514,47.27973253282323],[4.114111422721765,47.30795616873572],[4.130399481098536,47.32021421171321],[4.1249016818373665,47.33586115686488],[4.106085850126875,47.339255985490894],[4.076218510845687,47.383480194423754],[4.088307134357006,47.39652090232598],[4.066060118363545,47.407251287195685],[4.119426533664949,47.443553393311014],[4.129760578477719,47.47483692093974],[4.112403898450227,47.5034970330936],[4.138136112599596,47.52153256449299],[4.156528733449272,47.55161760512027],[4.17512808182493,47.553259163212694],[4.197168115097694,47.59802850906373],[4.214168417613283,47.602912165808426],[4.212381292101606,47.62796570432303],[4.249113979601859,47.65949100902422],[4.225637843042874,47.67116302241697],[4.258324006422516,47.68389555308575],[4.267304312456938,47.70164928916197],[4.2526277781965405,47.716066198902226],[4.260502367415732,47.74220354600016],[4.289656740825392,47.73317231931354],[4.332471702607339,47.756511310391986],[4.327231405103721,47.78566401630385],[4.340296871154208,47.79956664297927],[4.320330919498607,47.81169317443553],[4.319285858378513,47.83743970579336],[4.300805981058354,47.84877161085865],[4.2610008241447535,47.84385063866699],[4.262193864556681,47.88395527973197],[4.277339137948259,47.89945297805272],[4.311152699462278,47.903922726683135],[4.2934241069450065,47.92567623483797]]]]},"properties":{"code":"21","nom":"C\u00f4te-d'Or"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-3.6591438196705743,48.659209780669244],[-3.636485708364634,48.67068553367222],[-3.5812485466634136,48.67001788504223],[-3.5848109666117063,48.71714328760577],[-3.5553712374292132,48.727513465979534],[-3.550313063112974,48.748161651547555],[-3.583914958484379,48.770957492800314],[-3.57794290588313,48.788317654113186],[-3.535033949747009,48.80271604156535],[-3.5408959300937988,48.823160071945985],[-3.5231064424378755,48.82984632644791],[-3.467838623077333,48.823298521249114],[-3.4301953417140556,48.79725199605727],[-3.3975446062757473,48.80074944363836],[-3.382428393678025,48.81593302680193],[-3.3570114279950727,48.81969907013649],[-3.323351109794353,48.8372857508137],[-3.2620728843625333,48.83540082059945],[-3.2457616227016315,48.85707703727301],[-3.2197192609615692,48.86646505727847],[-3.2028204869337964,48.83450712281955],[-3.1679438416382495,48.85314717376183],[-3.1247589566102234,48.864723936263395],[-3.094421852953979,48.86764668461141],[-3.0834891305254475,48.827262011215225],[-3.0537161489037152,48.8152457771198],[-3.013633951697306,48.82213396052265],[-3.006141529447617,48.8002958368664],[-3.0454089632329833,48.78782195169868],[-3.0109390309556923,48.76663541659801],[-2.950301280923285,48.76363410458018],[-2.9289747965586783,48.753783159339335],[-2.9451008416298974,48.72080660138098],[-2.925263771726924,48.707706235287056],[-2.8902558845725252,48.69783483539522],[-2.8807700984538154,48.67423957383046],[-2.8565017877713177,48.67400220577111],[-2.82693502135218,48.65056933154873],[-2.815798289739638,48.60972420668523],[-2.819598830141578,48.59352827457419],[-2.7797389357262325,48.5851014526199],[-2.772680617047176,48.57054449754173],[-2.7202164699056217,48.55545942233219],[-2.720977837428319,48.53284752618768],[-2.698438421518125,48.50568354123005],[-2.6756732508454437,48.510662191084755],[-2.681558937117988,48.53113342751236],[-2.6302852526774863,48.52609134516814],[-2.6312676669697814,48.53812967265482],[-2.60556004275335,48.55182776019479],[-2.559733538085472,48.58639210176802],[-2.4952155554349047,48.608924120470554],[-2.4728755698685654,48.62308300588095],[-2.468004297270983,48.64958127336475],[-2.4356309681917874,48.65218264157844],[-2.4121662285976435,48.64149535614902],[-2.3609466388725773,48.65556175834698],[-2.3145391685823196,48.67409586438523],[-2.294173242748991,48.659975373377236],[-2.3134177483953855,48.63324397584119],[-2.3374720527788573,48.61972552862038],[-2.311900696016676,48.61149441654407],[-2.299891144928281,48.624056828499725],[-2.263502079970802,48.64364865321494],[-2.205399315491741,48.57889213970631],[-2.1755905479570017,48.576407987143455],[-2.1572330600099674,48.58835712746883],[-2.165799240930372,48.60423827586908],[-2.1237080247752895,48.6044100285603],[-2.1233140883470694,48.58901274793282],[-2.0924894843076234,48.572462492473],[-2.044804968300762,48.56420276394202],[-2.0462129661682633,48.54401486364402],[-2.006894935706843,48.56611290198358],[-1.972343842323779,48.534637865266006],[-1.9480369010443914,48.53880790488251],[-1.9251126755890333,48.54530394613221],[-1.9110132247187712,48.51741534739239],[-1.9268720731463556,48.47686450947533],[-1.923895933613775,48.460907740617046],[-1.9486347678108729,48.446456041738884],[-1.9519092329646253,48.42918354147581],[-1.9367895889503266,48.420070240063225],[-1.9384653904593245,48.391389339464936],[-1.947720243456438,48.36894464609711],[-1.9290791323813683,48.34704210576775],[-1.9668973217216907,48.3428189820063],[-1.9548327221541828,48.317109845291775],[-1.998266241844134,48.296980554393514],[-2.014100529199395,48.27953190980406],[-2.0532925486538485,48.29832786130155],[-2.0762583662242795,48.28371148397488],[-2.110118931164646,48.2529034820783],[-2.126853803195948,48.25976994927449],[-2.162901712976404,48.25626974900393],[-2.1869612472272957,48.24637857003084],[-2.1843775145100226,48.213137604790425],[-2.219796763889133,48.20213436033515],[-2.2247373292770836,48.17059701877417],[-2.248230377893739,48.15279776234215],[-2.2832479885362944,48.14529870453187],[-2.287278430400511,48.133745563458476],[-2.307724031505891,48.136767145944454],[-2.321067331808052,48.123313308346624],[-2.371983930719517,48.12276022571531],[-2.375704866327887,48.141440597184854],[-2.399892263143436,48.154593831126384],[-2.4070872062503708,48.167846923022466],[-2.4492428069717214,48.17301268121088],[-2.457460857137994,48.163558679343076],[-2.488996903351025,48.15527484508064],[-2.5336627078715,48.156856696914886],[-2.516390296656647,48.12795387925489],[-2.5493015028073205,48.09906568300373],[-2.5484346321898643,48.07671678652329],[-2.5808040837522404,48.06711154950066],[-2.628212989216798,48.03379948794944],[-2.6708865594355458,48.0502796096436],[-2.6733315926174024,48.06327971694363],[-2.6561723624005746,48.08428809143894],[-2.6531526316222527,48.118092931008704],[-2.6683740921478765,48.1327428357553],[-2.702496597157526,48.11801355272737],[-2.7579911570321793,48.11080992160437],[-2.781951132488677,48.12057973083874],[-2.809828548228586,48.146257335704156],[-2.850803362250115,48.14117007726401],[-2.902695082695001,48.162745095709155],[-2.939688841727517,48.17157869268649],[-2.987721150165838,48.15963608311985],[-3.011766723688266,48.172146259772674],[-3.0139527993300925,48.18705096969819],[-3.0406075793447904,48.20331232171781],[-3.1303749671924512,48.19836233856125],[-3.13949669814907,48.16369070727257],[-3.1552540693335707,48.15849094352833],[-3.197060119674698,48.16274313777778],[-3.2153961448986896,48.148219713915],[-3.252339548077637,48.14912522090896],[-3.272244339627829,48.14001476484374],[-3.299596147833247,48.15481185209133],[-3.3161758750965893,48.1545827022414],[-3.344702681056185,48.16988498065198],[-3.375090054291556,48.16304435591315],[-3.412343177084257,48.14703755651635],[-3.4365241396101114,48.15548652160798],[-3.421483221253355,48.171908070532616],[-3.479531508235686,48.18604551951424],[-3.5226593775760193,48.17866367131642],[-3.564838973733329,48.18574694305737],[-3.538217936786089,48.20645883664802],[-3.5577832202588646,48.22853101061742],[-3.553237531594755,48.241947687032244],[-3.5259985674913756,48.26077449475174],[-3.518062717927428,48.281842614354964],[-3.540871846305997,48.29905273798831],[-3.556786825742612,48.335519987867116],[-3.5545842830629764,48.37776678483146],[-3.605518820600736,48.38654294008208],[-3.6005386081976343,48.42162432587916],[-3.563244712868301,48.43986658912548],[-3.5813817787905893,48.46480510230907],[-3.5989459676290556,48.47050839949987],[-3.6045363791794003,48.49579010573053],[-3.5820087289476406,48.50685582272],[-3.55387113158307,48.53037692213068],[-3.5699848146891386,48.55609659253676],[-3.5933075055755452,48.55460449049691],[-3.5900947382947392,48.58273907967781],[-3.6411048139943123,48.596795685658186],[-3.6542763238260356,48.61697438924653],[-3.6591438196705743,48.659209780669244]]]},"properties":{"code":"22","nom":"C\u00f4tes-d'Armor"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.1677857181383846,46.42406650081809],[2.1975702533853765,46.42829596011364],[2.2138451955651943,46.423141210473545],[2.2498713444180876,46.426364231750945],[2.2810476101300576,46.42040537318101],[2.2847885229424363,46.38630891270082],[2.3233435644763096,46.36652595580878],[2.302749949603141,46.35441622497473],[2.3230243720211274,46.32927925675375],[2.3549021067976903,46.32568201768989],[2.3704814292505856,46.312630811170784],[2.3918607677139923,46.329982476677515],[2.4204617595913738,46.310131437621955],[2.421342247531783,46.28462476459887],[2.443031552582666,46.294998578986906],[2.4807602356876792,46.28101200577568],[2.47709210519503,46.26936080025225],[2.4917957849327936,46.24786046438832],[2.5158528050357227,46.23696126598014],[2.5280462333006355,46.186332427553644],[2.55979833292496,46.1733665543973],[2.5653790586982073,46.143032182829025],[2.5505225579409916,46.11895797457819],[2.5521924042632187,46.08251218540567],[2.57170126140345,46.04837735959016],[2.6025111446423104,46.033460147639815],[2.5944189201416936,45.98944187163358],[2.61078659720824,45.971228075938264],[2.5696347302085196,45.95881426721691],[2.55163679096888,45.94126557576326],[2.5279244706403525,45.8992324603817],[2.4922254101808226,45.86402992467918],[2.4706202631864147,45.87233257398153],[2.4265480371985815,45.83477320365116],[2.4013447212803922,45.83757813269279],[2.3880204308712214,45.82737590512424],[2.427406116463833,45.79428142437904],[2.435460687234864,45.76697343160803],[2.454731087219177,45.76088170513876],[2.4921255582417543,45.73767009540705],[2.4358558482207813,45.69927506144423],[2.410248662063398,45.709634900959585],[2.351695193492091,45.71006973438515],[2.3401720745484034,45.682564129551814],[2.3209438982497623,45.668590909995366],[2.3059428488736584,45.674659005456235],[2.2733519532781403,45.664007418292094],[2.271074402972525,45.69164773075567],[2.1939584682323856,45.69904710388085],[2.202325950043259,45.71857614165799],[2.182986086625649,45.72061691902859],[2.1609119774740395,45.73583595403904],[2.1338092129271105,45.735432891151106],[2.1135454727593443,45.72477506502512],[2.0839036779216125,45.7460341651736],[2.0356658672821046,45.75505181598863],[2.0015199455968986,45.7487930104446],[1.988528308650944,45.72135422054224],[1.9565786180296985,45.7247553300422],[1.9417142236595262,45.711351415159655],[1.915517948219608,45.71125548778204],[1.898730779182943,45.69827755120411],[1.880957399347195,45.71285387339609],[1.875140102478583,45.7327797889896],[1.8941319437754782,45.7592554835555],[1.8808988285366512,45.797714818456456],[1.8464472547509174,45.809940191138686],[1.8284337256367398,45.80980874385992],[1.7891620911385413,45.83007210551306],[1.7558371847814345,45.855656306428116],[1.7148786249110421,45.8400586312482],[1.69036360011077,45.84361369992126],[1.6766374034760068,45.83511402023573],[1.6023984681707661,45.85746515857901],[1.6023488376186423,45.89096810343807],[1.635996388309483,45.88844297865446],[1.6397206723679907,45.89953853071148],[1.6150681481078124,45.93195022666644],[1.5791744495987925,45.93040642363652],[1.5782614117742197,45.91727264832772],[1.5472651107258997,45.91683379316217],[1.5299613213195493,45.93182220228596],[1.5325001755915217,45.95280423814569],[1.5661484901291225,45.96325060326457],[1.5764733332307777,45.98099739362502],[1.5648266887508957,45.99711597960844],[1.5385468041090549,45.99742846047048],[1.5363833974668037,46.02629327721946],[1.5491757848158925,46.03541014153877],[1.5317830893571065,46.05816171452662],[1.5429508225169888,46.0765888129599],[1.5048991958425688,46.08815343941205],[1.4919762107249506,46.11473183426131],[1.5052016882428472,46.127461799559406],[1.467878491573528,46.151750416293105],[1.4552353294299893,46.18103071472153],[1.415268536568449,46.177157045823584],[1.3749003074212893,46.2154511009523],[1.394145356288105,46.238349230413554],[1.4168521672178434,46.24087405708507],[1.4036544413446612,46.25990982797783],[1.4265688116168553,46.298921049134],[1.4437697350516507,46.30589420737529],[1.4151905101137505,46.34721849587296],[1.4353808001913293,46.363844088424806],[1.462936752493747,46.375350693466984],[1.5223068332769556,46.42652499450049],[1.543962708576285,46.416887448744504],[1.5462010463391824,46.39346394164149],[1.5696928311710425,46.4054957864533],[1.6143011395442397,46.405298584782024],[1.6448464161558112,46.38681584908517],[1.6836025202595086,46.41817777856285],[1.710900805328006,46.39205717074327],[1.7277004157566196,46.38940888777561],[1.7601258090399783,46.42758992898391],[1.747590198721343,46.45002145600438],[1.7983765894227512,46.45481762095847],[1.8195004176655625,46.430038338950894],[1.883436954441824,46.43255455176469],[1.909176472236739,46.44350179050311],[1.9243082864873586,46.431902226728816],[1.978108199916569,46.439771706882276],[1.9930823669027022,46.43091738935582],[2.044395406151348,46.42134446075375],[2.074201476301987,46.41984302086565],[2.088941803334241,46.40890318674806],[2.129684686571857,46.41986520092511],[2.1677857181383846,46.42406650081809]]]},"properties":{"code":"23","nom":"Creuse"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.6297424639524398,45.71456998977268],[0.6542322548355602,45.68870460553755],[0.7021017463764117,45.68712391220238],[0.7164967555921232,45.69492986065276],[0.742191639150923,45.690583187900515],[0.7636991223155143,45.66825689490875],[0.7758431349260253,45.6675695723418],[0.7630383629892018,45.62833642730259],[0.751529712610917,45.618323854020026],[0.7803710896124326,45.591186976030635],[0.8035615373389846,45.59623658602799],[0.8115003322647284,45.575870643461926],[0.8425878139261963,45.58227280988904],[0.8593270163801664,45.61255366991051],[0.8748028110501537,45.62135072197518],[0.8981892208012014,45.59978358036884],[0.9470174998837003,45.61359375507784],[0.9863932565151387,45.604487080117515],[1.0232467983202298,45.60995990299867],[1.0358490435954522,45.600209290253126],[1.0354291459916498,45.573323428579684],[1.0475013530672403,45.55793278314188],[1.0746444865790412,45.54577271138723],[1.080359033146871,45.533998770505264],[1.1103236008119233,45.54491026026193],[1.137684533027224,45.53977362177215],[1.1672867970396268,45.52482220464761],[1.1359472599446487,45.50640914164488],[1.1197844789851377,45.48778292627877],[1.1358342826377092,45.47086498923646],[1.1641763230169675,45.47552956976588],[1.1865884187192175,45.45529497029879],[1.209501347214524,45.463084747625864],[1.2531518386328937,45.44421907802482],[1.2886523745642784,45.426113502905665],[1.2596039598397974,45.39834890279047],[1.2797966098842408,45.38451121421732],[1.2959441431554541,45.39478234683706],[1.32391737940144,45.37898344779817],[1.3157869427441322,45.360911470391635],[1.2891042257150067,45.35407630580714],[1.2726101443911217,45.32822630817563],[1.235803372736093,45.3220410364473],[1.2415605436420754,45.30063281308439],[1.2271194403372112,45.271979970998935],[1.2545821687088141,45.254867349405984],[1.2744827002548649,45.257076684850865],[1.2745146719905638,45.23791148068256],[1.2336078544796087,45.2221954421389],[1.2322937564526977,45.197704072069364],[1.2741303261002948,45.200069727068225],[1.292124890237363,45.18651272307218],[1.2853426192045976,45.17595247253618],[1.2547674981005628,45.15931225123928],[1.2899337103990007,45.14204241946589],[1.3173936647057205,45.1421087376802],[1.3521193591746319,45.13399031293482],[1.3852045692932187,45.13561794853778],[1.4128982767653495,45.12508229172991],[1.4094740420968277,45.11264145564816],[1.3864424774272137,45.102881378523996],[1.4063598793620342,45.069297115006954],[1.3998064471929033,45.06159332248495],[1.4482615439322117,45.01931315867405],[1.40926521871603,45.00600178685703],[1.4335895146429747,44.93830164881089],[1.4106099419064448,44.90896015297044],[1.4398566373102875,44.8889508179699],[1.4397519128973866,44.87494627874561],[1.4048386704545461,44.86234716877302],[1.4019390596723829,44.849446039670674],[1.3614038259537624,44.84079526684299],[1.3641029713426986,44.81156818641523],[1.3281098679785208,44.80652884504556],[1.2996352435270742,44.79691953728407],[1.296243021698294,44.7778123630601],[1.322817940494351,44.76513318662047],[1.3160508396721997,44.74037462834149],[1.2794274292251306,44.715831247801496],[1.248270791913345,44.70770636912258],[1.22455005545425,44.6842663489296],[1.1688078503397572,44.680017048529535],[1.1466718447537778,44.67034606645626],[1.1537498404734852,44.63882020403],[1.0957075874791038,44.59024337388754],[1.0751408247250982,44.577324783565565],[1.0733204955931674,44.595582525404495],[1.014756458102413,44.614096475712024],[0.9908384393481793,44.63713268673032],[0.938715915523624,44.63970350097892],[0.8907495915923311,44.61499646988759],[0.8699961633461998,44.597307270914904],[0.8386686479648295,44.60073353333194],[0.8373861616885234,44.61609958290861],[0.8170042739845023,44.62700147643911],[0.8363594164481827,44.6385854946771],[0.843404038496723,44.66348079792942],[0.8260869083147476,44.675993641671084],[0.8270009642517767,44.69188957907683],[0.7977266310515655,44.701767285601186],[0.7798374176059383,44.68338808872983],[0.7290670391461425,44.67608019640507],[0.6609287903127476,44.676687086290784],[0.6539964422514456,44.696742561948255],[0.6300837174762535,44.70504186396566],[0.6097310220706117,44.69537205404958],[0.5771464644207092,44.694023979180336],[0.5704204904951242,44.67489859623235],[0.5461757009438561,44.664653811569345],[0.5156727555160711,44.678339438211495],[0.4875231075582992,44.666678761175476],[0.47053010943012324,44.66957916232141],[0.44565684789610666,44.65274912995912],[0.41754944795275234,44.64625042497145],[0.36900627419453386,44.661175745652166],[0.3496189213624863,44.66012732964435],[0.35961911790454776,44.69100214687724],[0.340537569558902,44.70304824522456],[0.346186543626901,44.7225420355276],[0.3232866327071292,44.74761897166385],[0.2973255098237856,44.76228467395237],[0.2742254006482923,44.78339312502083],[0.2637263179027021,44.82627665355831],[0.2840562599933618,44.823659365748206],[0.31506665558289004,44.84541323207388],[0.27905937516440416,44.86697670764365],[0.2376501157602628,44.86924207555338],[0.24120144851108916,44.85652879127665],[0.2062908527795184,44.838781587007574],[0.19284351960714802,44.820802554808736],[0.10655870123187683,44.832720431213495],[0.046921251109006,44.82458068187802],[0.018664421295006353,44.849628493830664],[-0.021935541227067503,44.850692462395095],[0.03436214413600705,44.91546925454322],[0.0032479456177751075,44.947439781487724],[0.019184278571431145,44.98034965777573],[0.04010873279330704,44.99350460562092],[0.035847937705388945,45.01115004721698],[0.07329671773303688,45.07012096510982],[0.06352711067229469,45.09563292386136],[0.04083219110465748,45.115350817593736],[-0.003552786965686552,45.11956999344142],[-0.04020033978963981,45.102384335963414],[-0.029231978204044492,45.129832110551455],[-0.03705116480547907,45.139026589692236],[0.004720897151709058,45.153735338120526],[-0.017366400658601018,45.16986388363175],[0.004330746876933936,45.191632555616],[0.007749483713343667,45.20202343974376],[0.034845860697314227,45.20874744152009],[0.05343044144838288,45.226854975561835],[0.07573321487779969,45.2202598278516],[0.09619541225687946,45.2278578556264],[0.13030604926862757,45.20798900287554],[0.17055210372198007,45.23701026486455],[0.17763742117729522,45.253740934302506],[0.20441616387648323,45.26359520741223],[0.22141736394530237,45.290328116659495],[0.24739630895607334,45.289484009049765],[0.26971965078434545,45.30539294080847],[0.26498472290743125,45.334216796479616],[0.25007284811879654,45.371801187374246],[0.2781514641521634,45.427303344509845],[0.2943995470605675,45.434183799907565],[0.3078489404274546,45.46087036559335],[0.356537146854989,45.465479098992546],[0.4327895064931416,45.5024678675343],[0.46573672024377105,45.539623254776004],[0.4962604525540854,45.5444880543905],[0.506492513438957,45.55388701893163],[0.5007291724346205,45.57307480085136],[0.5155919010618789,45.600377918791985],[0.49986594015823305,45.616678558714106],[0.5355449863742777,45.63336713201865],[0.5612176923905663,45.63273730287464],[0.5678112654431465,45.6510243172179],[0.5988182940413804,45.67062696828461],[0.6297424639524398,45.71456998977268]]]},"properties":{"code":"24","nom":"Dordogne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.80700533167707,47.562801384972],[6.816660001724921,47.54792247821983],[6.860809068981891,47.54751358468233],[6.883473648745609,47.55533115808764],[6.905669627634239,47.547361521011815],[6.909674152385642,47.525507149094636],[6.946162450184676,47.51131633258056],[6.930856287246399,47.49817970710937],[6.907596719688256,47.49436626816266],[6.917231799861733,47.46886980086098],[6.932315529660057,47.45581501043693],[6.940536510867674,47.43337372140521],[6.9383780521299885,47.40601986473863],[6.917565696040302,47.40554258429283],[6.911280984371045,47.3856550932385],[6.8853970779398175,47.37459946804773],[6.87936818281023,47.35839729641757],[6.919496443267278,47.35536414476774],[6.994215518452339,47.363057159308],[7.012120561775966,47.37292288887178],[7.049718402997699,47.360719992295074],[7.062207100094967,47.34415745980239],[7.046203037401215,47.326976713950984],[7.016140643996923,47.31359873592356],[6.993126569921015,47.29554511879603],[6.942895673773597,47.287754384904254],[6.955208843014741,47.244149772352195],[6.940725555973242,47.231843645454894],[6.882433031143578,47.201615584703326],[6.858349567867174,47.164383477038406],[6.800236684357302,47.128793351463806],[6.763777402656871,47.11979205072034],[6.739920812240863,47.1080561130741],[6.74109066784422,47.091064413033465],[6.717835845806807,47.08893991246636],[6.691621066187363,47.06668923642061],[6.7140493259380465,47.04912442357012],[6.699656601550015,47.039041188281],[6.661624427517901,47.02822165295931],[6.633742279087916,46.99841408318843],[6.59318642597294,46.991771506770114],[6.566568468914689,46.98063803499442],[6.5188133537312165,46.970857851315834],[6.49668554758685,46.97418077120232],[6.446572766755816,46.9341439731704],[6.432669440426171,46.92860208537252],[6.4645840104267736,46.89020943846434],[6.460055924791717,46.85168246859297],[6.44262902075631,46.83235109259498],[6.434826378361494,46.801464616461466],[6.458567776224122,46.788495437539005],[6.425917841439646,46.75480272370325],[6.39507223431701,46.74824769305675],[6.391779221321134,46.73835933517175],[6.344803166577885,46.711872179216],[6.285329368806656,46.691241021954745],[6.227994158729884,46.64830608201645],[6.175538722376977,46.61413990223054],[6.127338291895881,46.59030639234697],[6.110748015678899,46.576313203446446],[6.1381085470292716,46.55766039903405],[6.131429786217584,46.55374316497247],[6.048566902902156,46.60772285612786],[6.059172114439157,46.62611096798534],[6.105519201667375,46.65048282928723],[6.069828479910839,46.689524885344895],[6.11296041814117,46.707745262586364],[6.139950483346064,46.7252665040831],[6.180271003478625,46.741575238392656],[6.185275300570877,46.75514278256941],[6.206667229738774,46.766127080274636],[6.175722465411307,46.80024737987558],[6.134201093056517,46.82606829489227],[6.091004700025405,46.84186203649593],[6.065722840490433,46.85966779654168],[6.034013122897841,46.84959669047568],[6.026247153653252,46.86409173600443],[6.005778412779799,46.8730528372109],[6.011720201418477,46.88892677308902],[5.9826340237056,46.90845204586353],[5.996550634911118,46.93349025460158],[5.9640723607092,46.94807945340021],[5.979788604869103,46.963477609202336],[5.968560305501438,46.98044449059873],[5.945444530036826,46.98892069091779],[5.928902914958152,46.981557598992175],[5.9110704645310355,46.99949662045942],[5.838703245735162,47.00893073323631],[5.818320069354114,47.01634936206399],[5.810142553295952,47.04676497151418],[5.787650426326096,47.02060775116385],[5.749513452394782,47.01724338346852],[5.740853599399733,47.031142664947374],[5.784717290338706,47.054912309682756],[5.768548742190094,47.08943503996254],[5.8045619988542985,47.1133407822186],[5.820691451026131,47.144415939401],[5.811467446057154,47.16905381606456],[5.785253964111757,47.1730387486781],[5.786363077074669,47.1880831609518],[5.7615922644946265,47.193351935732494],[5.754029730428721,47.20619762753816],[5.720409103677726,47.2199367429909],[5.719658737830903,47.24039349857038],[5.698725742766405,47.264996774959506],[5.732304584331136,47.2635708244963],[5.772794289154126,47.27839174115347],[5.783911882300601,47.29062859459643],[5.84401524176912,47.30002560772319],[5.860063369485741,47.31441371512956],[5.908850384555448,47.33130809335063],[5.926973317778065,47.344842696907314],[5.965726777821383,47.33714799401978],[5.979565477765114,47.32599225383308],[6.031152213443059,47.337818639776025],[6.038905360008941,47.345543807863976],[6.080045800270596,47.35403647497674],[6.118643218077476,47.39516918586829],[6.159315835079816,47.38763809750605],[6.20045182507361,47.4291448308537],[6.227146778558152,47.421361759224745],[6.256322884311814,47.42460267369418],[6.2635413933118995,47.446113357872484],[6.280184223466656,47.44396949481327],[6.3343537374171,47.50596607053227],[6.4176533951113335,47.52107576002842],[6.463493609157821,47.51211727914121],[6.475912751751343,47.49653791477729],[6.495895471628419,47.50568894568784],[6.5183760537344355,47.49650598459375],[6.534536369742796,47.50605436714645],[6.55356252302069,47.49279726215029],[6.573512260277363,47.495493621813196],[6.583644236898135,47.50998705821796],[6.568287888950471,47.53296730090853],[6.581373134078281,47.5439823802077],[6.6108754443878,47.530375696762064],[6.646719240296149,47.53526063805599],[6.670176179849052,47.55789898345777],[6.715410264318535,47.55291548061491],[6.738845896180387,47.55702322452207],[6.767404952407747,47.538017268556935],[6.797499350037713,47.5495126825397],[6.80700533167707,47.562801384972]]]},"properties":{"code":"25","nom":"Doubs"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.800493926884063,45.298360661142944],[4.858798773300606,45.30895383074844],[4.879709663152382,45.2969314761542],[4.927837287858217,45.322467078582974],[4.960882968689533,45.329431946438525],[4.989191483458711,45.34404664083611],[5.00965209426827,45.34223102677266],[5.019860000114205,45.32012334781686],[5.054318727576239,45.319054679747346],[5.075414977696186,45.28182474686916],[5.138525456127068,45.29621886821675],[5.121425532367965,45.24833591809063],[5.176540876984406,45.2484020449113],[5.184576231954122,45.231193647083316],[5.165271150444932,45.1998716765054],[5.188573507748233,45.171268538792575],[5.187438130822191,45.12083055585071],[5.162894297608516,45.0984305870661],[5.148624024939402,45.07523359417633],[5.171188406008603,45.06901345142979],[5.1833365351237415,45.08488121016097],[5.226123302713108,45.07917959620953],[5.248350471901153,45.06093433768146],[5.300641951274725,45.06258684321087],[5.317097625615876,45.05144543143657],[5.3438842908647155,45.04990301119417],[5.388382939418146,45.03613916354605],[5.449788835244156,45.070783659173316],[5.4594242070232415,45.084354048653296],[5.482962641076428,45.083813985829416],[5.466222808609953,45.05369264423919],[5.480457675487145,45.013866206651436],[5.493108370230375,44.99650387405212],[5.477674326344703,44.96675249985711],[5.483647138020397,44.92229059824822],[5.475071217930305,44.86759688581832],[5.463794835880649,44.82597088831498],[5.484766003910795,44.82306199061912],[5.4641587549688655,44.79242749679306],[5.538609682625281,44.77435333052135],[5.582046117791262,44.777862736908396],[5.583886354820008,44.76534387074039],[5.627084872571889,44.75246442874924],[5.647101681531142,44.724098953876464],[5.708698705355806,44.720924547440156],[5.7387858126735685,44.712419126045255],[5.757110126926433,44.6960374105235],[5.801469996094522,44.706778512869995],[5.82711625324567,44.70028877822114],[5.825802514085463,44.68569233800322],[5.799407769469486,44.67394966436931],[5.790619766631355,44.65329030204328],[5.753939211901072,44.662713661324155],[5.726039426074854,44.63939834273572],[5.641715054881292,44.65107468886509],[5.643926214041127,44.60972161106435],[5.617737322579476,44.583133580603594],[5.5972487980667855,44.543273727979226],[5.627373773874302,44.53458025973445],[5.664504139914002,44.501894032401594],[5.629785093116038,44.5011871029685],[5.6163088106464185,44.47271206540212],[5.603651238319425,44.465544996850255],[5.562404689872195,44.47485185176209],[5.516510011697751,44.49138247772147],[5.4798758917737445,44.49123966897652],[5.458727518186473,44.46614393059478],[5.464433745418449,44.44788666870274],[5.498303440849121,44.43732497621575],[5.4764897049095795,44.41972379409436],[5.447194165800079,44.431852481873705],[5.418530667075709,44.424947370319],[5.443026623183156,44.391237330733084],[5.434953500862137,44.36911743294876],[5.46065693964672,44.36832054562284],[5.46941457400079,44.35149029453098],[5.4930715607447445,44.33717752081172],[5.521782790630088,44.34931163553876],[5.5373670436986435,44.333525718131106],[5.617135908418277,44.332475894185805],[5.608077262744189,44.30850908328983],[5.637756422122977,44.29968616697366],[5.631970064900461,44.284721309902835],[5.647509019416229,44.27247769824454],[5.676206589256276,44.27551099308782],[5.672996044869041,44.23984311301397],[5.681311859737585,44.23289466958045],[5.676037325543462,44.19143313185896],[5.651592585237082,44.18957707724826],[5.646965152793732,44.166291647187435],[5.68271535182101,44.16321640945639],[5.67860502821166,44.14608869344783],[5.6316731817286305,44.15136802990124],[5.63959354437225,44.16758605191366],[5.609572963808623,44.18817112634557],[5.576187167563138,44.18804165094906],[5.564374392120529,44.17090170649433],[5.582976621063447,44.15762325973775],[5.551327343869811,44.14979115926589],[5.540435810430644,44.13221365213216],[5.498787806458752,44.11571934778835],[5.45471645974309,44.119227904662864],[5.43571830913588,44.1516641531859],[5.383240887752097,44.15528473021913],[5.384523055943825,44.201046720663136],[5.354042708088259,44.21342924717531],[5.3368331508273,44.20353145731521],[5.292247629624085,44.214467072564894],[5.2565087145716225,44.23005632855739],[5.23814970804007,44.213233332998946],[5.174965607033191,44.22080662233339],[5.154903556803357,44.230944996200954],[5.161547590528067,44.24559067110522],[5.1497271329806695,44.28208386834487],[5.167205149288734,44.29205090874127],[5.172696360911815,44.309393695074476],[5.1045087340965685,44.27953745155323],[5.076512049103177,44.2840860159789],[5.060564583015947,44.30813976056077],[5.005535817021755,44.286754820483196],[4.981451791724815,44.2848325971684],[4.932910424012261,44.2621518073366],[4.879050668886603,44.26148357791232],[4.826652705578103,44.22832506640777],[4.814096088903183,44.23231467832123],[4.812665863343398,44.257719064767414],[4.8031008029072115,44.27998919217419],[4.804563291806201,44.303896893827336],[4.762251228111598,44.32538168266028],[4.720123840256769,44.326714895236336],[4.679025302617316,44.32048933622703],[4.6506150134375535,44.329805791511276],[4.648946169255066,44.372462486293166],[4.664373400022996,44.398944273043945],[4.667379937465383,44.43066429434984],[4.69865229412497,44.45230946012676],[4.6989568502390995,44.481694190593686],[4.689973321952771,44.49125058500801],[4.692050189601407,44.5152420465306],[4.707018905489797,44.53084113511007],[4.692361920905272,44.55589194997334],[4.710266499941698,44.58154911470836],[4.741168931840421,44.58877434873562],[4.74040453633284,44.60239249321297],[4.77408913696615,44.644269843250804],[4.7811100231594805,44.682833634690404],[4.762850574483207,44.72009203958483],[4.760941584679994,44.771713549802],[4.795665859771827,44.793769117314746],[4.821656483202532,44.83867049616437],[4.841340887618573,44.842596306238924],[4.85945820884153,44.87175235284045],[4.8579011507481304,44.903155110736876],[4.8855710639544006,44.93465153198947],[4.875684162327823,44.95520873214619],[4.860170175358192,44.96586245571145],[4.851264766161909,44.99467770210391],[4.837672652853049,45.00479181394786],[4.840341325313034,45.03578322392562],[4.860746068970967,45.055429204446796],[4.831651038103518,45.07026753675957],[4.827354281438577,45.10214857279052],[4.804492252463412,45.12194771680664],[4.804461066670614,45.133197210828584],[4.829100372157167,45.15669010756043],[4.813699779096304,45.16341716248438],[4.804809814114698,45.194030298693185],[4.812569706062625,45.204307182925724],[4.802585860487608,45.22693117215798],[4.809597016988471,45.26036757990201],[4.80945700146176,45.28984878023442],[4.800493926884063,45.298360661142944]],[[4.892909784975503,44.36481842003465],[4.871546699824252,44.349624687939915],[4.89532799567956,44.33806148358807],[4.881629025271996,44.32487165610533],[4.8894629809408325,44.30401919301177],[4.922149021948395,44.30878294851454],[4.978583367650993,44.297463038388315],[5.023291388686099,44.34594820774989],[5.0270075535733945,44.362835342005326],[5.052014293962954,44.364659059368094],[5.048760348502809,44.381234267021824],[5.015759498726315,44.39276614596861],[5.013305911983339,44.405345557740354],[4.988609946346962,44.42320030980228],[4.963297700567191,44.42193444899826],[4.918515009368784,44.40778504385655],[4.906627552610216,44.37409911682911],[4.892909784975503,44.36481842003465]]]},"properties":{"code":"26","nom":"Dr\u00f4me"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.2972244202906153,49.42986163728299],[0.33898282435946164,49.440931306061266],[0.36879599400345847,49.44396615809678],[0.4315314440644818,49.45895529203515],[0.49007688558798895,49.48360764057147],[0.5249403531988139,49.47786858986832],[0.5790634674462867,49.43507202120442],[0.606260846591224,49.428697933243775],[0.6341203993784739,49.43446117824468],[0.6597835439594861,49.41617560182564],[0.6652914150341133,49.40200234791148],[0.7736557882409092,49.41808160502643],[0.8035289901620026,49.41664937662084],[0.8265612311602684,49.395044519606806],[0.860851622884771,49.39535013278994],[0.8853214512018548,49.38352473329317],[0.9181193706199334,49.385460584535736],[0.9214023473164947,49.33855254623689],[0.8875928951071438,49.34591517415329],[0.8662303093667536,49.34231160512299],[0.8622783261742117,49.32742242737676],[0.8915316720257209,49.31656133415404],[0.8924955592567678,49.303062511451586],[0.9366215857125476,49.321701430518324],[0.959487909604523,49.28612972876709],[1.0133166256832071,49.252262976528414],[1.0540696575756032,49.26810664758745],[1.0644211959188252,49.28193243229649],[1.0482359283696867,49.2966707056018],[1.092924014464112,49.30997367751731],[1.133993537971445,49.30984205819146],[1.1359587366778499,49.32511330683783],[1.1602558424773857,49.3419941567295],[1.1990286032008088,49.35080528187691],[1.2721366387570638,49.346289233389804],[1.2860248038650488,49.36318319072627],[1.2931900574437356,49.394994727671126],[1.3080682780467234,49.39535659061039],[1.3096318834456244,49.42873257275235],[1.3353971000652705,49.43371952908696],[1.345233363898118,49.44805852414145],[1.378499108777362,49.45742638657252],[1.4771860122081044,49.45132697219684],[1.503549409663381,49.43807237615207],[1.5283196177789204,49.44198980558868],[1.576136831058076,49.43973886640559],[1.6069566095899943,49.410854416858434],[1.6210669431541742,49.414378158641135],[1.6593030583878112,49.39898608539559],[1.7139375433100608,49.409224988863485],[1.7203156024953805,49.39482842844473],[1.759340781875861,49.368238985112555],[1.7741379719748898,49.33469565160132],[1.7679448109268296,49.31982583692622],[1.7757705439300602,49.29951534986682],[1.8026808722972285,49.271950623613535],[1.7895325987859003,49.247868037421206],[1.7643521273092135,49.2630859414422],[1.7345063044967537,49.26899820204799],[1.7104793339744566,49.26446416218004],[1.7043642065965865,49.232201775163404],[1.674090204376027,49.210248479159524],[1.6643738026115165,49.15336752369717],[1.655777439712795,49.13016217033744],[1.6350518648476458,49.11430020855939],[1.6087960706299218,49.07789415353795],[1.6017185942276444,49.08450261108525],[1.5570756944651978,49.06962240086733],[1.5380423840651944,49.072342033316],[1.4848834480593345,49.05154791492779],[1.4607983669865394,49.0627440580796],[1.4474328265726297,49.04518805211747],[1.4577625828067995,49.026291046220386],[1.4770779834042216,49.01679764336922],[1.477085024550759,48.978790316157344],[1.4974212515808907,48.97955944476306],[1.5015238197988665,48.94105360615515],[1.4613084344852056,48.93755797274698],[1.4483097630235757,48.92433060014346],[1.471281965082692,48.897831449765356],[1.4549910456481823,48.87032343188624],[1.4093616066102121,48.86115348650526],[1.3621810029001884,48.834179003372945],[1.3583524111815377,48.8164325477948],[1.3769640090609683,48.791769052281],[1.3195484140595357,48.76096509555226],[1.300298160774345,48.76753862976326],[1.270215830640388,48.75748087478701],[1.2460222122058793,48.7696776023494],[1.184730602501536,48.77263016325766],[1.159490184478893,48.769724918274406],[1.1521108654240828,48.78556141919787],[1.121402821755998,48.789193818459175],[1.1186480947364004,48.75458615785833],[1.0957317749783022,48.74871690601713],[1.0590671926768536,48.756763319856546],[1.0140709189239645,48.7280968183202],[0.9614508974400996,48.7257249507322],[0.9552461079026382,48.71678344138858],[0.9023959771326227,48.7106473551684],[0.876707237647973,48.71549244581689],[0.8619896827437209,48.68705769224572],[0.8276671061162353,48.68072356503085],[0.8148191028635925,48.67016796018795],[0.7822053215915061,48.66652415160697],[0.7640759546715993,48.67527365639454],[0.7660502318369231,48.69679825478523],[0.7433928921084365,48.71690523836887],[0.774959043114129,48.73752726458568],[0.7508055582409985,48.75949683157833],[0.7584300486684715,48.767971967774606],[0.7319447587721393,48.78545800743581],[0.6889623683560373,48.79460354988005],[0.6687110370739024,48.80802140346215],[0.6078685100835315,48.832489316673694],[0.6109659813863897,48.853218358881485],[0.5780409793892106,48.89364694598877],[0.5525030083730612,48.87553783157171],[0.5021397353658976,48.878150204150515],[0.4761125006440536,48.88686266076319],[0.45358528537402837,48.88019513771439],[0.4200659412941513,48.88818710783798],[0.42156714219561403,48.89864779537123],[0.38618934896504153,48.91041450585282],[0.3907837746929919,48.9271332888758],[0.412814532889088,48.950626367694355],[0.42880993562155445,48.96612177413988],[0.43394360004573646,49.00495438261333],[0.4462781902001329,49.014969905257644],[0.42590416560578637,49.031961024526844],[0.39019525565888735,49.03437482486719],[0.37767980975475124,49.04945033019971],[0.37935511955028134,49.06776772669734],[0.40780490572913114,49.07739021420981],[0.3997150635817522,49.10053337795652],[0.4267310809928099,49.146911914644164],[0.3858907764132056,49.15405567420366],[0.3947289759189785,49.20844416130579],[0.36654884147794087,49.21588212665217],[0.33741825014085014,49.23147819071951],[0.32113000687689647,49.24813594819387],[0.382786744119418,49.26401647481274],[0.3808108509605511,49.28238539554381],[0.3648958938390429,49.29519774636941],[0.32302317286212995,49.29699256482139],[0.31206679218437866,49.32225733229892],[0.32342800534930133,49.34064201714996],[0.30171362422988823,49.37130535987279],[0.30882332255488343,49.38786856245116],[0.2972244202906153,49.42986163728299]]]},"properties":{"code":"27","nom":"Eure"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.8148191028635925,48.67016796018795],[0.8276671061162353,48.68072356503085],[0.8619896827437209,48.68705769224572],[0.876707237647973,48.71549244581689],[0.9023959771326227,48.7106473551684],[0.9552461079026382,48.71678344138858],[0.9614508974400996,48.7257249507322],[1.0140709189239645,48.7280968183202],[1.0590671926768536,48.756763319856546],[1.0957317749783022,48.74871690601713],[1.1186480947364004,48.75458615785833],[1.121402821755998,48.789193818459175],[1.1521108654240828,48.78556141919787],[1.159490184478893,48.769724918274406],[1.184730602501536,48.77263016325766],[1.2460222122058793,48.7696776023494],[1.270215830640388,48.75748087478701],[1.300298160774345,48.76753862976326],[1.3195484140595357,48.76096509555226],[1.3769640090609683,48.791769052281],[1.3583524111815377,48.8164325477948],[1.3621810029001884,48.834179003372945],[1.4093616066102121,48.86115348650526],[1.4549910456481823,48.87032343188624],[1.471281965082692,48.897831449765356],[1.4483097630235757,48.92433060014346],[1.4613084344852056,48.93755797274698],[1.5015238197988665,48.94105360615515],[1.5073440226070087,48.927598989147334],[1.5386150005667363,48.92179645733065],[1.5385208308731109,48.90668492167043],[1.5595052783343866,48.88205164409549],[1.5462315883376268,48.87242890235984],[1.581598875031263,48.85499897015231],[1.5772685877162862,48.84436076548629],[1.5912030850964909,48.814869639400584],[1.5756742260519878,48.7905067944881],[1.5875947031508344,48.773602302755286],[1.6263993499269267,48.748094297484094],[1.579545829918285,48.70181187348942],[1.6117708691618606,48.68947111646258],[1.603118482168126,48.66241796207503],[1.651574528306872,48.63812870428749],[1.6662188615195896,48.613706715891],[1.714895681919355,48.61439494545783],[1.7019890546581085,48.58499862181419],[1.7092527874670105,48.57802434626235],[1.7653297161980415,48.56937104099974],[1.7872450519775867,48.55374456486673],[1.775751488475668,48.52770729661422],[1.7768442507697113,48.50931096191216],[1.8032057888939028,48.472565678495286],[1.8321369890615689,48.467581442678565],[1.84486306037181,48.4493607065379],[1.8716851573650342,48.43978475842447],[1.9064022701801788,48.44014576962788],[1.9221489648373706,48.457600286064135],[1.940657409608177,48.42520626181189],[1.9258935288275238,48.412738189076535],[1.9765777946992387,48.39938447447991],[1.9734600276085819,48.38883055198841],[1.9868210109251592,48.36214189229105],[1.9699915637784469,48.33969146951863],[1.9799848326906437,48.31848007972407],[1.9592272366957604,48.308689574530625],[1.9752916566344318,48.28719843612737],[1.9940847180593788,48.286585877943075],[1.9878756044776544,48.268707563969706],[1.9654790051841269,48.255466245296866],[1.9625953467362638,48.22259665048149],[1.9514550396684471,48.18958117854365],[1.9250485316689847,48.17448662149941],[1.9033398897931277,48.152806309750886],[1.920402814020387,48.14638533996389],[1.9010631123528121,48.129720309688054],[1.8843851938361136,48.097661066466635],[1.8656712589157682,48.08385719871519],[1.797975547328593,48.07686831186792],[1.7448338583126362,48.0661443495906],[1.6789955266507441,48.065829398062704],[1.6556783876479508,48.076176598146596],[1.6245928719693987,48.067222742913955],[1.6138290938946773,48.04498314926178],[1.5941156652809598,48.03069992074373],[1.545306911308587,48.0445885217016],[1.512975755811939,48.02872178084264],[1.5266687471482352,48.00726560320355],[1.5201238283340488,47.982278476987],[1.4396560496498594,48.01194932329023],[1.4372409526093535,47.9764987201296],[1.4068828320031919,47.97009659263769],[1.3869462890722553,47.9812831788851],[1.3700158222874876,47.95374905485532],[1.343701298620938,47.957530775683054],[1.3086281518302283,47.953853799768815],[1.2995800659732568,47.96816150698365],[1.262653160836444,47.96284180147032],[1.2456512469484482,47.979278052584],[1.2096430686639739,47.96850051668402],[1.1695601007353318,48.00668912927458],[1.1666303937374705,48.02739182079259],[1.122713770015408,48.035980030467925],[1.1031936171142485,48.08108800423722],[1.0260026950898764,48.088407307781466],[1.0085477409246668,48.0831267789959],[0.9915488801693668,48.09741164653938],[1.0456264025684945,48.11762847776995],[1.0387342870949972,48.13165484141439],[1.012548026499917,48.132548614185936],[0.9813105576003316,48.119560230186515],[0.9502768856001645,48.09927549241419],[0.9440295929845693,48.11237193590575],[0.8909295923841402,48.10206310395515],[0.8758906410789156,48.10943550861685],[0.8412172317044129,48.10306240932052],[0.8525696983122546,48.133605674559426],[0.913802022562964,48.13512781830264],[0.9116186783263119,48.14886135015183],[0.8619836907733601,48.16682130452495],[0.8367739335625146,48.166991974853865],[0.797655838494225,48.19445221754921],[0.8302416950484665,48.21430027818372],[0.7875964742272762,48.26131463776064],[0.7958184564245077,48.28648186022423],[0.7688672771787132,48.32194393371593],[0.7854319060188925,48.34042724028456],[0.8187477629538905,48.3492990187552],[0.8837069426865347,48.35671469741493],[0.9090291135378351,48.37025942165492],[0.9486303005350746,48.40254075139077],[0.9439900556805834,48.41543779690512],[0.9584142860496184,48.442595257597894],[0.9357072927920254,48.475553713886015],[0.956288496333069,48.48228110680156],[0.9539997024327551,48.50383926047164],[0.9667159729358187,48.52408891339411],[0.9226089134985012,48.5377152127879],[0.9387576535104647,48.55055845317247],[0.8912620563004201,48.57217735609871],[0.8676826582446395,48.57348477486485],[0.8495690718886973,48.584317085863454],[0.8465847869380818,48.60477987546661],[0.8177592533729132,48.616321964340834],[0.8268154990669214,48.63060614219509],[0.8148191028635925,48.67016796018795]]]},"properties":{"code":"28","nom":"Eure-et-Loir"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-5.102603031250701,48.43611710405846],[-5.103600745641675,48.47233254581352],[-5.065760515653101,48.48139267104152],[-5.04035308104457,48.46511684576535],[-5.063102244199608,48.44905420596996],[-5.102603031250701,48.43611710405846]]],[[[-3.6591438196705743,48.659209780669244],[-3.6542763238260356,48.61697438924653],[-3.6411048139943123,48.596795685658186],[-3.5900947382947392,48.58273907967781],[-3.5933075055755452,48.55460449049691],[-3.5699848146891386,48.55609659253676],[-3.55387113158307,48.53037692213068],[-3.5820087289476406,48.50685582272],[-3.6045363791794003,48.49579010573053],[-3.5989459676290556,48.47050839949987],[-3.5813817787905893,48.46480510230907],[-3.563244712868301,48.43986658912548],[-3.6005386081976343,48.42162432587916],[-3.605518820600736,48.38654294008208],[-3.5545842830629764,48.37776678483146],[-3.556786825742612,48.335519987867116],[-3.540871846305997,48.29905273798831],[-3.518062717927428,48.281842614354964],[-3.5259985674913756,48.26077449475174],[-3.553237531594755,48.241947687032244],[-3.5577832202588646,48.22853101061742],[-3.538217936786089,48.20645883664802],[-3.564838973733329,48.18574694305737],[-3.6283881260752544,48.1687248221492],[-3.6518557265570566,48.156583426737576],[-3.69467505545132,48.15091429371495],[-3.7155113160954,48.14222278424499],[-3.717299501973206,48.12152104588753],[-3.73401071349441,48.11285300326305],[-3.725890623875097,48.09496610205945],[-3.7032714693453843,48.08734402006448],[-3.69816707482359,48.06231160032721],[-3.675286774640338,48.059296687637904],[-3.662606521516704,48.02008121333488],[-3.640231533075075,47.98524271311537],[-3.5813379803683882,47.98707045002737],[-3.5552758457516087,47.993098470462],[-3.5156118733539357,47.97536899639446],[-3.497303664400367,47.97663709189755],[-3.4813997640454386,47.95187230610157],[-3.4627039996577236,47.948470485246176],[-3.4128264844188565,47.9741964735994],[-3.3922406780637284,47.95650358632056],[-3.4015047820862296,47.94296944095624],[-3.3870295747062062,47.925240278144464],[-3.406618446285296,47.917155590887866],[-3.4040114963344528,47.86615562756545],[-3.449172314379866,47.861897916786695],[-3.4584776087007003,47.83672369691625],[-3.488375735328993,47.82369125414433],[-3.5117214211485104,47.83199375246112],[-3.523004293499609,47.84914685714251],[-3.5396513689234244,47.83617965304551],[-3.5425770850250635,47.82151227934617],[-3.5229226544939514,47.80223614015396],[-3.5386344188426375,47.76264176980493],[-3.5641121250447267,47.76861005548025],[-3.6173293885938573,47.76951026006133],[-3.666828405107558,47.78066980771674],[-3.6808401232958055,47.776789568451115],[-3.7359638663585395,47.80568353533829],[-3.7620343226442494,47.790565500089855],[-3.80058711359008,47.787633168752826],[-3.8206966045621122,47.79704005110039],[-3.8510582202094192,47.79595113220543],[-3.9014575009234087,47.83811402726429],[-3.9352297901853737,47.88271768897734],[-3.979285765673716,47.90506331053172],[-3.9892426691277407,47.88124042404969],[-3.9779071580540446,47.85370904171028],[-4.041402101062129,47.84560407995417],[-4.071579359966193,47.8639343495831],[-4.12605004973185,47.864172382493564],[-4.163559448578027,47.84918510804166],[-4.175106219653961,47.87596847062619],[-4.1971340520002265,47.86102385449842],[-4.179428919445678,47.83927438037873],[-4.15940114971976,47.8318173246385],[-4.183013010492385,47.800536704160066],[-4.2165887057710965,47.793144928603546],[-4.269232846114915,47.790984442793075],[-4.298541674244525,47.80045582335789],[-4.362405222202317,47.79574452412905],[-4.379252075100091,47.82205366025167],[-4.349806909070088,47.830787344673475],[-4.35026147711619,47.85720715426938],[-4.367485583327389,47.895018967431604],[-4.388015035003269,47.926654784945555],[-4.423497441952159,47.9629190746406],[-4.45357212479016,47.98178335103627],[-4.509946245392576,48.00508930612951],[-4.540544158513848,48.01277237320508],[-4.564748323475724,47.99983217909559],[-4.617153960280601,48.01668341623001],[-4.632961817787164,48.029371518298575],[-4.65236486621254,48.02197780046869],[-4.699486095336003,48.0276385517676],[-4.716343505589336,48.06246408637442],[-4.673766453815838,48.060832956449374],[-4.6659348329354255,48.07024114770002],[-4.621727492652852,48.068543619046565],[-4.5801348626137575,48.08191194086029],[-4.553615731275088,48.07713834742257],[-4.532513782688574,48.08825622911054],[-4.487667360513949,48.086548703734806],[-4.466691486895225,48.09914603365788],[-4.42937785197245,48.09921479885298],[-4.374400199477134,48.110160305908614],[-4.306988535338467,48.089182615717235],[-4.2855866218113725,48.104744565148835],[-4.2837220130952955,48.126900982468996],[-4.271721077823729,48.133056537289555],[-4.273083579380047,48.15418112435729],[-4.295843919274587,48.16142932399722],[-4.292060558661123,48.17634830008409],[-4.303105949344183,48.19481221480856],[-4.332028821902894,48.20625396161038],[-4.367421587366783,48.20518414807059],[-4.376408546426716,48.217120176811314],[-4.462948817851071,48.23822329999254],[-4.501654363959345,48.230424062827204],[-4.520558957420493,48.191481893648785],[-4.5541301011022846,48.167773715825284],[-4.55239723973961,48.20798329589854],[-4.564023813101924,48.232230611567076],[-4.544514592316071,48.241191573122464],[-4.556269907144756,48.25839883522839],[-4.583648389279179,48.25188609816883],[-4.606432460120089,48.260804316606915],[-4.566613794720501,48.286343567274294],[-4.5805180078903875,48.31953640425027],[-4.553173678040408,48.33877871593713],[-4.545322996139177,48.32453014489154],[-4.552688342449066,48.29433138900056],[-4.535044973995933,48.28408016653001],[-4.51791127193264,48.29532344340755],[-4.502598847108407,48.28086108393083],[-4.455054516900592,48.292768680960236],[-4.423778354693354,48.291677200748616],[-4.4121268947877414,48.27743520886878],[-4.384499553201252,48.27515572709832],[-4.338007897909741,48.28559363845158],[-4.308030328849242,48.29716811390846],[-4.271673566367982,48.29591729189257],[-4.261871578053853,48.27947084714217],[-4.223087545336637,48.296299071102354],[-4.281228861951339,48.314447470573086],[-4.328634688910267,48.31488418033181],[-4.316134692309666,48.335818592679146],[-4.367224196551887,48.34371171314183],[-4.375256083838373,48.32630324311795],[-4.442251665475733,48.32677107157494],[-4.443889468046649,48.34883595893029],[-4.402940735996712,48.390022498012094],[-4.424948261340765,48.397597431903],[-4.435282416373567,48.38339288656854],[-4.458114014938408,48.385867352822785],[-4.5070286895447,48.375178986581524],[-4.538022709122905,48.357127206507],[-4.54966862065911,48.362005158047474],[-4.608723907528041,48.33788748522352],[-4.628097678951578,48.33751415715651],[-4.678429988988318,48.35543131935038],[-4.69483398347226,48.35279072707112],[-4.707560306796703,48.33232585661272],[-4.7722963997844206,48.329183978768505],[-4.769925202904266,48.361796246678736],[-4.760909970272357,48.37274934621913],[-4.774449224429342,48.389388669092874],[-4.773685539184036,48.40492512169256],[-4.79490980371592,48.41306522400434],[-4.778308286782586,48.44933411185572],[-4.759049827922969,48.47040485137466],[-4.777001937365527,48.50311695180772],[-4.757988885564184,48.52093310825663],[-4.762396097201912,48.530913179201654],[-4.730582004767845,48.556349210517865],[-4.704749488588449,48.56897618289027],[-4.681095549020893,48.56731997011509],[-4.627815146836776,48.57891940354545],[-4.6098896150813555,48.575823083209116],[-4.590772268866488,48.59402847039412],[-4.562764141371104,48.59817521227606],[-4.557624352657544,48.623470387580625],[-4.519579706212667,48.63461429836846],[-4.501808596546954,48.621190515057386],[-4.431795383056437,48.635233047605645],[-4.417756994812844,48.65471295900724],[-4.398044453426728,48.65561657189681],[-4.35001885330614,48.67651959770488],[-4.3167824361752904,48.67199333723616],[-4.271733741368674,48.64950099695784],[-4.223767566780155,48.648361716153644],[-4.209602839214799,48.67044798555623],[-4.186935690423405,48.68646122790089],[-4.1089633691562515,48.69443456873133],[-4.057584711672935,48.689257976253764],[-4.0534274992711286,48.7032941013924],[-4.032990823785386,48.71270325427199],[-4.0005346564303155,48.71162801931488],[-3.9834396203178497,48.72630319219002],[-3.9668110875090608,48.7196296260678],[-3.973629366481163,48.70388914743309],[-3.9694817850407995,48.67541780327085],[-3.9494614719873633,48.65286849015005],[-3.9035069777805154,48.66440380162745],[-3.8895722831453385,48.64166403341278],[-3.845544973771357,48.62696293321332],[-3.8562366572284197,48.64905420905967],[-3.8458155271587935,48.66164492704556],[-3.8544747780529227,48.68637205322022],[-3.820777313163899,48.701354575208065],[-3.7874874253592217,48.70179551925303],[-3.765699137667055,48.70888608345991],[-3.7332511605024314,48.70742218765922],[-3.702432092334233,48.69038564489073],[-3.6591595380103863,48.69489143579908],[-3.642801218211254,48.672120238447434],[-3.6591438196705743,48.659209780669244]]]]},"properties":{"code":"29","nom":"Finist\u00e8re"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.573411068108614,42.38140571205032],[8.594967598626758,42.370442888773276],[8.640801666424288,42.373436353833],[8.650412807593723,42.36235593170432],[8.681978913121439,42.358465400722466],[8.68321233664994,42.348405991522625],[8.715164693117954,42.34731408789375],[8.759078812317421,42.33804006429769],[8.770887277733078,42.324764827713246],[8.819561377056067,42.317558041882876],[8.861675727165986,42.32811167142221],[8.859024483697455,42.29995020570288],[8.87520921911696,42.29428830686922],[8.881953886518218,42.27178078880156],[8.904766989145307,42.253859280700944],[8.933097537277835,42.25043111224553],[8.947076130982284,42.23422817213641],[8.973044637723564,42.232597522891176],[8.991464818157644,42.216579484852076],[9.024603276811161,42.20363389421303],[9.04565931380628,42.206923431408285],[9.050611468499882,42.17000397791563],[9.064131426559902,42.166950715680095],[9.08185038106952,42.1259098454875],[9.123403164538574,42.10551607054204],[9.13482913062442,42.08700036410981],[9.130916384150003,42.05440439115911],[9.161526350789277,42.024930468066465],[9.188367061229057,42.03108582200928],[9.221084024655989,42.02759696053908],[9.223140183667368,41.95046593535651],[9.230490115935124,41.932324073627385],[9.220925415083576,41.9218761454385],[9.248804246301058,41.908855875310024],[9.25220736357214,41.898984720376],[9.234965106156862,41.87934237596686],[9.22749739090474,41.85558903234784],[9.236915461534869,41.84652580746613],[9.270702639104186,41.840591858357556],[9.301434820029463,41.84490426472732],[9.309095237783188,41.832145235940885],[9.329474334205734,41.83678041560044],[9.37190803582647,41.86500821735677],[9.40226832441199,41.858698242272276],[9.406272769840172,41.82236027573807],[9.394129959534725,41.79894602702587],[9.40804423486613,41.765964137404545],[9.399816891537837,41.692798815395356],[9.372306452198895,41.67882801196141],[9.3867990309586,41.66013485456259],[9.370050242610121,41.63650941542051],[9.354744447894907,41.64070711833988],[9.336739554234802,41.6215416098364],[9.287840387799415,41.60914794779935],[9.29567773050855,41.58331885207275],[9.318350951823037,41.60473961141595],[9.342535240446413,41.594200027915484],[9.365038855194317,41.596441470607836],[9.340900099192766,41.559245310577836],[9.30264040024383,41.54562427007991],[9.283924696074152,41.52045330843586],[9.275938375380612,41.496440290295695],[9.28564621195539,41.481455763871594],[9.256106433634463,41.45544645978787],[9.223954643701347,41.44249242165367],[9.226384203660677,41.41695973685865],[9.2502303450001,41.4084598048058],[9.217973376538382,41.36822599455603],[9.179838238258498,41.36705499317599],[9.167240749781808,41.385592289043764],[9.148965906928566,41.38520002286676],[9.123343747407722,41.39749027875982],[9.092348336772952,41.39866884973409],[9.104353270113341,41.4255060819188],[9.097269216996475,41.44376682791671],[9.074312339266525,41.44292158486769],[9.039677264505034,41.46863417186722],[9.0227210321415,41.46376611394031],[8.99284982541176,41.48539712661482],[8.959459141628432,41.49213642659868],[8.921974806573186,41.49333335996221],[8.91474945736704,41.50721159848068],[8.884614957295412,41.50507147381323],[8.877812471356815,41.523794319360206],[8.852559366284032,41.53340920646009],[8.839699710816092,41.54602923754972],[8.82073184232227,41.545714667370824],[8.800523477489595,41.57188276189636],[8.775873328951134,41.59168224390554],[8.789698855828817,41.605741813229336],[8.793554350339635,41.62955326123481],[8.821776132159119,41.63009123019617],[8.850720584313095,41.64641263412892],[8.869502509562649,41.64609463570318],[8.880911938109922,41.66809704399582],[8.915782780480423,41.68156786818509],[8.914509146058741,41.68972719719775],[8.841281825467787,41.69754888764182],[8.812716636350928,41.71412605870484],[8.773461665894612,41.71202820764472],[8.78400108030721,41.73521507782763],[8.77244949030242,41.74151395397478],[8.721540704721875,41.724158153889434],[8.686037575634304,41.748045833798216],[8.713140775389308,41.760833711858524],[8.730281258947743,41.776823799920166],[8.70924681599125,41.79940893302203],[8.740535859236362,41.80060842998491],[8.770981055994985,41.811121572150675],[8.784393807344568,41.830407894413874],[8.790279130273717,41.86641909560435],[8.779265166063484,41.88361463279185],[8.802495279594497,41.89037396990991],[8.780329131904372,41.924549684275014],[8.740124001713054,41.92079895025009],[8.717470184551035,41.90771623226959],[8.671249490634217,41.90478838139739],[8.641453371512307,41.90989807542862],[8.613429079275429,41.9012604850547],[8.620491915709744,41.92638143385013],[8.59770740264425,41.95324242752227],[8.614841081409581,41.97132815848069],[8.646060498119223,41.96813286974832],[8.665774103171897,41.978579613548604],[8.656419834192247,42.00934596433834],[8.690325750960795,42.02759574803638],[8.702100729051129,42.02667306302128],[8.741332481964943,42.04090929509705],[8.739158783588737,42.06270232429793],[8.719858223120928,42.063513495459055],[8.71025694439948,42.09582422568561],[8.683317701085334,42.10767939043072],[8.658338303250986,42.10633293826876],[8.647011374442783,42.121135348279964],[8.62381016858365,42.12310886026918],[8.577473591502791,42.15655723250558],[8.590170524060465,42.16388769237882],[8.578216021601701,42.188552849158576],[8.581385985210854,42.20594433664427],[8.56099542798187,42.23688048012684],[8.615721768949843,42.253944800849766],[8.689105710448825,42.26352397175119],[8.690120554846226,42.27821075076003],[8.65998027654801,42.30242037262011],[8.637554534466465,42.30184726505929],[8.62490287547782,42.3121592221741],[8.628148233048128,42.338703487843894],[8.614873875271428,42.349587758831014],[8.59038224862291,42.35235664185015],[8.562054289065225,42.33282223020302],[8.551790417379964,42.34737867747405],[8.573411068108614,42.38140571205032]]]},"properties":{"code":"20","nom":"Corse"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[9.40226832441199,41.858698242272276],[9.37190803582647,41.86500821735677],[9.329474334205734,41.83678041560044],[9.309095237783188,41.832145235940885],[9.301434820029463,41.84490426472732],[9.270702639104186,41.840591858357556],[9.236915461534869,41.84652580746613],[9.22749739090474,41.85558903234784],[9.234965106156862,41.87934237596686],[9.25220736357214,41.898984720376],[9.248804246301058,41.908855875310024],[9.220925415083576,41.9218761454385],[9.230490115935124,41.932324073627385],[9.223140183667368,41.95046593535651],[9.221084024655989,42.02759696053908],[9.188367061229057,42.03108582200928],[9.161526350789277,42.024930468066465],[9.130916384150003,42.05440439115911],[9.13482913062442,42.08700036410981],[9.123403164538574,42.10551607054204],[9.08185038106952,42.1259098454875],[9.064131426559902,42.166950715680095],[9.050611468499882,42.17000397791563],[9.04565931380628,42.206923431408285],[9.024603276811161,42.20363389421303],[8.991464818157644,42.216579484852076],[8.973044637723564,42.232597522891176],[8.947076130982284,42.23422817213641],[8.933097537277835,42.25043111224553],[8.904766989145307,42.253859280700944],[8.881953886518218,42.27178078880156],[8.87520921911696,42.29428830686922],[8.859024483697455,42.29995020570288],[8.861675727165986,42.32811167142221],[8.819561377056067,42.317558041882876],[8.770887277733078,42.324764827713246],[8.759078812317421,42.33804006429769],[8.715164693117954,42.34731408789375],[8.68321233664994,42.348405991522625],[8.681978913121439,42.358465400722466],[8.650412807593723,42.36235593170432],[8.640801666424288,42.373436353833],[8.594967598626758,42.370442888773276],[8.573411068108614,42.38140571205032],[8.608843089791446,42.38638181068826],[8.608422093704315,42.416825413431944],[8.623443614293404,42.421015734058656],[8.655236173325635,42.41573491228313],[8.67479692494207,42.47624538852454],[8.664552800602856,42.4929949414802],[8.665497159436656,42.51362834780463],[8.696840811820111,42.52558454397895],[8.71045001223845,42.52370248684714],[8.720517193362127,42.55564630552545],[8.756417557530522,42.570659862791466],[8.760441827402945,42.55857137100389],[8.787065945635801,42.55803097954457],[8.804094980454654,42.569860341632605],[8.808932860020777,42.599055946968434],[8.87503956071919,42.61316864013493],[8.881531586278046,42.62934512068445],[8.902416916945402,42.62713736501694],[8.918133832632359,42.63690557613399],[8.94178034180466,42.63409527809801],[9.010380292350433,42.64035285104823],[9.061821349825943,42.66509048310729],[9.053801584912287,42.67995503339286],[9.085757984829678,42.714606767529766],[9.124558531022126,42.731635182878094],[9.168148283828739,42.73637983567517],[9.19805748276381,42.724981437235],[9.220663922308333,42.73560950529737],[9.293321757624451,42.67431591000078],[9.32260417864183,42.69810306283922],[9.32247464967814,42.71680913865703],[9.3451446458748,42.73666315749103],[9.337520755219344,42.765033852323455],[9.340204735886463,42.800597016108405],[9.311621298469504,42.829728091907505],[9.331968178166248,42.87026782937916],[9.322219609930274,42.899631062547094],[9.347705223407253,42.91305574845976],[9.358875948356951,42.94492748470534],[9.340869996691138,42.99446130565274],[9.359044857554936,43.006721643949774],[9.413672465126256,43.00653079400656],[9.463553614767086,42.98640316480421],[9.451876286538043,42.964357928208706],[9.466129664769332,42.9409504747163],[9.469036245492854,42.90508876257289],[9.48223146636352,42.86451840047255],[9.491086000893741,42.79496852775402],[9.47207892681302,42.7705337050651],[9.446187747709702,42.67357644963208],[9.474879109198852,42.62483253404349],[9.514827798261265,42.58472928229309],[9.527302925634157,42.566105171529315],[9.53474359181352,42.523009178263784],[9.529616852014632,42.489443970187914],[9.54134697029719,42.455927275892016],[9.543397471188387,42.428489580925785],[9.532439507617266,42.38377840928965],[9.537662619936489,42.34360270025531],[9.559720920174655,42.281366796993574],[9.552574586239787,42.23523928410182],[9.558966860048981,42.19643769306218],[9.556601094642179,42.14214728519851],[9.549983013016067,42.104163972329616],[9.530222254216497,42.08620807802025],[9.466958564261997,42.01274493764188],[9.441543252653778,41.98975134561307],[9.41378283019094,41.95570089844187],[9.415949003320323,41.927960722873955],[9.397017056900047,41.87461789997752],[9.40226832441199,41.858698242272276]]]},"properties":{"code":"20","nom":"Corse"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.373648044830684,44.170755872105644],[3.4308257080086695,44.14799915248837],[3.4397298934659637,44.12909826593223],[3.4814122244595582,44.12400876421138],[3.505848181205205,44.12627491460725],[3.5464898950428156,44.11382085664054],[3.5683776807910426,44.12255725261015],[3.607405064801489,44.116029399262366],[3.632837509244816,44.12122297377445],[3.637535082199747,44.1758044419647],[3.6577924199864618,44.17331757538967],[3.6835417745626877,44.18049607631633],[3.706247388904811,44.16469033158088],[3.72562362185747,44.164239828951345],[3.762454627385766,44.148796144815584],[3.7969951126604835,44.127389079486896],[3.8224027407450274,44.13619346399231],[3.8720717351442726,44.12886978328462],[3.894888943932836,44.14779538799471],[3.9526044819739092,44.170793726068595],[3.959878514814277,44.191253656704994],[3.9387003573911197,44.19367822410952],[3.9501597790209626,44.223545860744586],[3.9461674161736497,44.242375852165004],[3.973127020352843,44.2525823769431],[3.956793721250768,44.27180072553845],[3.9355689182657865,44.2747470409525],[3.9362541551640287,44.29349216194984],[3.922858913740669,44.30521794102567],[3.9446647587995822,44.31912094308078],[3.9127709736236946,44.36850586796493],[3.8859181039452233,44.38799905234691],[3.9079213910830926,44.4026196632778],[3.944362317344653,44.39956750349231],[3.961144148606084,44.41397029137253],[3.9762196820180424,44.441115482032224],[3.998162987763964,44.45979755586323],[4.037601702020996,44.44572224016011],[4.047796695540712,44.41806858494041],[4.068441217053273,44.40511357294197],[4.052980345425569,44.3786960081517],[4.053413964443739,44.339252388242215],[4.0368642122249785,44.330767432006844],[4.051451662788466,44.31732365711701],[4.0716271173670755,44.327301470845015],[4.126751899132338,44.33773352004587],[4.142867700090412,44.31335085540006],[4.177742579074996,44.317880186655266],[4.186703448446319,44.299689052797774],[4.215253431785848,44.290671875558495],[4.241323541622981,44.270098246787754],[4.25884619798255,44.26478557642796],[4.277460812236595,44.27473441763758],[4.2894083121626245,44.293211983267184],[4.288429093459214,44.314658540974904],[4.321723881147898,44.32398630005241],[4.336073225463424,44.339522743700286],[4.366781304696769,44.339496632938484],[4.386524834610318,44.346613952796865],[4.403209845144098,44.33389735712032],[4.390787503015712,44.30304942711613],[4.398976853249833,44.288946280259694],[4.432780130031507,44.28698938355873],[4.448416311728308,44.29660651655647],[4.4511432681787,44.33458990256618],[4.45762136443186,44.34163465741125],[4.503310494319003,44.339246206238236],[4.54446827908279,44.320768740097236],[4.5569412251008385,44.30414412850996],[4.606815593785338,44.290470941442756],[4.61814481108176,44.278546617366906],[4.638060170291897,44.28296923867679],[4.649223666100485,44.270359865010946],[4.654069363595851,44.25434245648795],[4.674835744164297,44.23855142877028],[4.676647952353196,44.212568030429516],[4.706545407713171,44.21443008164891],[4.705782650078868,44.192789712499234],[4.722074664233516,44.18742154948267],[4.707458356688192,44.10367246401244],[4.730134251131141,44.0790279145671],[4.757852990967429,44.07724513689432],[4.787978024928094,44.06505409747017],[4.789122145192578,44.05219781937887],[4.8376753047986,44.01494231096372],[4.842106431474998,43.98647433852841],[4.8159847814707275,43.98880175042401],[4.815061095574236,43.96762596960125],[4.779022226905269,43.937890875835855],[4.739060856654237,43.92405947349057],[4.723369654284791,43.90595389117946],[4.693327338994554,43.88497348729056],[4.641909591242105,43.86747754714164],[4.666304849946619,43.84477593971714],[4.6424160670333485,43.83143872315902],[4.654752667357286,43.80231435958277],[4.6512411791496495,43.782277934314685],[4.62998556436456,43.76267064663956],[4.613635008064088,43.72981961114202],[4.613036230103559,43.71429404725378],[4.627660521184518,43.69054089775907],[4.5930322483013235,43.687462402972955],[4.58188049548336,43.696373117975405],[4.5369411541005595,43.70751108523803],[4.487236861293796,43.6992377666192],[4.475496620134662,43.67109343801706],[4.4542439312837825,43.66662787515181],[4.427040425527008,43.62067740923795],[4.439746618135546,43.61067366667502],[4.475231595661822,43.60829885495057],[4.450257392496214,43.58355447784505],[4.425539875574249,43.5852225597615],[4.409349673740097,43.5611278006361],[4.353650066858599,43.54739365400947],[4.295851866824911,43.51453493286982],[4.239683975737728,43.499174558069626],[4.230283393392478,43.46018543272639],[4.165622110206285,43.47191333107422],[4.12719685937579,43.48945145875348],[4.116910879157792,43.508975353807415],[4.13888058730906,43.53212392513865],[4.1010416754063925,43.55437094640862],[4.109405863103809,43.568485089709014],[4.098910460898469,43.58523878512484],[4.124013506161594,43.58895024124645],[4.168767208555132,43.609030770419295],[4.19101716179093,43.63923214645544],[4.194485354419471,43.653448436512676],[4.162849158006259,43.68732177934626],[4.163624537724226,43.70657178584523],[4.144780927023585,43.73388653553411],[4.114038963229966,43.73774213316613],[4.085559128122547,43.767493809895264],[4.054004107876562,43.77221337157522],[4.053530448080167,43.78560921749941],[4.002046166191344,43.81146444231582],[3.974348495402355,43.80147398295832],[3.9617205831596944,43.8167773461929],[3.9725832619500827,43.83722722610361],[3.922097434480497,43.85838300161044],[3.919593011194314,43.88129069251848],[3.858311217120308,43.87706482556825],[3.849320972386986,43.86820739246809],[3.8060678269182384,43.87790410064622],[3.799542371073363,43.89081274352567],[3.8290153156909916,43.92451362259504],[3.820307051180645,43.942408448784796],[3.7964825512716502,43.9435656989855],[3.783735333757727,43.96771518482477],[3.743769681529186,43.9666083634669],[3.7321754924092114,43.97201470844574],[3.6823066705348104,43.947443190978206],[3.672466832939281,43.91160371751443],[3.6235886150953553,43.91697856675755],[3.5754482408134063,43.865522240877404],[3.5994166278303736,43.85472891826037],[3.5778543279413246,43.84392003202783],[3.5307009207380955,43.85562471396163],[3.5232801410108805,43.88592559562791],[3.5133433004920533,43.89620522669112],[3.4825869494241135,43.88988383609219],[3.462718642490944,43.87205197750373],[3.431373451816578,43.87257632839371],[3.4393061475282316,43.89791410822335],[3.4244480676686226,43.911598168447306],[3.3583594413044624,43.913832893255005],[3.3515992359998137,43.93803681173031],[3.3781609146564224,43.967548345837926],[3.4054945930695584,43.9702673408017],[3.420487392791084,43.99414155773302],[3.439167690806169,43.99803716044466],[3.449940594755056,44.020259628606446],[3.4323231338542683,44.03257989364055],[3.3670810890076868,44.058216824075586],[3.3407758500745954,44.05682580426664],[3.3289104186209886,44.079029903874805],[3.290256259022499,44.07173186446177],[3.2640453082464216,44.09159000805124],[3.3243979232334686,44.11534226731356],[3.3202909661039373,44.13590273654235],[3.3360602348274,44.15867236265549],[3.373648044830684,44.170755872105644]]]},"properties":{"code":"30","nom":"Gard"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.9539831166064948,43.78737246570886],[0.9777987859720318,43.7864397525409],[0.9910444477374416,43.797045697236534],[1.0361954975370666,43.804232715802144],[1.0591319349426427,43.798594472191574],[1.0808172102613443,43.81306583616325],[1.1124096388582891,43.79707276987681],[1.126079238294049,43.80959552989913],[1.1577904338124643,43.81838124698653],[1.1798084884492999,43.7952937589264],[1.2161233635195094,43.791159600168356],[1.2192055591403763,43.7707867235541],[1.2666508924183946,43.78318101448264],[1.2676345847416235,43.79377274514794],[1.311084838455899,43.800602295519234],[1.3600316395881045,43.81720012311376],[1.3572704568738654,43.83369324204132],[1.328030911759578,43.83816349035954],[1.3137064308190725,43.8322272891667],[1.2965943993985685,43.847335316271405],[1.3626018809802545,43.85723006032639],[1.349235626213503,43.871655526938696],[1.374917030255939,43.8843365489393],[1.4086035229055638,43.88264557304525],[1.418934148647794,43.87135534680213],[1.4529636675835562,43.87502936555188],[1.47466252365823,43.90211274166312],[1.4907818788063523,43.888997239785134],[1.5233234997345355,43.90360072658564],[1.53278908620992,43.92135227933209],[1.5556171726831822,43.91831715512138],[1.5466741254835874,43.90227582964282],[1.5604448006284883,43.88193633936389],[1.5595369144011864,43.86612807085979],[1.5725847390862493,43.84880231415562],[1.593170425533653,43.843138372370525],[1.5902324934871344,43.81453310403227],[1.6264959472746285,43.80130658412972],[1.6447876270393125,43.80025749535743],[1.6424989428665737,43.77836778877496],[1.655698865700349,43.76426648219855],[1.6499189090514812,43.75186514404521],[1.7000226658018673,43.725322579061185],[1.7072267665260739,43.71239499211101],[1.6689046629721764,43.70425646859944],[1.663572654706257,43.694057655631546],[1.71671390955716,43.68932470041024],[1.7308693816067124,43.65775037692843],[1.7056013351461534,43.65256600106776],[1.687771093611741,43.63070037401986],[1.7450478782076964,43.603462190630566],[1.7639547679681267,43.603570939255114],[1.7794523688032238,43.586981588268245],[1.8334565523038187,43.57823452761835],[1.8494522810871268,43.56754406011732],[1.850708886716764,43.54928175630703],[1.8804140168444965,43.540315043888405],[1.893376989480592,43.511429254268904],[1.9169530392384777,43.501607534442506],[1.9560763206968899,43.494064073594906],[1.9899972756684245,43.47746968529684],[2.0102344593980876,43.48184918070482],[2.015050754536418,43.5043691931112],[2.037543768971243,43.50685651452312],[2.0482899751352006,43.48572590288188],[2.0181412825331915,43.47035021960434],[2.0138097404810105,43.44990469289765],[2.0291328387973606,43.43689796484212],[2.013251174841698,43.41479228000688],[1.9882982689321873,43.40760727642704],[1.9563832142288617,43.42542487943702],[1.9321973483656796,43.42425346114769],[1.9030825485451017,43.40648077638579],[1.8961151188637693,43.418448380585566],[1.8587429714302222,43.443820891217364],[1.8275744264204186,43.41839399539007],[1.8040846789340412,43.39168480485615],[1.8042058556067164,43.35792861707674],[1.7722726989104796,43.33697670685812],[1.7560895669919805,43.347786239580316],[1.72381890913847,43.32974907649138],[1.7264566850126617,43.31355860790404],[1.7041401191232926,43.302731061004685],[1.7083882204712093,43.29126593638564],[1.6884197209147511,43.27355372810048],[1.674798339388505,43.28121472293003],[1.637330392962705,43.255476822404304],[1.602045022703857,43.265966045322976],[1.5475200495883703,43.27567426925568],[1.5187255867607068,43.26917438445627],[1.517589782341532,43.28942028243403],[1.4962195339449893,43.29276893893769],[1.489433194310029,43.25842220794179],[1.504462615387652,43.24943643931495],[1.5046005088805332,43.22131429070002],[1.4845439726661527,43.226162777288515],[1.4703750181603599,43.21207194480044],[1.4479297220390106,43.2128941335395],[1.417617895565898,43.227838739549625],[1.4253606535844838,43.256571535866705],[1.4114797701413646,43.270269012569514],[1.3497399802929155,43.31601406526464],[1.3239682844769867,43.30940019027638],[1.3180291746094754,43.29589235276595],[1.2925309175036508,43.28836637975412],[1.3083430062252406,43.26452855969102],[1.3306718864082818,43.26256355573771],[1.332370877192311,43.248931806901766],[1.3667896677356772,43.2418101294384],[1.3827658374979088,43.228123061206055],[1.3743734334754012,43.21374576570538],[1.3441516514601857,43.210695251898116],[1.3200644605867593,43.19008881581775],[1.274066147426889,43.19622758930005],[1.243672974766193,43.18955616855956],[1.2139801500053244,43.16243740075925],[1.2189486150323017,43.15316275519517],[1.2743729840086873,43.144383453050935],[1.2914479372138445,43.12411619713413],[1.2808453772316608,43.11141550841685],[1.2600621395015414,43.10918367913112],[1.2615510081488481,43.09151179346513],[1.2236282372389116,43.086062046332636],[1.2087344680123453,43.11795105080988],[1.1749842663258816,43.14097449686551],[1.1623107695613917,43.13229310791629],[1.1321077536262771,43.15194534202816],[1.0898382360674839,43.141811753194446],[1.0597948169991893,43.1407984031395],[1.0388356827344098,43.100552820032235],[1.0185271263876248,43.107387874976396],[0.9909145410998831,43.09277803898931],[1.0052536354583397,43.08066466566629],[0.9856931292491957,43.06291853162641],[0.9867409563385678,43.02750002800353],[1.0162603018777892,43.01021732861986],[1.0013417692542665,43.002384225909054],[0.9791013887263271,42.97443096191435],[0.9124553143730214,42.95939313750352],[0.8749113719387422,42.957775746315285],[0.8853071428027446,42.93602990091024],[0.8735856733231423,42.92679338211308],[0.8446280617921965,42.9259553847581],[0.8261273850230597,42.91428331470268],[0.8429206845448278,42.88857838383233],[0.8598831874145956,42.83829919038498],[0.8583056667230173,42.82571908908446],[0.8014829737147933,42.840482516254525],[0.786497752721584,42.835955365811344],[0.7377189409040268,42.84872835147501],[0.708377779630982,42.86140184526933],[0.6590147498491514,42.838529465460994],[0.6698627393614355,42.82438101654399],[0.6705882589690579,42.80475875717359],[0.6445405045620645,42.78307646581688],[0.6503239309882353,42.76416869986073],[0.6822635276176596,42.70896825363519],[0.6705736143224804,42.68989711626274],[0.607646803436206,42.69905996655662],[0.5868270391623184,42.69500344995768],[0.5296137950834886,42.702684358976896],[0.5185245887513461,42.691876177213395],[0.47774954032737066,42.69999034279792],[0.4845912327562892,42.70987563691782],[0.4550942250736491,42.728060641999555],[0.46339485659012236,42.75961776986063],[0.45587668333542497,42.769893094701686],[0.4631381823278041,42.79013609203236],[0.45645030119577185,42.81819976680441],[0.4773565901163487,42.87824375089618],[0.5324055542379432,42.863293191606644],[0.5598104479575664,42.86131086278569],[0.5759351469518764,42.870825923039746],[0.5865354938150936,42.899764469600925],[0.6060586556910943,42.93436290905924],[0.6419907184981635,42.95287272899541],[0.645536953415737,42.96206456656776],[0.6188348311181961,42.972417013199525],[0.6116327283329046,42.98841659996602],[0.6274179241908862,43.00010287323426],[0.6080473328079602,43.034009064146474],[0.5918253760443509,43.022372936614325],[0.5673867928980146,43.02086035561931],[0.5412081928415171,43.001720551955394],[0.5341218546281855,43.01498318247417],[0.5379303286735891,43.041641647509145],[0.5652571210979821,43.04118358284234],[0.5573359728300217,43.066396922958404],[0.533134473195984,43.08279812294234],[0.5322696523895433,43.093864488407256],[0.46394373544501977,43.117816246348056],[0.4419985587106282,43.13127313187027],[0.4700411050323527,43.15730371100298],[0.4878146424725309,43.16525164014629],[0.515732011440808,43.189611401008044],[0.5173856740584795,43.212372971316064],[0.5518748957180641,43.20914713009289],[0.5738333078065921,43.22033420729316],[0.5511319943370407,43.236236596459726],[0.6183078501522927,43.29035045829162],[0.6357239806030284,43.300074553718005],[0.6068109749570959,43.310885991585494],[0.6456712299650619,43.31206330707761],[0.6693654275735994,43.324708346706295],[0.7175914463388228,43.376630810082574],[0.733730472605264,43.37096706524623],[0.7455585564051908,43.39499187362083],[0.7704216393342749,43.4168097427721],[0.8063000758469085,43.39997470202246],[0.8205416805525511,43.41697502257888],[0.8444010068380974,43.40988373774269],[0.8624052826149649,43.41471351563584],[0.8948859188377402,43.4052792090662],[0.9172511345137194,43.40633268927769],[0.9416846595723644,43.38408549124462],[0.9643403785279276,43.386475780857246],[0.9780837577086212,43.36265170654419],[1.0024979781750354,43.377080651683535],[0.9937847184126083,43.40798472527798],[1.02278785655839,43.41170392033953],[1.0190323220764022,43.43079483892832],[1.0321604609431316,43.440852444747534],[1.0399574087550072,43.46285347872525],[1.0221951427122764,43.479243133371575],[1.0518532839588568,43.48698884399707],[1.0608961902495995,43.5127821423026],[1.0578193301966023,43.52698286709649],[1.0718141320185244,43.546348314375535],[1.0970817946149973,43.533222452089504],[1.1250779695020832,43.55436438795678],[1.1543767194578116,43.55757543303593],[1.1640382379592968,43.57239102182334],[1.199342708925358,43.56918429556797],[1.2013370084855526,43.594812955020146],[1.1809652008406388,43.61400383428095],[1.1581444988078047,43.60561827536576],[1.130581177959073,43.642651776415875],[1.1148256080508376,43.636718418209675],[1.0876957388199562,43.64497503168885],[1.0509823342326547,43.677823838616014],[1.06415307016496,43.70277548531269],[1.006928222163991,43.72890805398772],[0.9688276136449294,43.75915093896533],[0.9539831166064948,43.78737246570886]]]},"properties":{"code":"31","nom":"Haute-Garonne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.07604560969926086,43.98314313658291],[0.14096031674824933,43.99467654310261],[0.1379369703469956,43.976883130578564],[0.1634750890689333,43.975927867916795],[0.1667631974496389,43.99683417955631],[0.18957513112649763,44.014641710019696],[0.22470724318893848,44.019168066012675],[0.23519766394983782,44.00847404202415],[0.299563922705621,43.99275637569358],[0.3575675314065643,44.01637987419657],[0.3815242105137543,44.00637522428769],[0.39446331623218994,44.01998446971625],[0.44244991475496404,44.0287619833259],[0.4595156323439905,44.05523744897399],[0.4858132156850541,44.058600121652084],[0.5384274746319986,44.05295246662407],[0.5650779969821476,44.059221404780686],[0.5765096062579593,44.075205934881076],[0.6022274135910171,44.07371011611412],[0.6278895165319084,44.06062754308569],[0.6316490534555541,44.04949866816937],[0.6770868392750434,44.02697200478653],[0.6876624158684242,44.045888241623125],[0.707796417778404,44.05801693922403],[0.7418847912050018,44.06519923501575],[0.759648653180342,44.049474350183324],[0.7640478940656028,44.0296390768852],[0.8273513279716257,44.05525093595275],[0.8578678740058554,44.03490133585646],[0.835544710660537,44.024621299340474],[0.8136473846848539,44.024906180353696],[0.8277030720805598,43.99957154660625],[0.796774360578817,43.97561613750477],[0.7845407712528714,43.9558047755343],[0.7601497122296061,43.945349940213774],[0.7706960292642194,43.92228348891115],[0.8092979458979879,43.9323016655978],[0.840062943234885,43.9163310081733],[0.8635672395335378,43.923563445790464],[0.8898495576086674,43.90333223113469],[0.8834946132400759,43.87525629317644],[0.8994393128667493,43.86469845813272],[0.895421911527158,43.840341795321024],[0.9258616635111263,43.83162570191422],[0.9016078422827867,43.803642278388125],[0.9225087136116431,43.792160090217415],[0.9539831166064948,43.78737246570886],[0.9688276136449294,43.75915093896533],[1.006928222163991,43.72890805398772],[1.06415307016496,43.70277548531269],[1.0509823342326547,43.677823838616014],[1.0876957388199562,43.64497503168885],[1.1148256080508376,43.636718418209675],[1.130581177959073,43.642651776415875],[1.1581444988078047,43.60561827536576],[1.1809652008406388,43.61400383428095],[1.2013370084855526,43.594812955020146],[1.199342708925358,43.56918429556797],[1.1640382379592968,43.57239102182334],[1.1543767194578116,43.55757543303593],[1.1250779695020832,43.55436438795678],[1.0970817946149973,43.533222452089504],[1.0718141320185244,43.546348314375535],[1.0578193301966023,43.52698286709649],[1.0608961902495995,43.5127821423026],[1.0518532839588568,43.48698884399707],[1.0221951427122764,43.479243133371575],[1.0399574087550072,43.46285347872525],[1.0321604609431316,43.440852444747534],[1.0190323220764022,43.43079483892832],[1.02278785655839,43.41170392033953],[0.9937847184126083,43.40798472527798],[1.0024979781750354,43.377080651683535],[0.9780837577086212,43.36265170654419],[0.9643403785279276,43.386475780857246],[0.9416846595723644,43.38408549124462],[0.9172511345137194,43.40633268927769],[0.8948859188377402,43.4052792090662],[0.8624052826149649,43.41471351563584],[0.8444010068380974,43.40988373774269],[0.8205416805525511,43.41697502257888],[0.8063000758469085,43.39997470202246],[0.7704216393342749,43.4168097427721],[0.7455585564051908,43.39499187362083],[0.733730472605264,43.37096706524623],[0.7175914463388228,43.376630810082574],[0.6693654275735994,43.324708346706295],[0.6456712299650619,43.31206330707761],[0.6068109749570959,43.310885991585494],[0.5474473878405767,43.329319731373445],[0.5043244698794473,43.333508245170144],[0.49803381879209657,43.32618057240136],[0.44498008716314374,43.340735933546554],[0.4430328988271061,43.32792703588786],[0.3957284672697182,43.33360258395701],[0.3883410229269578,43.35621468006998],[0.33909513817586934,43.34345707398941],[0.32831696781083425,43.34849301742664],[0.32769435096802535,43.37095370345262],[0.30085675386203575,43.37175476096837],[0.27840649370482956,43.38622497108639],[0.2317041924912655,43.36771211454836],[0.18203121400006392,43.37118267445077],[0.17380494234693045,43.40277225485803],[0.1538629917033123,43.39932405975342],[0.1374594398551805,43.43399175225508],[0.16599704732355133,43.44273636926645],[0.14930802677520033,43.465363039807976],[0.1350017858108604,43.46572396335525],[0.1304678194460616,43.49489917669358],[0.11212423457670333,43.51736991981858],[0.08975008845749399,43.51017249617227],[0.08058083535969605,43.523863090805406],[0.056081443916198466,43.5188072498529],[0.029579566383845242,43.544897297852316],[0.015782134897742738,43.543393230182545],[-0.0019248187812945813,43.56554046143869],[-0.006638780883364193,43.59430394426513],[-0.015780894995830737,43.60465738319822],[-0.07397188111422878,43.60631260105189],[-0.0772195291003595,43.59016567666762],[-0.09678297320877491,43.582405897631695],[-0.12160423721761877,43.58624235445866],[-0.1604496417177948,43.58057113664128],[-0.17292754407472402,43.59364235835892],[-0.20474047168197715,43.583595044006366],[-0.21060677583663345,43.59323717586582],[-0.24283655874306692,43.58497620901365],[-0.2472036903728421,43.615949823145584],[-0.2777099095136678,43.616204272478164],[-0.28211107433706983,43.64307015979027],[-0.243162288337736,43.6545058231693],[-0.23973019201148485,43.67124152201394],[-0.2558984040423508,43.679791305136796],[-0.23910333247309243,43.69394560059394],[-0.2466545863762805,43.71066950060451],[-0.2286074364319675,43.715376271697906],[-0.19414330237233995,43.737016685694684],[-0.20605373558746434,43.7500763289867],[-0.2271397672790903,43.808272976810954],[-0.19246168396068822,43.81017700393666],[-0.19855660923175042,43.86241563374058],[-0.19456201236331316,43.881572646215844],[-0.2344384631811253,43.899006040339785],[-0.200087659676207,43.914834830061565],[-0.17595413172084393,43.936327270993594],[-0.16632109560044633,43.92805052482344],[-0.12468082668137451,43.94434508821349],[-0.07235713337565827,43.946531834485505],[-0.04653101813218577,43.96104391789014],[-0.0361689246680343,43.98374032755233],[0.001446300333196457,43.959885381064026],[0.00420637351659139,43.94342582438924],[-0.01861461418396192,43.9313867432444],[0.030793555000742517,43.9005633671888],[0.05569199596666372,43.8976445612464],[0.07251111881590214,43.91379372164531],[0.07101167271921884,43.93329587806085],[0.05530723606827761,43.957963973072],[0.07604560969926086,43.98314313658291]]]},"properties":{"code":"32","nom":"Gers"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.7188015186962935,45.327417794908314],[-0.6443063251392437,45.322045380590644],[-0.5944806728104985,45.32114282458838],[-0.5689666025873613,45.331523297246314],[-0.5706388485277301,45.299823114254885],[-0.5135928628951079,45.286334723467014],[-0.4862106750078733,45.293564321887025],[-0.4405443881756486,45.283811947310674],[-0.41542471256519675,45.269332661912166],[-0.40842823644582854,45.247807627855394],[-0.42076715723359287,45.20853163878696],[-0.4028499593466693,45.19049531934403],[-0.3971235767306027,45.1703375875983],[-0.3797037928837214,45.155347363684704],[-0.36355979846534786,45.17026408300375],[-0.3383605974453927,45.16688438562319],[-0.32063912086288726,45.156166213658715],[-0.2753589385784497,45.14140091335047],[-0.246841022219567,45.108630449000074],[-0.21824686420972253,45.10643197473333],[-0.18919958385014424,45.094461907846785],[-0.15295329411286412,45.08880721589072],[-0.13063644905467223,45.096672426969135],[-0.11493018897120878,45.11390010810251],[-0.0877028308704419,45.121388836286684],[-0.06357364725413155,45.09914913207582],[-0.04020033978963981,45.102384335963414],[-0.003552786965686552,45.11956999344142],[0.04083219110465748,45.115350817593736],[0.06352711067229469,45.09563292386136],[0.07329671773303688,45.07012096510982],[0.035847937705388945,45.01115004721698],[0.04010873279330704,44.99350460562092],[0.019184278571431145,44.98034965777573],[0.0032479456177751075,44.947439781487724],[0.03436214413600705,44.91546925454322],[-0.021935541227067503,44.850692462395095],[0.018664421295006353,44.849628493830664],[0.046921251109006,44.82458068187802],[0.10655870123187683,44.832720431213495],[0.19284351960714802,44.820802554808736],[0.2062908527795184,44.838781587007574],[0.24120144851108916,44.85652879127665],[0.2376501157602628,44.86924207555338],[0.27905937516440416,44.86697670764365],[0.31506665558289004,44.84541323207388],[0.2840562599933618,44.823659365748206],[0.2637263179027021,44.82627665355831],[0.2742254006482923,44.78339312502083],[0.2973255098237856,44.76228467395237],[0.2557380828743981,44.750109827832176],[0.22538308407055824,44.761938628969595],[0.20145524828961092,44.72314903553606],[0.1941659722396007,44.743134942046765],[0.15300384600842007,44.73048103978557],[0.13340494933362354,44.70463342458088],[0.11781564233279757,44.71279600247887],[0.10217651632957546,44.699261620698685],[0.10990756955468833,44.684238793464466],[0.13439127028221218,44.681785671797996],[0.14155522468909407,44.66553015383226],[0.16217020857686018,44.670520278429166],[0.1826776591534784,44.66107212400698],[0.15503121242167628,44.61515967421126],[0.08618477510895356,44.57628609745734],[0.07072066177634428,44.54932864142863],[0.03685067130235277,44.55377569309968],[0.01809835904410432,44.52978491547094],[-0.015453699893016518,44.505062787136026],[-0.00964812423297182,44.458953045356914],[0.007529968364000282,44.44714235059867],[-0.012027062235710009,44.42216048739268],[-0.002882225353325675,44.40546555102971],[0.018233646559888256,44.389878791845064],[0.014724678596450859,44.36661482670666],[-0.012122430998677084,44.371315036223],[-0.02996839148968028,44.36051961592557],[-0.07881922376705748,44.35369515694866],[-0.08575207965012982,44.33761004988665],[-0.059508100967366126,44.32137184585115],[-0.034811250980738076,44.296725798024596],[-0.03298436987139304,44.271725233652084],[-0.05336184991028127,44.265764926478745],[-0.08804999010961528,44.23886102586299],[-0.12013584466981135,44.23674667953463],[-0.14068847985275829,44.226404747689884],[-0.1664311622268672,44.241645770485846],[-0.17860380229840828,44.26119359476371],[-0.2260044378069046,44.26478415652428],[-0.22344709828329407,44.20589826380183],[-0.2721185290366108,44.19380924623558],[-0.31133609242726,44.20327170097005],[-0.38961736206091696,44.20948462715673],[-0.3962403182108504,44.237695224176385],[-0.38338729038705516,44.28631066773658],[-0.404736006733474,44.28738094305708],[-0.43013450581532475,44.304781669300105],[-0.43183954131517804,44.32257705443087],[-0.47887161721109855,44.32489189867455],[-0.5176354697700613,44.33911112646833],[-0.528103107297291,44.364654043262846],[-0.57097020407163,44.38252695965793],[-0.627647611184293,44.39814566253359],[-0.6287774027434528,44.44319224087455],[-0.6760254579024039,44.45733288174258],[-0.6819329255443941,44.444104603018644],[-0.7307029568976173,44.446374662072536],[-0.7724266413748072,44.4400689012159],[-0.7787977956453461,44.429621612205196],[-0.8124255218387905,44.420432411546486],[-0.8433457118512414,44.41817667183869],[-0.9120213474779492,44.43693794653607],[-0.9191704541834174,44.44334436259599],[-0.9695842480121452,44.429379805191715],[-1.0079983966164947,44.43628954261453],[-0.9806969914576482,44.48287893553743],[-0.9911544881491408,44.511849168147315],[-1.0266309572095953,44.5071249515487],[-1.0851664955491247,44.53219457167761],[-1.1064909647292618,44.502772891337074],[-1.2538901028077145,44.4676042123461],[-1.2517315717900113,44.514864026059136],[-1.2586140715490404,44.547134908509065],[-1.227400657614334,44.57575101363341],[-1.2035061581038056,44.62271377486185],[-1.2041641060667378,44.63998931395565],[-1.1915395677551643,44.660726555771724],[-1.1617602687791189,44.66337536905334],[-1.1407652758832603,44.64722441419704],[-1.080794255404563,44.64060270635637],[-1.0660081141503954,44.646890088823476],[-1.0167859243981427,44.64936614924531],[-1.024772192870524,44.67594768817969],[-1.056012096331499,44.707980341287296],[-1.1066690697160937,44.74264984128815],[-1.1172415691037478,44.74399705140438],[-1.165808013375802,44.77527626694913],[-1.1800101830102927,44.758098157761154],[-1.1738129355689804,44.745358451222856],[-1.2205928890641693,44.709423690526556],[-1.2378317329560085,44.680472950808145],[-1.2462033009619466,44.641861781385515],[-1.262052894231634,44.63219970212472],[-1.251726794177239,44.71201817211294],[-1.2245842811118994,44.853825371133354],[-1.2041211009419968,44.989784597043446],[-1.1902342986818488,45.1076052722213],[-1.1623411294779713,45.297866853836986],[-1.1588809392970065,45.35758854145279],[-1.1605511012170588,45.41069085511738],[-1.1510569561631872,45.44160185108563],[-1.157040252187612,45.47037006217617],[-1.13642305844502,45.510996841105246],[-1.100291537957874,45.54164579436281],[-1.0911993078778204,45.56240962499771],[-1.0608731648946181,45.559687159252995],[-1.0399629327796032,45.53624996681034],[-1.0394312457678239,45.51187047075673],[-1.0052560088445266,45.49288102324259],[-0.9741453673216026,45.46337798565173],[-0.9339187159877002,45.44354638799416],[-0.8975412931164795,45.413920961435664],[-0.8380858049594333,45.37799277602822],[-0.803863792011378,45.3483837452359],[-0.7677088201843572,45.289668398897916],[-0.7511045662834447,45.248111104699966],[-0.7415941186185122,45.18951228689129],[-0.6827151048736609,45.07868957712152],[-0.6531808034769909,45.04997165854475],[-0.6085452595854771,45.01540165572232],[-0.5906665446401641,45.041946989301174],[-0.635943850069436,45.074304489771464],[-0.6522025754037655,45.10762754422008],[-0.6677719424227322,45.12666694807424],[-0.6699486553314091,45.16929377695903],[-0.6882053149295403,45.21937742756459],[-0.7037353439558368,45.283639400976455],[-0.7188015186962935,45.327417794908314]]]},"properties":{"code":"33","nom":"Gironde"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.3583594413044624,43.913832893255005],[3.4244480676686226,43.911598168447306],[3.4393061475282316,43.89791410822335],[3.431373451816578,43.87257632839371],[3.462718642490944,43.87205197750373],[3.4825869494241135,43.88988383609219],[3.5133433004920533,43.89620522669112],[3.5232801410108805,43.88592559562791],[3.5307009207380955,43.85562471396163],[3.5778543279413246,43.84392003202783],[3.5994166278303736,43.85472891826037],[3.5754482408134063,43.865522240877404],[3.6235886150953553,43.91697856675755],[3.672466832939281,43.91160371751443],[3.6823066705348104,43.947443190978206],[3.7321754924092114,43.97201470844574],[3.743769681529186,43.9666083634669],[3.783735333757727,43.96771518482477],[3.7964825512716502,43.9435656989855],[3.820307051180645,43.942408448784796],[3.8290153156909916,43.92451362259504],[3.799542371073363,43.89081274352567],[3.8060678269182384,43.87790410064622],[3.849320972386986,43.86820739246809],[3.858311217120308,43.87706482556825],[3.919593011194314,43.88129069251848],[3.922097434480497,43.85838300161044],[3.9725832619500827,43.83722722610361],[3.9617205831596944,43.8167773461929],[3.974348495402355,43.80147398295832],[4.002046166191344,43.81146444231582],[4.053530448080167,43.78560921749941],[4.054004107876562,43.77221337157522],[4.085559128122547,43.767493809895264],[4.114038963229966,43.73774213316613],[4.144780927023585,43.73388653553411],[4.163624537724226,43.70657178584523],[4.162849158006259,43.68732177934626],[4.194485354419471,43.653448436512676],[4.19101716179093,43.63923214645544],[4.168767208555132,43.609030770419295],[4.124013506161594,43.58895024124645],[4.098910460898469,43.58523878512484],[4.109405863103809,43.568485089709014],[4.1010416754063925,43.55437094640862],[4.056139135742867,43.55754349700192],[4.011185334395634,43.552446652511314],[3.9685779965496257,43.54002202677775],[3.9071342421308484,43.51684377775197],[3.85119536986901,43.486462477159925],[3.796663802013001,43.44103590991042],[3.724916367109535,43.41579045126172],[3.725633295848447,43.40119286766748],[3.692847761038597,43.39286075111627],[3.66215922818193,43.392279064377114],[3.6026190412473764,43.35542655651462],[3.5582388767895456,43.31887037271225],[3.509760183543765,43.27194467481957],[3.467228588445924,43.276787686264214],[3.4303316940306616,43.29020953643601],[3.3869064784452894,43.28413968534662],[3.343863387032852,43.27039600610152],[3.263447246832585,43.228865527136406],[3.24056113717041,43.21280863308409],[3.2103050300757787,43.235638559541265],[3.2010265503923754,43.249167148053665],[3.175401641785767,43.24369767269661],[3.1472079664155532,43.24700506844497],[3.1220006410048176,43.26158196380372],[3.110944425233587,43.253471060898335],[3.0783431423637917,43.261829334517095],[3.0548510434943674,43.27971779305137],[3.005861156020884,43.28492197900128],[3.004349268167806,43.3201311415976],[2.9469414010608523,43.31208498526138],[2.8867026665888473,43.32989534646164],[2.890171804390596,43.36535216139457],[2.872040834033522,43.373176887725414],[2.868317493236679,43.32958665849561],[2.8385539311891925,43.32211574816248],[2.79178868739065,43.293015551205826],[2.7869223712743656,43.273512651125344],[2.772248225673249,43.25778564580618],[2.7525204916724526,43.254593867354295],[2.737891172803547,43.26734188065557],[2.7002195943205365,43.28232047565704],[2.7068228959310465,43.293727070528135],[2.6935895397617924,43.32048879782006],[2.6587668022165167,43.29400885554122],[2.6016030790296316,43.29870698639686],[2.5847987373211803,43.333574828863085],[2.547404327067849,43.33874150409467],[2.55675033079638,43.3671181357703],[2.5532224612518877,43.381578705629835],[2.569215560940852,43.40030210238747],[2.593459760332987,43.4125861022952],[2.5657873980365586,43.42295974410401],[2.6083131770094083,43.433261066263796],[2.6404157795956293,43.456170094886865],[2.665159813486489,43.46562405590211],[2.6549053505045195,43.496865365205636],[2.6556293418118515,43.526612299085116],[2.615607192520078,43.56663335506618],[2.630666452845948,43.581990495056836],[2.614324097727256,43.59922725257067],[2.6286278265574405,43.610128390915975],[2.6446987288829193,43.65454190899258],[2.7202035511311102,43.645368462055636],[2.754523557193863,43.61413878643581],[2.7948588118902697,43.62443489640862],[2.8159272603949876,43.64006590950408],[2.9073523053079366,43.65422802689393],[2.9197089782492416,43.662246071066406],[2.9190783288815148,43.68754825993107],[2.9354629666803715,43.69466778518887],[2.9465514600279064,43.6929371414868],[2.9848044810902232,43.708885107652996],[3.0334575248710003,43.69205430194576],[3.0601699178851627,43.69294263093098],[3.0681377277946873,43.70869387475869],[3.053457816225651,43.71617068001798],[3.0530638218978536,43.74618963728415],[3.0758829435264556,43.768519616825884],[3.0570597724827286,43.782641043208976],[3.049402198661958,43.80382793190341],[3.0602924932316915,43.80942874668814],[3.0598559764719786,43.8316473799454],[3.089161041674374,43.83475002166805],[3.129188579676226,43.81693696893768],[3.209694860701851,43.8129603323146],[3.2490369949799924,43.82957970414178],[3.251093231989111,43.84207470180914],[3.2344586173849077,43.85756325069015],[3.275074750407491,43.898352311519034],[3.3179342390620543,43.890982402561455],[3.3583594413044624,43.913832893255005]]]},"properties":{"code":"34","nom":"H\u00e9rault"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-2.1237080247752895,48.6044100285603],[-2.141418514151318,48.63150826238565],[-2.1110187885946092,48.639371270835035],[-2.0731195987308073,48.639848527788644],[-2.0550968709795594,48.62731181103318],[-2.030265589793804,48.623037585858],[-2.0335527005150444,48.60945056178775],[-2.0135087146521657,48.58752054847777],[-2.006894935706843,48.56611290198358],[-2.0462129661682633,48.54401486364402],[-2.044804968300762,48.56420276394202],[-2.0924894843076234,48.572462492473],[-2.1233140883470694,48.58901274793282],[-2.1237080247752895,48.6044100285603]]],[[[-1.9480369010443914,48.53880790488251],[-1.9611498133853817,48.55028465234394],[-1.9919510225165333,48.59410622069773],[-2.0087091801575645,48.60763335351246],[-2.025977992976761,48.634440306350065],[-2.0259623321650078,48.651529854005666],[-1.9952407599257496,48.66014163675909],[-1.9698282134951834,48.686323125327455],[-1.938080197743341,48.69445682698749],[-1.9058385211153706,48.69048099448555],[-1.8905012399508623,48.69894290465139],[-1.8485728474073226,48.69470909677442],[-1.8364331812622583,48.68121682888067],[-1.862720260590434,48.66727765633872],[-1.8716564802790996,48.64741056211108],[-1.8450734275301934,48.61636825056999],[-1.7739813304009915,48.60347255264488],[-1.6611080846074195,48.61074343781696],[-1.571087121326364,48.62644574305228],[-1.5395886706131567,48.59990995187043],[-1.5429924815935763,48.580444133540496],[-1.5189153941473403,48.56659421958314],[-1.5332845735947223,48.548008242217605],[-1.5195667662578034,48.54001612578908],[-1.4956341385339116,48.508901592854826],[-1.4899474351423645,48.4893748476061],[-1.4492619036481307,48.48610480553381],[-1.4291375679083818,48.46255700303843],[-1.3825547062366061,48.4568090552251],[-1.3446860862323986,48.47306856926301],[-1.3286586444430455,48.49624141596003],[-1.2792064911793741,48.50916990134831],[-1.2722484935647256,48.533924823055],[-1.206555726308375,48.54220594454138],[-1.1883677623098592,48.52868744833374],[-1.1709940931325373,48.53107346572728],[-1.1470794109416749,48.517497772579],[-1.1305430914657242,48.52170438546665],[-1.0701645143702043,48.50849381419032],[-1.0757201292558587,48.499394433638884],[-1.06581502082362,48.4511898364817],[-1.0830222073820854,48.43355484623164],[-1.0771281225801501,48.41169597169672],[-1.0539346752839132,48.383988802654805],[-1.0646345421184056,48.36828025341763],[-1.0450195299623026,48.327727830000974],[-1.0820973324543777,48.298390519589205],[-1.1015118599620337,48.26179752391566],[-1.0736642370047438,48.20075616092018],[-1.0796054903163383,48.18347699576321],[-1.0602909002161003,48.150112461248],[-1.04960608939875,48.08980493060165],[-1.023283345569893,48.06891120315209],[-1.0346655165784813,48.03361464779431],[-1.018202579829028,48.012309356573546],[-1.0212610284765602,47.99494016247969],[-1.0709701077191276,47.98180281363006],[-1.1026711686637318,47.98906278289821],[-1.1260769059410864,47.97331126695682],[-1.1539806565642339,47.96582146885006],[-1.1595139860083212,47.939220868111676],[-1.176229425978116,47.89739680946678],[-1.1966267612194066,47.88926967278471],[-1.1892286738461781,47.8675257247478],[-1.2139598200974668,47.84431487401968],[-1.2160077396105768,47.83115457607098],[-1.2382517343256678,47.80999146297073],[-1.2458823462890538,47.776717547680406],[-1.318489521021141,47.79233158240722],[-1.360603817710753,47.798432206803135],[-1.3904279688415837,47.828280801153184],[-1.4178432025307772,47.82748441208516],[-1.4651862054088018,47.83460451273148],[-1.475255403833222,47.82540410017005],[-1.4666150070573418,47.8074975400483],[-1.5042371318422498,47.8009448646891],[-1.5280651896409132,47.78584499709324],[-1.5934074072820492,47.77605009178189],[-1.6163557701095264,47.76415676086167],[-1.635569613301689,47.74266025266195],[-1.6381801885560439,47.72231564110314],[-1.6556020388557997,47.71053299603197],[-1.6911255411567772,47.71282712864092],[-1.7236704751667482,47.698676218818825],[-1.752032319383817,47.70741764750666],[-1.7724163023563184,47.69845339608558],[-1.8225344895568474,47.70628736859361],[-1.8640133393104241,47.7069846705491],[-1.9363047156903395,47.68664646647229],[-1.9546408028570217,47.67170187943092],[-1.9690539759076384,47.688369032568346],[-2.0093556937669623,47.67137826011831],[-2.0357262501792506,47.668539150280836],[-2.050619855103944,47.65113784113771],[-2.0747365598102796,47.65166099544987],[-2.097035597340287,47.63135984401428],[-2.1143465125517733,47.64948078140733],[-2.104362517130758,47.67679662818726],[-2.1226631940444274,47.68266972251208],[-2.1193410051181774,47.71063202277528],[-2.131472084919135,47.72224026215694],[-2.108708446187951,47.736577355949336],[-2.05870429699438,47.73825600134232],[-2.0847208937394774,47.76271449098266],[-2.1281864076334727,47.76137577244934],[-2.072263910083875,47.79043840708027],[-2.07046358794415,47.81140390317735],[-2.0495260703928677,47.816917397929046],[-2.035760594626103,47.83230046155979],[-2.0516011501156974,47.84056453938214],[-2.05159236139944,47.858773023325405],[-2.0912481690997526,47.8434473982296],[-2.0963111903663836,47.862554271425815],[-2.1162985684590643,47.88095628988424],[-2.104913226347623,47.90237571011746],[-2.0847410993122524,47.90544356892739],[-2.079088544973962,47.91952249839454],[-2.098673563613805,47.93553710123405],[-2.1112032705184025,47.959278246467555],[-2.143950368919052,47.983469165776214],[-2.174134646718617,47.97976235737829],[-2.2048365524509523,47.99406221955531],[-2.2328964298568574,47.998867256915695],[-2.282925404888046,47.99091881499263],[-2.2795950136703538,48.02636073132026],[-2.2418711140864542,48.05284164383506],[-2.193720023024239,48.05137966801874],[-2.1703797438923407,48.06358155989515],[-2.1873980178837424,48.08098581530162],[-2.2332446439270166,48.07562787634504],[-2.255362117704863,48.065686457906594],[-2.255541810894401,48.10943651832076],[-2.287278430400511,48.133745563458476],[-2.2832479885362944,48.14529870453187],[-2.248230377893739,48.15279776234215],[-2.2247373292770836,48.17059701877417],[-2.219796763889133,48.20213436033515],[-2.1843775145100226,48.213137604790425],[-2.1869612472272957,48.24637857003084],[-2.162901712976404,48.25626974900393],[-2.126853803195948,48.25976994927449],[-2.110118931164646,48.2529034820783],[-2.0762583662242795,48.28371148397488],[-2.0532925486538485,48.29832786130155],[-2.014100529199395,48.27953190980406],[-1.998266241844134,48.296980554393514],[-1.9548327221541828,48.317109845291775],[-1.9668973217216907,48.3428189820063],[-1.9290791323813683,48.34704210576775],[-1.947720243456438,48.36894464609711],[-1.9384653904593245,48.391389339464936],[-1.9367895889503266,48.420070240063225],[-1.9519092329646253,48.42918354147581],[-1.9486347678108729,48.446456041738884],[-1.923895933613775,48.460907740617046],[-1.9268720731463556,48.47686450947533],[-1.9110132247187712,48.51741534739239],[-1.9251126755890333,48.54530394613221],[-1.9480369010443914,48.53880790488251]]]]},"properties":{"code":"35","nom":"Ille-et-Vilaine"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.32666554504539,47.186225424714024],[1.4014266290701616,47.21244937239578],[1.4241047321761513,47.22954437481808],[1.4484622479605171,47.23796792120677],[1.4815998938388473,47.239163055882926],[1.5245337678448851,47.22597700817113],[1.539459756494749,47.25652806281719],[1.566277084478891,47.261616837192406],[1.59104001493485,47.25746333923802],[1.5924281213159723,47.27667661628705],[1.6504371377870972,47.27317015052999],[1.6659002787349648,47.25778142355442],[1.7058305011298698,47.26587806828036],[1.715953376298902,47.276776997807374],[1.7397902842883757,47.2549073525034],[1.77611073651641,47.23138256399343],[1.8088371356765827,47.23387535753442],[1.8390792420529518,47.219308157716554],[1.8422371270362656,47.17758044921177],[1.8234729723307537,47.173942852701636],[1.8100544192382355,47.15615809030652],[1.7776202085696244,47.13240064713366],[1.793670861418607,47.12090886272082],[1.8226530300255424,47.122071863013495],[1.8488587784887625,47.10936986097168],[1.882721849834433,47.1019495456428],[1.9184124209566409,47.10482799182933],[1.9664139793909294,47.12541751372791],[1.9966600854821617,47.12699833408193],[2.024534600265164,47.104448294258844],[2.0483747223375235,47.10602450452247],[2.05567516887427,47.07168995789588],[2.0297138722809316,47.04747052812152],[2.0933838995940373,47.01573583572996],[2.1088559092730397,46.99719111950124],[2.0702028641356307,46.95442291025531],[2.0706986163554206,46.93399643786306],[2.109999619994995,46.91338987501182],[2.1460169903433157,46.91750721360478],[2.154834385411464,46.91162948370054],[2.1390397070573326,46.888569836472456],[2.106948767251103,46.87213575040175],[2.0782472483795438,46.83892644966574],[2.048810332345124,46.82944826814363],[2.072503508712849,46.808814332303335],[2.1032165162358063,46.79543413838327],[2.116649522348319,46.779717208437596],[2.0929846391107216,46.75496838536534],[2.065751312591214,46.742494802064904],[2.111303456191762,46.71160114289773],[2.1554479927780568,46.69216020128774],[2.138670574914567,46.66743461292721],[2.1894467123408132,46.64214127258008],[2.187486147291389,46.61672498199302],[2.1671454437331246,46.588979151612705],[2.1732125948301104,46.56618677203497],[2.158700190947214,46.557346281682186],[2.1810826759773936,46.52903506403956],[2.2043972607989812,46.48439997524806],[2.193160461276067,46.47025540007179],[2.1565419224007676,46.46152623851912],[2.154348029342259,46.43408051549606],[2.1677857181383846,46.42406650081809],[2.129684686571857,46.41986520092511],[2.088941803334241,46.40890318674806],[2.074201476301987,46.41984302086565],[2.044395406151348,46.42134446075375],[1.9930823669027022,46.43091738935582],[1.978108199916569,46.439771706882276],[1.9243082864873586,46.431902226728816],[1.909176472236739,46.44350179050311],[1.883436954441824,46.43255455176469],[1.8195004176655625,46.430038338950894],[1.7983765894227512,46.45481762095847],[1.747590198721343,46.45002145600438],[1.7601258090399783,46.42758992898391],[1.7277004157566196,46.38940888777561],[1.710900805328006,46.39205717074327],[1.6836025202595086,46.41817777856285],[1.6448464161558112,46.38681584908517],[1.6143011395442397,46.405298584782024],[1.5696928311710425,46.4054957864533],[1.5462010463391824,46.39346394164149],[1.543962708576285,46.416887448744504],[1.5223068332769556,46.42652499450049],[1.462936752493747,46.375350693466984],[1.4353808001913293,46.363844088424806],[1.4151905101137505,46.34721849587296],[1.4090311642821585,46.3613359928752],[1.3835265726019255,46.374757364316125],[1.3560228953092233,46.40012317441316],[1.3223399070687456,46.38965357258241],[1.3030567860553472,46.37099465262579],[1.2604032451287535,46.37878248650986],[1.2191909673622259,46.36592410433378],[1.2047624195766258,46.387692968021526],[1.1772799568053671,46.38395162215293],[1.2109861172875847,46.42936675668184],[1.1516045347766355,46.449236175811976],[1.152977857618218,46.47295586110232],[1.1349676142912506,46.495261976149834],[1.1491434460646581,46.50220256803704],[1.1082908975477561,46.53150940181887],[1.08759324171297,46.538172760099805],[1.0206069888359919,46.53709643301311],[1.0147644249831798,46.56776399882199],[0.987237034592862,46.56556286906366],[0.9408377357519268,46.581410311122475],[0.9158653080538118,46.59663148752451],[0.8943018154002151,46.62573665182289],[0.9065157405117292,46.64774942034653],[0.9084421594440936,46.6826701222059],[0.9279553620387494,46.69539122809664],[0.9010383725080395,46.73609229312116],[0.8674688807081561,46.74821910504847],[0.884637875531021,46.75486872319864],[0.9252287975177681,46.757176324942904],[0.9469595959139807,46.73670637149566],[0.9590385851297228,46.73775035471489],[0.9833806433152704,46.76418354026803],[1.011690169362143,46.75780474174544],[0.987243902482599,46.79818923636699],[1.0032488288235037,46.81410411812478],[1.022251434317954,46.86391503191526],[1.0338011309915904,46.90747018486123],[1.0380284215747493,46.9420186917126],[1.0635443101027082,46.95731046262916],[1.0498776400419192,46.98064041873546],[1.0736483557273722,47.00265445404348],[1.0840420847936154,47.021019619722956],[1.1102641592923617,47.02923293261394],[1.1321442636157986,47.02762569675012],[1.1818533493699115,47.04081998846271],[1.1955887210148548,47.02953520853475],[1.253119794649933,47.021765630239194],[1.2776118302465334,47.04039666478023],[1.2937693555688192,47.07225420538248],[1.3121550924937646,47.0718848367818],[1.3188363969257677,47.104914121347655],[1.355725988719157,47.10878543596063],[1.3653609997076237,47.12205127770916],[1.3467111123061792,47.168764854539475],[1.32666554504539,47.186225424714024]]]},"properties":{"code":"36","nom":"Indre"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.6144311990931555,47.69421364605317],[0.6313085686496198,47.709099413081624],[0.6747744974506991,47.699004075610326],[0.701006484813832,47.68458422067955],[0.7386942552766614,47.696124610338615],[0.7689302951021508,47.68497280116767],[0.8349728165936311,47.67716533256789],[0.8595037193186879,47.669207269893576],[0.8436538464911009,47.645477850792176],[0.8638905035844368,47.59963034358335],[0.8989296726576519,47.60470549484694],[0.9190111731399363,47.63260906008665],[0.9917892369385366,47.62002605530995],[0.9867433094857044,47.59068498133699],[1.0037237984188345,47.58435868340903],[1.0147853330259788,47.60470741380823],[1.0333525357335172,47.60701157045949],[1.0763363652479012,47.563221554317444],[1.0464291767245975,47.536720528819714],[1.0739220708330763,47.51210138412339],[1.0945042162450278,47.469318385564065],[1.1128833087567993,47.46591695745825],[1.1333660737875422,47.44894991839347],[1.1144031703140151,47.42842030526633],[1.093707046251301,47.42905551300356],[1.1215488811681436,47.382432672337416],[1.1043501548322552,47.370150192490236],[1.1228695110868157,47.35644850071685],[1.106312735447246,47.331083370539545],[1.0948532977686622,47.3285366431566],[1.1079035040639091,47.29948400233637],[1.127510095723219,47.29676734084024],[1.1623243677400883,47.272335282824905],[1.1732084801290505,47.285312153710144],[1.194077711170585,47.282955427790995],[1.2233351560525534,47.29417679425747],[1.2433106673289427,47.2738511703364],[1.2753776194772806,47.25665618088809],[1.2945860121083586,47.23735505703783],[1.32666554504539,47.186225424714024],[1.3467111123061792,47.168764854539475],[1.3653609997076237,47.12205127770916],[1.355725988719157,47.10878543596063],[1.3188363969257677,47.104914121347655],[1.3121550924937646,47.0718848367818],[1.2937693555688192,47.07225420538248],[1.2776118302465334,47.04039666478023],[1.253119794649933,47.021765630239194],[1.1955887210148548,47.02953520853475],[1.1818533493699115,47.04081998846271],[1.1321442636157986,47.02762569675012],[1.1102641592923617,47.02923293261394],[1.0840420847936154,47.021019619722956],[1.0736483557273722,47.00265445404348],[1.0498776400419192,46.98064041873546],[1.0635443101027082,46.95731046262916],[1.0380284215747493,46.9420186917126],[1.0338011309915904,46.90747018486123],[1.022251434317954,46.86391503191526],[1.0032488288235037,46.81410411812478],[0.987243902482599,46.79818923636699],[1.011690169362143,46.75780474174544],[0.9833806433152704,46.76418354026803],[0.9590385851297228,46.73775035471489],[0.9469595959139807,46.73670637149566],[0.9252287975177681,46.757176324942904],[0.884637875531021,46.75486872319864],[0.8674688807081561,46.74821910504847],[0.8279817587178017,46.776816236170745],[0.8119017840639386,46.79450796471714],[0.8093213661875756,46.827858093390724],[0.7521109761823577,46.86086544125436],[0.704324392050786,46.903293353155846],[0.7062532556123257,46.937154623849935],[0.692569282364634,46.97430706301784],[0.6362054885332586,46.985451805972254],[0.6188741963763473,47.00746096968646],[0.5669489614197056,47.00227037444166],[0.5783449036180749,46.97981081817415],[0.6011756847806528,46.97309082433285],[0.6015594112278456,46.95910993478791],[0.5644222278144092,46.95552996701939],[0.5392917082788095,46.960220880583776],[0.5027297280171042,46.9579123909043],[0.44480383249233546,46.94114889283753],[0.4387096602536596,46.929582071059045],[0.3665152631758488,46.94955720761298],[0.3248406111614126,46.93065213256517],[0.31122704760535835,46.93783959199593],[0.30073625724988334,46.97382765864781],[0.3081773026194614,46.99988348323911],[0.2986715021217093,47.01959741824875],[0.3093302509672645,47.04413338267026],[0.29823142261819696,47.05391872520871],[0.2718544387898612,47.04638904119169],[0.2455423301785185,47.07128604001384],[0.20800102904621295,47.05323202361692],[0.1742206159576792,47.07127519606643],[0.20095302486598468,47.09125887635545],[0.18146114771856547,47.11438824881292],[0.15685150997252176,47.103344382080465],[0.1347219236888625,47.1078700305567],[0.13613090268194533,47.121580554147506],[0.07637120084195233,47.12393194888823],[0.05382761471070587,47.16373008265526],[0.06659419807362671,47.18979325990068],[0.0532775371077964,47.19718486964462],[0.07249546123856535,47.22050992119078],[0.06792548837999822,47.2473308040697],[0.0785963884113725,47.28394130124859],[0.11746224213975613,47.33234274537884],[0.14729836062565832,47.34537579230401],[0.14939629089256964,47.36226337889678],[0.18295674766364445,47.38033212018486],[0.16799336737564852,47.3869314962575],[0.1676400513828326,47.405415942568375],[0.18528045906678275,47.42473344937359],[0.1812364735767597,47.4526491231434],[0.20921732522172254,47.49365838444261],[0.22010925240137172,47.50195329711621],[0.22484312443395177,47.52727704290141],[0.20150359657525238,47.544318760659884],[0.2150171714816557,47.57064544903573],[0.23453424561335756,47.577982037960055],[0.2300017263531844,47.60839829191704],[0.2592506238809073,47.61225007215638],[0.27798986367452727,47.59737754800952],[0.32305499229698215,47.59299821090531],[0.3395858922127171,47.579470515833165],[0.37848363992659617,47.568525933307754],[0.4025770030261876,47.57851243241093],[0.39696475621012467,47.59398591871484],[0.36465541592168343,47.62601597769362],[0.396250654091774,47.640846063055804],[0.4239064036884163,47.61782807903746],[0.449927725905683,47.619326961976206],[0.45663070361835445,47.63882641156769],[0.49841790772099426,47.644762985249095],[0.5168171483414108,47.6548633763592],[0.5446201655241357,47.656594675363216],[0.5599236683507411,47.67081925112141],[0.5847693599955615,47.66857981952678],[0.6148109083098767,47.682749216116356],[0.6144311990931555,47.69421364605317]]]},"properties":{"code":"37","nom":"Indre-et-Loire"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.623748035268078,45.61326832676418],[5.623027366443004,45.60428439343032],[5.675167496407929,45.552447358553074],[5.671709636036369,45.53657315102359],[5.690155380407807,45.52805094541753],[5.71223316468065,45.505057950484435],[5.719054346580329,45.48422397831694],[5.73637233564262,45.47254042424704],[5.731970000928497,45.45281667211181],[5.740104011811925,45.43734623286918],[5.782081150720109,45.44065533936711],[5.820296539907869,45.421184335243574],[5.854272829475331,45.41656686156957],[5.8797384015593375,45.406796712103805],[5.891004502554541,45.39221582440636],[5.909619159426924,45.3904002917266],[5.901623412018766,45.41803604702067],[5.9205757281996165,45.446107810736585],[5.92551858695235,45.46607303539041],[5.915370443544101,45.47644734987887],[5.966169653050879,45.49230872138139],[5.991189721035916,45.47515424577151],[6.010911085643492,45.4732028948577],[6.008517618674313,45.45384805163827],[6.049753851710852,45.43791952965108],[6.090976636521003,45.444017712369956],[6.097443053810049,45.43210624582376],[6.13250773126349,45.43338472055341],[6.144660957447894,45.41359714609229],[6.177450938299202,45.39316148783122],[6.194758976954228,45.35224190534863],[6.1844503207792245,45.31794850760671],[6.160203556675586,45.31249020082116],[6.131944929909637,45.288287215984546],[6.140875621531491,45.261921460435985],[6.125696481423486,45.244270268835855],[6.159477588169717,45.202453059383735],[6.161919245441667,45.188407230805964],[6.143789597164076,45.15455037021851],[6.16131722681015,45.151009138334466],[6.189207693158913,45.163732283277994],[6.227710427654607,45.142718202360385],[6.248933790379999,45.14966269770901],[6.265373167502132,45.139612058658614],[6.260566197557925,45.12684791386632],[6.229388123209472,45.108750055807405],[6.243017832342709,45.06906387836911],[6.2200801563699395,45.06536793621533],[6.203927022398643,45.012469165084845],[6.251755823777455,44.99669933009644],[6.300180534522452,45.00397824625707],[6.321848392012048,45.000080059582814],[6.3148150406516885,44.98018487183722],[6.3285028218875325,44.969718924476524],[6.3289997583261135,44.94731911410858],[6.3588400606704845,44.941284471463],[6.354621853701313,44.92359576979837],[6.358440638759468,44.89205674340702],[6.350781709377172,44.88120395797154],[6.354685212537601,44.85597093285778],[6.336319027358193,44.84836943493937],[6.300679811301804,44.87347754001874],[6.269405725021001,44.87047437006196],[6.25054409332542,44.85265497741959],[6.196382213093447,44.85897725265292],[6.1707886083957675,44.85422409321522],[6.128361780211359,44.86189793671716],[6.111944264637026,44.844104598030206],[6.056880845755912,44.81648809334095],[6.030210546238997,44.838096097754196],[6.004863991929379,44.82044164675532],[5.979181680039922,44.81858485233257],[5.94951924784745,44.80453012289717],[5.977781702799108,44.79098097178422],[5.9801466158902254,44.78117807160656],[5.92220546362268,44.75408063667132],[5.900145988864039,44.75831810886521],[5.888833543818295,44.74880281266777],[5.846789359515513,44.75162114202083],[5.82777670542201,44.7400904212036],[5.801469996094522,44.706778512869995],[5.757110126926433,44.6960374105235],[5.7387858126735685,44.712419126045255],[5.708698705355806,44.720924547440156],[5.647101681531142,44.724098953876464],[5.627084872571889,44.75246442874924],[5.583886354820008,44.76534387074039],[5.582046117791262,44.777862736908396],[5.538609682625281,44.77435333052135],[5.4641587549688655,44.79242749679306],[5.484766003910795,44.82306199061912],[5.463794835880649,44.82597088831498],[5.475071217930305,44.86759688581832],[5.483647138020397,44.92229059824822],[5.477674326344703,44.96675249985711],[5.493108370230375,44.99650387405212],[5.480457675487145,45.013866206651436],[5.466222808609953,45.05369264423919],[5.482962641076428,45.083813985829416],[5.4594242070232415,45.084354048653296],[5.449788835244156,45.070783659173316],[5.388382939418146,45.03613916354605],[5.3438842908647155,45.04990301119417],[5.317097625615876,45.05144543143657],[5.300641951274725,45.06258684321087],[5.248350471901153,45.06093433768146],[5.226123302713108,45.07917959620953],[5.1833365351237415,45.08488121016097],[5.171188406008603,45.06901345142979],[5.148624024939402,45.07523359417633],[5.162894297608516,45.0984305870661],[5.187438130822191,45.12083055585071],[5.188573507748233,45.171268538792575],[5.165271150444932,45.1998716765054],[5.184576231954122,45.231193647083316],[5.176540876984406,45.2484020449113],[5.121425532367965,45.24833591809063],[5.138525456127068,45.29621886821675],[5.075414977696186,45.28182474686916],[5.054318727576239,45.319054679747346],[5.019860000114205,45.32012334781686],[5.00965209426827,45.34223102677266],[4.989191483458711,45.34404664083611],[4.960882968689533,45.329431946438525],[4.927837287858217,45.322467078582974],[4.879709663152382,45.2969314761542],[4.858798773300606,45.30895383074844],[4.800493926884063,45.298360661142944],[4.769929030711337,45.316015123688956],[4.761388480871705,45.34063001021366],[4.772556757363274,45.35486449672088],[4.755996992712002,45.36567226076598],[4.755804203494391,45.39641527650575],[4.744760477737733,45.42132931211987],[4.758664794548146,45.43109160083594],[4.756935570818616,45.45570734978024],[4.775917949204341,45.45421052340817],[4.782279555986659,45.47220452723034],[4.8412638959614664,45.50060628572331],[4.868481734036511,45.5234402120416],[4.864438371893341,45.5373424891419],[4.840117013694024,45.543291913290595],[4.808696981728118,45.5723005698916],[4.828114865183135,45.58789311790868],[4.85277784466551,45.57887851405256],[4.864457684448963,45.59360146128447],[4.901457719834113,45.606267804658444],[4.927527809638902,45.605706962994894],[4.9719731415095545,45.61268302966118],[4.997963145407583,45.60341491364353],[5.0047455923475,45.62311113752578],[5.038083762231331,45.61507172104689],[5.035148740524161,45.63720294798379],[5.058062092364437,45.65324362294234],[5.059543480830934,45.66509793238911],[5.1081318769103605,45.68802493937274],[5.131061214476138,45.7077086126494],[5.159431081299061,45.7088530167123],[5.126011929215237,45.73790916787724],[5.094526879742294,45.739453359509234],[5.093091174921406,45.766089791057205],[5.068368951685849,45.765473881827624],[5.059330594890989,45.79197852353507],[5.089312645190639,45.784275022180616],[5.101067478338776,45.81337808264365],[5.1603687442585455,45.80231368825673],[5.176892976082814,45.7934833284559],[5.191532760208242,45.771688000938774],[5.221074288749879,45.76845271626348],[5.266894883868229,45.78936901099017],[5.288915017040864,45.81112188995001],[5.302019342914551,45.84764710800802],[5.329298728282268,45.86357404303832],[5.351020842949957,45.883709517437694],[5.413134793996487,45.85221987973304],[5.434944676804955,45.831093776494285],[5.422469140800665,45.80730767616671],[5.457406410775327,45.78099315590627],[5.482525465260449,45.754586398783026],[5.516232131684801,45.73225264077732],[5.52567323556446,45.71672537840989],[5.5455415978088505,45.71359345746488],[5.5757522584808825,45.69178828956468],[5.552743866622332,45.67988793690172],[5.586411372003499,45.66707375970352],[5.602655500360425,45.651527036877965],[5.623748035268078,45.61326832676418]]]},"properties":{"code":"38","nom":"Is\u00e8re"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.518538729512594,47.30418661945213],[5.531653812708307,47.28437396080552],[5.572097032797981,47.2684421265039],[5.574464664810694,47.25405893079992],[5.602110210787404,47.26053058449396],[5.641087079328796,47.255902139031384],[5.67598472782394,47.27574753150103],[5.698725742766405,47.264996774959506],[5.719658737830903,47.24039349857038],[5.720409103677726,47.2199367429909],[5.754029730428721,47.20619762753816],[5.7615922644946265,47.193351935732494],[5.786363077074669,47.1880831609518],[5.785253964111757,47.1730387486781],[5.811467446057154,47.16905381606456],[5.820691451026131,47.144415939401],[5.8045619988542985,47.1133407822186],[5.768548742190094,47.08943503996254],[5.784717290338706,47.054912309682756],[5.740853599399733,47.031142664947374],[5.749513452394782,47.01724338346852],[5.787650426326096,47.02060775116385],[5.810142553295952,47.04676497151418],[5.818320069354114,47.01634936206399],[5.838703245735162,47.00893073323631],[5.9110704645310355,46.99949662045942],[5.928902914958152,46.981557598992175],[5.945444530036826,46.98892069091779],[5.968560305501438,46.98044449059873],[5.979788604869103,46.963477609202336],[5.9640723607092,46.94807945340021],[5.996550634911118,46.93349025460158],[5.9826340237056,46.90845204586353],[6.011720201418477,46.88892677308902],[6.005778412779799,46.8730528372109],[6.026247153653252,46.86409173600443],[6.034013122897841,46.84959669047568],[6.065722840490433,46.85966779654168],[6.091004700025405,46.84186203649593],[6.134201093056517,46.82606829489227],[6.175722465411307,46.80024737987558],[6.206667229738774,46.766127080274636],[6.185275300570877,46.75514278256941],[6.180271003478625,46.741575238392656],[6.139950483346064,46.7252665040831],[6.11296041814117,46.707745262586364],[6.069828479910839,46.689524885344895],[6.105519201667375,46.65048282928723],[6.059172114439157,46.62611096798534],[6.048566902902156,46.60772285612786],[6.131429786217584,46.55374316497247],[6.1381085470292716,46.55766039903405],[6.1564485471743415,46.54546781327305],[6.112697563396416,46.50963869187334],[6.096828928594163,46.481206078469945],[6.073927085793577,46.46394600628466],[6.085838952286885,46.440997039522614],[6.06400848181829,46.41622698893153],[6.029516385230691,46.38681597881577],[5.983619269600146,46.36236225578993],[5.94141074779852,46.309447376328514],[5.918004636082658,46.30919342038628],[5.908938421371525,46.283951620059554],[5.894626274200642,46.286605180505944],[5.878362837898188,46.26923930243743],[5.849846074176259,46.26206360332615],[5.76565366968616,46.26829459697285],[5.725183003095842,46.26072920479395],[5.715004075499846,46.281794854191894],[5.714717731644379,46.30876884774591],[5.6845818644582415,46.31092471469043],[5.649352566100887,46.33949973060812],[5.617647005041448,46.32909642404822],[5.597401953530867,46.29717016200506],[5.566359117801653,46.29405393089148],[5.542037828826235,46.27020190870743],[5.5202584619727855,46.264154428816624],[5.4730553115738125,46.26506376332347],[5.4568376845310524,46.27447818647901],[5.475143359983399,46.314983312313444],[5.466922894957274,46.32326983579511],[5.437795113853317,46.31511297122548],[5.425824019124199,46.33893598335614],[5.401973542783007,46.33904473846451],[5.373462288620209,46.35223630468514],[5.375550503997551,46.380228055197534],[5.341420750039618,46.40179770821096],[5.298803013245869,46.41268163222961],[5.319500329420964,46.430811362520714],[5.310560613770375,46.446766420719875],[5.3233509593207256,46.462505958303325],[5.373305922688233,46.460100694018294],[5.415741925117894,46.47313865941284],[5.40775059526701,46.50005419367624],[5.384819294338149,46.51562428945251],[5.359203918767164,46.52256069453744],[5.369638182241569,46.58033249938761],[5.405690744011141,46.58167055755078],[5.417107587832548,46.61545539475532],[5.441107903009741,46.637540014709465],[5.415503039920619,46.654982421219465],[5.422089954439316,46.673031501871684],[5.395359314315539,46.68505154004584],[5.407751223773992,46.69588136597287],[5.393640625030492,46.728633357928615],[5.361096638423232,46.73098281339333],[5.366370235232235,46.75127756992356],[5.390414912053985,46.76783202725685],[5.352854015210384,46.793190147243955],[5.3329251666131325,46.796100557884984],[5.3285860378953895,46.8129521008927],[5.409821779763356,46.83254621337176],[5.4488892034635485,46.82627111311263],[5.462804105486921,46.84077447546622],[5.4592864241149215,46.855244785634916],[5.418370968481785,46.86028266347864],[5.401826175213913,46.868321923377145],[5.403416904275394,46.88995270444294],[5.390761534745653,46.89436876615946],[5.3633777404924405,46.88326000729678],[5.328705057646148,46.8902268196612],[5.306862019346935,46.92461572569682],[5.308497060036723,46.93735552157344],[5.274765609317477,46.93484664855668],[5.260170972283091,46.94558220686418],[5.255236339191406,46.97988809464049],[5.278877381251384,46.99902304373498],[5.302902725063236,47.002995600434],[5.310049747453535,47.018020896757406],[5.275326877554134,47.02693403703708],[5.2839203158010815,47.04791289990898],[5.322186205925132,47.07298220144242],[5.386025055163915,47.08197683820708],[5.410655482578915,47.11409007735421],[5.408710637565267,47.12607417258199],[5.439973300314684,47.1443971913906],[5.459209017913762,47.18344166980506],[5.447990684518002,47.19618128392872],[5.48000850446928,47.21736948822585],[5.474016456865987,47.23108930134431],[5.485950818628809,47.25097372798523],[5.488282961724511,47.28934747031664],[5.504737607495882,47.28566080102212],[5.518538729512594,47.30418661945213]]]},"properties":{"code":"39","nom":"Jura"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.24283655874306692,43.58497620901365],[-0.2763965148657968,43.584761045574],[-0.30369046804673383,43.560276850255974],[-0.33595845896027376,43.55085163558024],[-0.35359679862890814,43.561780875085],[-0.4060419475368964,43.568225638621044],[-0.45203767058593636,43.550435492790825],[-0.4634382109634287,43.566589232141745],[-0.43347042112212875,43.580338984734894],[-0.44992960469658516,43.595703984518344],[-0.5076560922832347,43.56923087293328],[-0.5105948945954394,43.563209686236384],[-0.5571744316529481,43.542797175106195],[-0.5670718315523744,43.558215555933955],[-0.6008401126869658,43.538204154807815],[-0.670807186170969,43.5667169721834],[-0.7009707203498448,43.56096357592762],[-0.7180970591845858,43.54064303476207],[-0.7682806920100282,43.57948154907272],[-0.7817805196343679,43.564167159066834],[-0.8426740269835161,43.55356012044782],[-0.8556394802658646,43.541912093762534],[-0.8966906468904682,43.55048921576566],[-0.9509135778063627,43.53212326134325],[-0.9758267609662757,43.53928445138307],[-0.98987372975074,43.53346243559243],[-0.9933935609538049,43.505388046842114],[-1.0265078502683154,43.503370175677496],[-1.073598211038545,43.51939437447959],[-1.109247829938908,43.51412989565137],[-1.1195951980376606,43.50151151366748],[-1.1625744604180746,43.49153545937573],[-1.1639945144136432,43.50839178467792],[-1.1315682094233597,43.51069576475205],[-1.1708199655376668,43.5456098839176],[-1.1956162981323255,43.546095049204695],[-1.2173167238027949,43.53073810827331],[-1.2888696900073222,43.49872862084951],[-1.3274966286590806,43.50492395449724],[-1.3679078186199811,43.49490465671754],[-1.4153887215828598,43.49717030109977],[-1.4311182651313608,43.51461371523744],[-1.4641103174097,43.51978418733692],[-1.4765954372767023,43.539347276261424],[-1.5014142682685339,43.526946780448405],[-1.5248665484221002,43.52970134669009],[-1.491923614747195,43.57231885753228],[-1.4600195931351083,43.6202992244984],[-1.4424122520261093,43.664405589349386],[-1.4365038283323686,43.710565130021784],[-1.4102258105768295,43.80324747446864],[-1.375345240406389,43.91228735051265],[-1.3376743348128222,44.05415734628098],[-1.3159842928578236,44.130037493905746],[-1.2775403203119533,44.31923983571922],[-1.2538901028077145,44.4676042123461],[-1.1064909647292618,44.502772891337074],[-1.0851664955491247,44.53219457167761],[-1.0266309572095953,44.5071249515487],[-0.9911544881491408,44.511849168147315],[-0.9806969914576482,44.48287893553743],[-1.0079983966164947,44.43628954261453],[-0.9695842480121452,44.429379805191715],[-0.9191704541834174,44.44334436259599],[-0.9120213474779492,44.43693794653607],[-0.8433457118512414,44.41817667183869],[-0.8124255218387905,44.420432411546486],[-0.7787977956453461,44.429621612205196],[-0.7724266413748072,44.4400689012159],[-0.7307029568976173,44.446374662072536],[-0.6819329255443941,44.444104603018644],[-0.6760254579024039,44.45733288174258],[-0.6287774027434528,44.44319224087455],[-0.627647611184293,44.39814566253359],[-0.57097020407163,44.38252695965793],[-0.528103107297291,44.364654043262846],[-0.5176354697700613,44.33911112646833],[-0.47887161721109855,44.32489189867455],[-0.43183954131517804,44.32257705443087],[-0.43013450581532475,44.304781669300105],[-0.404736006733474,44.28738094305708],[-0.38338729038705516,44.28631066773658],[-0.3962403182108504,44.237695224176385],[-0.38961736206091696,44.20948462715673],[-0.31133609242726,44.20327170097005],[-0.2721185290366108,44.19380924623558],[-0.22344709828329407,44.20589826380183],[-0.2260044378069046,44.26478415652428],[-0.17860380229840828,44.26119359476371],[-0.1664311622268672,44.241645770485846],[-0.14068847985275829,44.226404747689884],[-0.12947353060156191,44.203862714468414],[-0.12915451548994408,44.152409928751574],[-0.10518222695424868,44.1551363597548],[-0.05985846246111547,44.150817206299195],[-0.0035391663583750703,44.149897854637146],[0.03459384382221056,44.13065240342955],[0.13579733087558213,44.12419368483945],[0.13673121582335918,44.10987087477736],[0.10177914904503296,44.08782254660348],[0.09431661158348077,44.065613157677994],[0.0626980132929106,44.00084249917964],[0.07604560969926086,43.98314313658291],[0.05530723606827761,43.957963973072],[0.07101167271921884,43.93329587806085],[0.07251111881590214,43.91379372164531],[0.05569199596666372,43.8976445612464],[0.030793555000742517,43.9005633671888],[-0.01861461418396192,43.9313867432444],[0.00420637351659139,43.94342582438924],[0.001446300333196457,43.959885381064026],[-0.0361689246680343,43.98374032755233],[-0.04653101813218577,43.96104391789014],[-0.07235713337565827,43.946531834485505],[-0.12468082668137451,43.94434508821349],[-0.16632109560044633,43.92805052482344],[-0.17595413172084393,43.936327270993594],[-0.200087659676207,43.914834830061565],[-0.2344384631811253,43.899006040339785],[-0.19456201236331316,43.881572646215844],[-0.19855660923175042,43.86241563374058],[-0.19246168396068822,43.81017700393666],[-0.2271397672790903,43.808272976810954],[-0.20605373558746434,43.7500763289867],[-0.19414330237233995,43.737016685694684],[-0.2286074364319675,43.715376271697906],[-0.2466545863762805,43.71066950060451],[-0.23910333247309243,43.69394560059394],[-0.2558984040423508,43.679791305136796],[-0.23973019201148485,43.67124152201394],[-0.243162288337736,43.6545058231693],[-0.28211107433706983,43.64307015979027],[-0.2777099095136678,43.616204272478164],[-0.2472036903728421,43.615949823145584],[-0.24283655874306692,43.58497620901365]]]},"properties":{"code":"40","nom":"Landes"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.8412172317044129,48.10306240932052],[0.8758906410789156,48.10943550861685],[0.8909295923841402,48.10206310395515],[0.9440295929845693,48.11237193590575],[0.9502768856001645,48.09927549241419],[0.9813105576003316,48.119560230186515],[1.012548026499917,48.132548614185936],[1.0387342870949972,48.13165484141439],[1.0456264025684945,48.11762847776995],[0.9915488801693668,48.09741164653938],[1.0085477409246668,48.0831267789959],[1.0260026950898764,48.088407307781466],[1.1031936171142485,48.08108800423722],[1.122713770015408,48.035980030467925],[1.1666303937374705,48.02739182079259],[1.1695601007353318,48.00668912927458],[1.2096430686639739,47.96850051668402],[1.2456512469484482,47.979278052584],[1.262653160836444,47.96284180147032],[1.2995800659732568,47.96816150698365],[1.3086281518302283,47.953853799768815],[1.343701298620938,47.957530775683054],[1.3700158222874876,47.95374905485532],[1.3869462890722553,47.9812831788851],[1.4068828320031919,47.97009659263769],[1.4372409526093535,47.9764987201296],[1.4396560496498594,48.01194932329023],[1.5201238283340488,47.982278476987],[1.5648186289077217,47.989771943729956],[1.5654541645457618,47.97421749655934],[1.525499326800869,47.94229204754703],[1.5254235639039053,47.929113580200145],[1.5571710400083827,47.91853552571645],[1.581422578383437,47.90192694837693],[1.588137738369647,47.8764265961909],[1.5579324839494983,47.84812808991504],[1.5351015717504108,47.839545777266615],[1.5337009096463892,47.82052592915118],[1.57053819365027,47.79658651597201],[1.571250855065289,47.786963386235925],[1.5478779921036048,47.76976159021967],[1.608594434126198,47.73393326082299],[1.6266316344148937,47.760971714419085],[1.675275323556801,47.73862278622698],[1.7113085978372213,47.73187770277278],[1.72806479545811,47.699564603486614],[1.7399382527750795,47.66153396917555],[1.7819763886541304,47.65230252991529],[1.8451687786713176,47.657075980599814],[1.8436947697611497,47.68635321599452],[1.8701081905766355,47.67418008034603],[1.8995427041357686,47.67321863025759],[1.9341238444974078,47.6794171004311],[1.943437380081729,47.66008510917376],[2.00158311405148,47.66867970749289],[2.008045857144552,47.67730418039903],[2.066463070283871,47.6743106765294],[2.0712946786313693,47.681559290786815],[2.1397679887163026,47.67737542400391],[2.148515572748776,47.67042742106637],[2.20255850774907,47.67814460514722],[2.2199555931269646,47.667865521618396],[2.2409780083952664,47.63734539809969],[2.2392136309887465,47.62097830786331],[2.1979481169523365,47.607172865315],[2.1537378905390843,47.60082068488091],[2.1195753203342678,47.58295161292573],[2.131269305993213,47.550272515078134],[2.1956362774138967,47.54857375639977],[2.2152905780056495,47.52210707630713],[2.2178746796449196,47.495343490555165],[2.247745015297621,47.491732324776784],[2.2369731533510286,47.4712635208768],[2.2478944881999485,47.44140228778668],[2.24369191507804,47.414818238040475],[2.2052259819019713,47.40525327924356],[2.1886360612239333,47.43774542166242],[2.1428436560395734,47.40889739927532],[2.1170302440572,47.41010870128665],[2.103653119991459,47.39321656330969],[2.128211459230398,47.331734733954534],[2.1515587241969385,47.310723959822234],[2.1389909561599825,47.28548622024678],[2.111689632581936,47.279437465410155],[2.0772893478221053,47.285804260444245],[2.03110991609486,47.269807386211056],[1.998492852908483,47.264047399335425],[1.940816059215001,47.29013078285961],[1.9214647164538976,47.26271748785687],[1.8947687643612021,47.25466020007403],[1.9165941784807092,47.23598592691221],[1.9038108872203174,47.21524765964095],[1.8730051860601082,47.20531826355262],[1.8554824505856486,47.22040769184943],[1.8390792420529518,47.219308157716554],[1.8088371356765827,47.23387535753442],[1.77611073651641,47.23138256399343],[1.7397902842883757,47.2549073525034],[1.715953376298902,47.276776997807374],[1.7058305011298698,47.26587806828036],[1.6659002787349648,47.25778142355442],[1.6504371377870972,47.27317015052999],[1.5924281213159723,47.27667661628705],[1.59104001493485,47.25746333923802],[1.566277084478891,47.261616837192406],[1.539459756494749,47.25652806281719],[1.5245337678448851,47.22597700817113],[1.4815998938388473,47.239163055882926],[1.4484622479605171,47.23796792120677],[1.4241047321761513,47.22954437481808],[1.4014266290701616,47.21244937239578],[1.32666554504539,47.186225424714024],[1.2945860121083586,47.23735505703783],[1.2753776194772806,47.25665618088809],[1.2433106673289427,47.2738511703364],[1.2233351560525534,47.29417679425747],[1.194077711170585,47.282955427790995],[1.1732084801290505,47.285312153710144],[1.1623243677400883,47.272335282824905],[1.127510095723219,47.29676734084024],[1.1079035040639091,47.29948400233637],[1.0948532977686622,47.3285366431566],[1.106312735447246,47.331083370539545],[1.1228695110868157,47.35644850071685],[1.1043501548322552,47.370150192490236],[1.1215488811681436,47.382432672337416],[1.093707046251301,47.42905551300356],[1.1144031703140151,47.42842030526633],[1.1333660737875422,47.44894991839347],[1.1128833087567993,47.46591695745825],[1.0945042162450278,47.469318385564065],[1.0739220708330763,47.51210138412339],[1.0464291767245975,47.536720528819714],[1.0763363652479012,47.563221554317444],[1.0333525357335172,47.60701157045949],[1.0147853330259788,47.60470741380823],[1.0037237984188345,47.58435868340903],[0.9867433094857044,47.59068498133699],[0.9917892369385366,47.62002605530995],[0.9190111731399363,47.63260906008665],[0.8989296726576519,47.60470549484694],[0.8638905035844368,47.59963034358335],[0.8436538464911009,47.645477850792176],[0.8595037193186879,47.669207269893576],[0.8349728165936311,47.67716533256789],[0.7689302951021508,47.68497280116767],[0.7386942552766614,47.696124610338615],[0.701006484813832,47.68458422067955],[0.6747744974506991,47.699004075610326],[0.6313085686496198,47.709099413081624],[0.6144311990931555,47.69421364605317],[0.5805178732790718,47.71232800971273],[0.6116040970811059,47.728130849502094],[0.6207093570907236,47.747478130583154],[0.6512736394121261,47.75525397111593],[0.7248506777855144,47.79889099623824],[0.7452461943264459,47.82624263074177],[0.7745788175007324,47.83968729513432],[0.7573343557395469,47.8911737517487],[0.7805065684044099,47.91037691407999],[0.8091382962389404,47.91066255080899],[0.8171444727137281,47.93447148791446],[0.8454683997304765,47.9413323536207],[0.8376537080820077,47.96869214349436],[0.8186564019800159,47.9892543363892],[0.8323705747596303,47.996592919852844],[0.8405346727531238,48.021049640847735],[0.7975514233427093,48.03724057968432],[0.8011883732648392,48.0715172542445],[0.8430226369432118,48.07264184794484],[0.8412172317044129,48.10306240932052]]]},"properties":{"code":"41","nom":"Loir-et-Cher"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.8995333931893303,46.27590543921817],[3.9094002908986636,46.25772625699907],[3.8901323277345172,46.21449064143864],[3.9135641774619283,46.20692040053432],[3.972545422490283,46.20271202778806],[3.9817875015959623,46.176336440402444],[4.0304983004444725,46.169772418692666],[4.051958867651804,46.181688397585496],[4.104090700200876,46.19839492284894],[4.133393277727922,46.17732129820146],[4.188443814996147,46.17512895597164],[4.18453492610967,46.188021124528625],[4.207908679923857,46.194835796707316],[4.224689888463,46.177995310819746],[4.257372590726873,46.18473517832983],[4.257119428326002,46.157287705187656],[4.2818305705425415,46.156597324529926],[4.292313251311721,46.17248235017095],[4.3157404325049695,46.17203342079279],[4.362151387631787,46.195596184477786],[4.388079599211451,46.21978851671503],[4.422612723182659,46.2025561207876],[4.395991931108271,46.18913351748368],[4.438590902796802,46.16787882969539],[4.410785750373344,46.13662430946693],[4.380275754005176,46.150004219111246],[4.361588426954295,46.13845862089166],[4.321566636697419,46.1292227390098],[4.306153355734185,46.10204949110961],[4.309660723089374,46.079736904576485],[4.285739765481103,46.05353257676386],[4.254288650960761,46.05273202617171],[4.262156206087431,46.0353981231568],[4.312509748657016,46.00559232184622],[4.300566276670547,45.99131120846098],[4.249195496150678,45.9953837193519],[4.298100713331312,45.96566297835176],[4.293912264205216,45.95339953385285],[4.34518756578921,45.928106708428984],[4.34541858135298,45.915369145765204],[4.32322164118184,45.90393193479993],[4.342152967764877,45.87717650941675],[4.357305400190197,45.867818212138175],[4.396210392438567,45.860049159409144],[4.376223580241809,45.82463846230085],[4.375871288793124,45.782079121045285],[4.3493620257561165,45.77130357540371],[4.373503657509452,45.74949633164302],[4.397995092909568,45.751428954900874],[4.3738410092708815,45.7118281564325],[4.365920195904948,45.67115339597],[4.391675108287153,45.6629035906777],[4.410284239143385,45.632050806327356],[4.440485898400948,45.62348155684874],[4.44944567617998,45.607317262662356],[4.501195680541532,45.585509531030695],[4.521074741734986,45.57279549516226],[4.568607549526933,45.583472510511605],[4.582929001860563,45.57473357946033],[4.625186588148891,45.5690598812714],[4.636946590180618,45.54563402439237],[4.672311111048541,45.5702781100426],[4.684974417954742,45.55444421417092],[4.6505036163787885,45.52825095564595],[4.661754663860458,45.486753449800155],[4.700228209366997,45.478251319676815],[4.721827573373719,45.49439543048306],[4.739409870606086,45.48659464798714],[4.756935570818616,45.45570734978024],[4.758664794548146,45.43109160083594],[4.744760477737733,45.42132931211987],[4.755804203494391,45.39641527650575],[4.755996992712002,45.36567226076598],[4.725825842131706,45.36180904894751],[4.7004091166444315,45.345742863727835],[4.680129607940992,45.34625617395863],[4.614497435388506,45.30983662841341],[4.621039470679837,45.29121612407326],[4.598597055879653,45.28948570433069],[4.590638055650433,45.27303681774206],[4.602422910281466,45.25170405771358],[4.565520406201406,45.247958129182955],[4.540549370042042,45.23475108941549],[4.483134616383878,45.23644648192782],[4.418571110077435,45.275424101661066],[4.369667772097112,45.26036388974016],[4.358165874707906,45.2813072908644],[4.365602171309155,45.30106532546477],[4.33189877989193,45.31806910411131],[4.36629429373957,45.337097928842844],[4.346191897357872,45.36229645766761],[4.308195090413248,45.370806841748106],[4.290739610203065,45.358581485433724],[4.271696633410009,45.35982598379431],[4.244524979129677,45.384914673287405],[4.226432364238226,45.389716036582385],[4.193308884127496,45.384562275069875],[4.17881972832703,45.39254145153728],[4.149768797104822,45.38455824320961],[4.1540322116079285,45.36460333540307],[4.121367666873119,45.36908660993613],[4.083541528780984,45.358094161343104],[4.062397034876466,45.33910649399259],[4.043265536912594,45.355946107018674],[4.016059141026905,45.328622335814885],[4.002609357264608,45.355903224229436],[3.9859297079746523,45.371846404559236],[3.937395868986861,45.37201990198935],[3.9169404058247803,45.33940170910745],[3.897408424881887,45.3570837817156],[3.8892315945582094,45.39452005881283],[3.899187761612733,45.410307649293415],[3.9601432570462634,45.44344571733884],[3.972751884382159,45.46143771943691],[3.966604497321932,45.472189147410184],[3.9844000736338567,45.49411557572152],[3.964839538556207,45.503218682032596],[3.9459486995868804,45.54447980125801],[3.954348408158434,45.555962683335494],[3.935548097136248,45.57675205994888],[3.903596234209209,45.599022466324875],[3.8846825953282202,45.60275694217335],[3.86173367803394,45.62272878464922],[3.823453198078696,45.63241694241682],[3.776946294898936,45.6908405345388],[3.7827600945783164,45.706694635321],[3.7586724976385866,45.74600532878878],[3.727105164096888,45.75553371264516],[3.7310653997028584,45.77483343230172],[3.6906934795455935,45.79217071537155],[3.7116170222098575,45.79955113302971],[3.72534244009261,45.82707398650144],[3.7315424899852925,45.87016039642116],[3.7543707578917007,45.88603083611283],[3.7234546463589506,45.92186686966796],[3.6940178008729885,45.930732356412385],[3.693841059729285,45.94949142878095],[3.7088966387640045,45.97378446779926],[3.741274273248646,45.96600368355748],[3.778005233789911,45.97179985823387],[3.8237895718712145,45.98735259327228],[3.8283904088914604,45.99948536067427],[3.80676406021388,46.04562293029198],[3.806993754653765,46.061272645914705],[3.8218816515656036,46.08798379604504],[3.8025614332413635,46.11032928945375],[3.789761994058612,46.15485133205715],[3.8078602164262896,46.16159515953333],[3.7907469501208273,46.18453497582482],[3.7902842093787883,46.210905673837914],[3.768246928941596,46.237829248308365],[3.802699984915529,46.23850996581434],[3.8048868330812957,46.25485708711847],[3.8690933059580366,46.263723494024156],[3.8778066858099134,46.275939918983156],[3.8995333931893303,46.27590543921817]]]},"properties":{"code":"42","nom":"Loire"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.897408424881887,45.3570837817156],[3.9169404058247803,45.33940170910745],[3.937395868986861,45.37201990198935],[3.9859297079746523,45.371846404559236],[4.002609357264608,45.355903224229436],[4.016059141026905,45.328622335814885],[4.043265536912594,45.355946107018674],[4.062397034876466,45.33910649399259],[4.083541528780984,45.358094161343104],[4.121367666873119,45.36908660993613],[4.1540322116079285,45.36460333540307],[4.149768797104822,45.38455824320961],[4.17881972832703,45.39254145153728],[4.193308884127496,45.384562275069875],[4.226432364238226,45.389716036582385],[4.244524979129677,45.384914673287405],[4.271696633410009,45.35982598379431],[4.290739610203065,45.358581485433724],[4.308195090413248,45.370806841748106],[4.346191897357872,45.36229645766761],[4.36629429373957,45.337097928842844],[4.33189877989193,45.31806910411131],[4.365602171309155,45.30106532546477],[4.358165874707906,45.2813072908644],[4.369667772097112,45.26036388974016],[4.418571110077435,45.275424101661066],[4.483134616383878,45.23644648192782],[4.489604429758615,45.224787898710176],[4.477266258728365,45.20978594447126],[4.472540720426905,45.179408906886586],[4.447480119407685,45.16118502386361],[4.446118275212825,45.13169134188572],[4.376558944791765,45.1443595905019],[4.37022058732025,45.13029910308921],[4.400229848141373,45.11600398371944],[4.372571367591827,45.10480297518196],[4.346190894999054,45.06964388927494],[4.359614567276412,45.05568487734863],[4.378014671826731,45.05427007966308],[4.379067913162388,45.03617454254133],[4.338428544649489,45.02671076147119],[4.314677006361451,45.03079389328605],[4.297239439669978,45.01702262504178],[4.289827924670836,44.99730682920296],[4.311668803625915,44.97177463884522],[4.251555903015938,44.958924064540234],[4.221702631142119,44.96133612938675],[4.216572079556928,44.933567915009554],[4.1899324439493,44.91419030432338],[4.179951268724776,44.88730128359599],[4.156154791813548,44.87333360834132],[4.103743185520496,44.87725256159482],[4.068313356371929,44.86746929959503],[4.0338762761727365,44.8710458107922],[4.020171384284056,44.84572694383834],[4.028374858328879,44.834081003006155],[3.988454902516046,44.813419515634884],[3.944536875109786,44.82322023968674],[3.937001123548729,44.7954172172997],[3.919817199492905,44.77460034297932],[3.8895265818183935,44.75196027421232],[3.862527190139651,44.743863434670935],[3.836561503873052,44.74784401669704],[3.8428722355724365,44.767658069140836],[3.8025469466502706,44.78217403491838],[3.752688285784399,44.820978132154096],[3.7444352015394076,44.83779866715789],[3.722885793793205,44.8309902964175],[3.6690230882043697,44.828879139980735],[3.67181554273005,44.843385113427054],[3.6548748534796442,44.87421590375256],[3.6264516856693065,44.88025029795416],[3.5943359966689914,44.87542977006506],[3.5980411899153943,44.85950943658448],[3.588921232126889,44.8263980463694],[3.5397490121099957,44.82817873595921],[3.5056510328808947,44.823846640197424],[3.4782424266646075,44.80967976284068],[3.458847484667369,44.839932137298916],[3.4418003889561284,44.85422679293021],[3.4357113347213044,44.880244038151794],[3.410379964997872,44.91777749816426],[3.4158326368156513,44.92853462204254],[3.40455052934818,44.956397735743366],[3.38636652116385,44.952743854804055],[3.3613425807398936,44.97141170967897],[3.34795071948085,44.97386741391429],[3.349918646764341,45.00260138512903],[3.337173969362221,45.02533946243554],[3.3114877307075306,45.02276714381717],[3.3002890808475738,45.03204489436342],[3.300037167089146,45.05612205325275],[3.3142746780569206,45.08502161586657],[3.3340673163073404,45.11112985018295],[3.3013685993945794,45.12408985771677],[3.2880332175079103,45.12042440957931],[3.2606073460103326,45.17094202255946],[3.27247945333649,45.20918164911843],[3.239572097735146,45.21694671205992],[3.220952339250761,45.244178044330745],[3.228040568209475,45.26635049790692],[3.2125769046776993,45.28063487720399],[3.167616208952322,45.280135013197906],[3.1595874385219407,45.29128516779879],[3.1179979977042014,45.284187297622225],[3.0999431470714955,45.316251503364],[3.1134170784877164,45.32717903792977],[3.1034981328800555,45.35437310008832],[3.1680632240379363,45.352259807508],[3.220912377077928,45.37892046186799],[3.290691872112179,45.401821892426035],[3.30631987673738,45.41954639101777],[3.324323216190769,45.40643003851577],[3.355951003761219,45.42270452498479],[3.37740750048678,45.40195065808154],[3.4636110218729947,45.40187938765357],[3.4797803281462016,45.42109945505887],[3.501320580432494,45.42757868705258],[3.5209066851487667,45.40241117172981],[3.5630771718254137,45.39491340017769],[3.5880474177320365,45.375226810928446],[3.5903478302934047,45.35722324299155],[3.6186259166992305,45.33771043696724],[3.6631634778409548,45.36157929015898],[3.679853380401792,45.38418941501764],[3.705828237197212,45.3607062251683],[3.7722554467335283,45.34919188352554],[3.7899965323666374,45.35387675419062],[3.7856753429070356,45.37076437810785],[3.804943044201567,45.392104461166284],[3.8352859719724157,45.37605158297855],[3.837685746380872,45.365713933149365],[3.869748727932898,45.355825177974914],[3.897408424881887,45.3570837817156]]]},"properties":{"code":"43","nom":"Haute-Loire"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-2.45848916517333,47.44812172071826],[-2.453433891770773,47.46207445240776],[-2.4230264761460525,47.477112579344045],[-2.3999436811786463,47.45598156061156],[-2.370968184053226,47.46338717496278],[-2.354869937092447,47.454890712840786],[-2.31286829291468,47.46446874947645],[-2.3131355987939677,47.48590211028132],[-2.2991284429653516,47.50047998605304],[-2.2613604986657707,47.51360628741794],[-2.244282758246302,47.49360064884759],[-2.1908096601747804,47.51205628181908],[-2.1832952625867295,47.49169698467854],[-2.1541846873077226,47.496364126798106],[-2.1560219978896007,47.52202803044017],[-2.0985539306805943,47.53395835736954],[-2.096505468974894,47.57236562280809],[-2.10372254987444,47.58943141752024],[-2.0869285812433267,47.60277534815358],[-2.084994306680996,47.62123305096733],[-2.097035597340287,47.63135984401428],[-2.0747365598102796,47.65166099544987],[-2.050619855103944,47.65113784113771],[-2.0357262501792506,47.668539150280836],[-2.0093556937669623,47.67137826011831],[-1.9690539759076384,47.688369032568346],[-1.9546408028570217,47.67170187943092],[-1.9363047156903395,47.68664646647229],[-1.8640133393104241,47.7069846705491],[-1.8225344895568474,47.70628736859361],[-1.7724163023563184,47.69845339608558],[-1.752032319383817,47.70741764750666],[-1.7236704751667482,47.698676218818825],[-1.6911255411567772,47.71282712864092],[-1.6556020388557997,47.71053299603197],[-1.6381801885560439,47.72231564110314],[-1.635569613301689,47.74266025266195],[-1.6163557701095264,47.76415676086167],[-1.5934074072820492,47.77605009178189],[-1.5280651896409132,47.78584499709324],[-1.5042371318422498,47.8009448646891],[-1.4666150070573418,47.8074975400483],[-1.475255403833222,47.82540410017005],[-1.4651862054088018,47.83460451273148],[-1.4178432025307772,47.82748441208516],[-1.3904279688415837,47.828280801153184],[-1.360603817710753,47.798432206803135],[-1.318489521021141,47.79233158240722],[-1.2458823462890538,47.776717547680406],[-1.2355437776358398,47.757046555422306],[-1.2545772523262662,47.733641751506994],[-1.2154187219671249,47.718817804901974],[-1.1951181057962028,47.72154902070605],[-1.1894960789668845,47.69916325132362],[-1.1749295691501485,47.694565013829596],[-1.1824294262619501,47.6680046714435],[-1.1608077767122782,47.65632049258235],[-1.1579089209094204,47.63660321755249],[-1.137956817334609,47.619736138890346],[-1.1006492140245874,47.62068366379477],[-1.0564895204285647,47.601479248609785],[-1.026009375226936,47.599308629561634],[-1.0068639898836467,47.58905339488284],[-1.0525094143946503,47.56363638662836],[-1.0397778230870207,47.54883710607215],[-1.0444575006084293,47.50550106908369],[-1.0086170505041334,47.489110660531026],[-0.9674825559179046,47.492800296900974],[-0.9672169416067916,47.468248780242014],[-0.9542208546281663,47.4539097574189],[-0.9610616341565943,47.418146960038484],[-0.9500724202369605,47.40418985727392],[-0.9508302510459343,47.38350557596203],[-0.9748672757080542,47.371382608948814],[-1.0178737847602033,47.36506226317233],[-1.0787286518898893,47.370791947022845],[-1.1082260597696614,47.36577684975045],[-1.167609698077546,47.365887235139574],[-1.182960128465649,47.35431013426607],[-1.2286336711215902,47.34992378396915],[-1.2612216058119492,47.34085259435289],[-1.2998771573086019,47.33762366530587],[-1.3358228427021601,47.3189666448679],[-1.3443707665147786,47.300912351608176],[-1.3017706698751919,47.30303238335918],[-1.2798655849130829,47.29443954491049],[-1.279481478733716,47.274997858626456],[-1.251834385400758,47.248391505350874],[-1.2283649350807286,47.239712044540795],[-1.1980384206236745,47.252940714686886],[-1.1809669432498426,47.24081046650355],[-1.1880521879881976,47.219792216059965],[-1.1784570598013726,47.193390310739396],[-1.1634008936162523,47.18546752937314],[-1.175868309084218,47.16311976069785],[-1.207726991440738,47.1438706405948],[-1.2374293726181724,47.13493300477958],[-1.2258419448390925,47.11944408223294],[-1.2423703743532273,47.10123014862037],[-1.170292292370527,47.093053598552416],[-1.145027574182689,47.06837675006014],[-1.1155386203739606,47.06269707451897],[-1.1170476687025708,47.04013159004134],[-1.1485704887534398,47.029545162586565],[-1.200679265181828,47.04002068735864],[-1.230646678052403,47.0647662671337],[-1.248272600668004,47.068248451977425],[-1.2683044893940385,47.08474885032919],[-1.2903251112226377,47.07019181205101],[-1.2946349782361042,47.03948346966515],[-1.3124114592110108,47.03350963450989],[-1.3627515861913184,47.04068820066417],[-1.3786124689367814,47.03085386698655],[-1.363022131692666,47.005231806651935],[-1.3775094300897999,46.990940454807415],[-1.3590587331965938,46.98113458794234],[-1.3729857700949506,46.95218446660972],[-1.4181594787532137,46.943057239909116],[-1.4582677297055284,46.92583846037384],[-1.4715165512848787,46.93291787054446],[-1.4572082927387657,46.95464665401728],[-1.4769594857010369,46.98097074445235],[-1.469172627780506,47.00198697021648],[-1.4759335714372155,47.029463554503664],[-1.4998449288829532,47.04068947453796],[-1.515724271893768,47.027732420842334],[-1.5552723334553664,47.01533738692226],[-1.542665987015755,47.00327217070728],[-1.5543623514658027,46.97816341773942],[-1.5309030377362816,46.94498074264914],[-1.527927453698693,46.92377826735825],[-1.5007668577856463,46.88389115282979],[-1.5485110748777025,46.86007983436468],[-1.634820511862539,46.87837868837905],[-1.6645131258008816,46.874779205029014],[-1.6870033984268769,46.89055113474326],[-1.7202546726947285,46.88456447923729],[-1.7371139932046213,46.89680599083098],[-1.7362508076850236,46.91143568904478],[-1.7513270577094098,46.929611815604666],[-1.77556460551789,46.92540682943319],[-1.8309821821134158,46.932033724154486],[-1.8318237164160205,46.953809822447525],[-1.872614380314098,46.95312868208426],[-1.9174428113267457,46.97508381963422],[-1.9166202315157645,46.991518959422415],[-1.9432276192598639,46.99471092059494],[-1.9688489284381314,47.02767329905578],[-1.980414486742876,47.02890649407564],[-2.0047172984420274,47.06145903008165],[-2.032603631969014,47.07351687202541],[-2.0534725301465024,47.09412159709027],[-2.114087677200522,47.10989368059357],[-2.1555864883203406,47.11283045616817],[-2.1776732744717013,47.1220648516062],[-2.214466888230872,47.123901610790035],[-2.226823218085358,47.13094036238744],[-2.226132030050598,47.15227424383228],[-2.167064477781809,47.16618049901811],[-2.1583713304619327,47.20905347867946],[-2.1805520828108604,47.23299057764472],[-2.1705404081241095,47.23975355445233],[-2.169993937357407,47.26847661211524],[-2.1873645299124624,47.28061948952369],[-2.245373274313404,47.25599310446833],[-2.2698943084243393,47.23956836515538],[-2.301643363345213,47.23640440229174],[-2.339599042924339,47.25518767687217],[-2.3697489457624465,47.27743476237253],[-2.398380900159916,47.28144600126307],[-2.441973190559724,47.26058258477878],[-2.4555196699772877,47.26813905362376],[-2.513904074004327,47.284623375273924],[-2.502914104344962,47.328751209072664],[-2.5211551419585674,47.35881029297989],[-2.5589409930083042,47.374567573551786],[-2.5341025675524826,47.38296506334218],[-2.483893499163002,47.412419341696214],[-2.4508581636576396,47.425325950967114],[-2.45848916517333,47.44812172071826]]]},"properties":{"code":"44","nom":"Loire-Atlantique"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.936314411640624,48.1633917441478],[2.9712637126470374,48.15183377076339],[2.990882804955562,48.15249378691091],[3.0294654865478936,48.13320717199774],[3.0498962046090887,48.088837886069456],[3.0504714242752176,48.072334131124755],[3.0883177986514796,48.05393639481059],[3.1040899600034066,48.01354534990655],[3.1245523178040195,48.006029252910174],[3.1284501214452565,47.97097324034548],[3.0784722436737018,47.93141992007049],[3.0646112850926173,47.93051941081648],[3.00722631015934,47.895294555605346],[3.0053630487182557,47.86404745363208],[3.029058320822418,47.857123076441624],[3.0297012521374107,47.83508204151216],[3.0125379851547156,47.834374131761656],[3.0281191130010834,47.80064806639638],[3.023798094359226,47.78655467899923],[2.988221260489061,47.78603448891204],[2.954736881556772,47.77555900512353],[2.9496989968031038,47.76587258709822],[2.9145173600355263,47.76938033260984],[2.8566660682192713,47.76092647077394],[2.848796639073614,47.72588667336868],[2.858973240721994,47.71131839341009],[2.911669508308486,47.69146053421784],[2.9181549279743337,47.66979136771246],[2.954234275262721,47.64577868896602],[2.936290512560618,47.63665230316903],[2.9403094506517125,47.60348550057479],[2.9622747369522457,47.57678810211018],[2.9765380120036067,47.56942879709582],[2.95865823105343,47.55738006412381],[2.914297452553034,47.56597018271849],[2.890770179974213,47.55309660602271],[2.8574899628231805,47.552844658956644],[2.8489038940037736,47.53754044480101],[2.8746252064056805,47.52042311253978],[2.8346896177800054,47.50891434033172],[2.8253483178196612,47.49720762944185],[2.7968724826242704,47.49670238161028],[2.7848278000315037,47.51590818527616],[2.7671158140580423,47.52510072819235],[2.722269834213415,47.52137488790703],[2.7274074958054517,47.498891999551546],[2.716060360099423,47.48953015835246],[2.684437897133784,47.482967548570784],[2.658459112358834,47.48789924166263],[2.6558708896887775,47.51039583983229],[2.612017744333409,47.52638001278611],[2.616737946714408,47.54089713523513],[2.596866741027346,47.5564207348813],[2.5729159948690103,47.560017104315655],[2.547268117212732,47.57517784121953],[2.4991330263197966,47.56751893993049],[2.475044546159242,47.579880080920134],[2.439400020099367,47.60949994575173],[2.402680868810648,47.599506360587185],[2.3730210260695963,47.585524572377516],[2.3424427416844122,47.60527658931115],[2.3249512144551785,47.60757115362496],[2.289632282146918,47.62905507196624],[2.2392136309887465,47.62097830786331],[2.2409780083952664,47.63734539809969],[2.2199555931269646,47.667865521618396],[2.20255850774907,47.67814460514722],[2.148515572748776,47.67042742106637],[2.1397679887163026,47.67737542400391],[2.0712946786313693,47.681559290786815],[2.066463070283871,47.6743106765294],[2.008045857144552,47.67730418039903],[2.00158311405148,47.66867970749289],[1.943437380081729,47.66008510917376],[1.9341238444974078,47.6794171004311],[1.8995427041357686,47.67321863025759],[1.8701081905766355,47.67418008034603],[1.8436947697611497,47.68635321599452],[1.8451687786713176,47.657075980599814],[1.7819763886541304,47.65230252991529],[1.7399382527750795,47.66153396917555],[1.72806479545811,47.699564603486614],[1.7113085978372213,47.73187770277278],[1.675275323556801,47.73862278622698],[1.6266316344148937,47.760971714419085],[1.608594434126198,47.73393326082299],[1.5478779921036048,47.76976159021967],[1.571250855065289,47.786963386235925],[1.57053819365027,47.79658651597201],[1.5337009096463892,47.82052592915118],[1.5351015717504108,47.839545777266615],[1.5579324839494983,47.84812808991504],[1.588137738369647,47.8764265961909],[1.581422578383437,47.90192694837693],[1.5571710400083827,47.91853552571645],[1.5254235639039053,47.929113580200145],[1.525499326800869,47.94229204754703],[1.5654541645457618,47.97421749655934],[1.5648186289077217,47.989771943729956],[1.5201238283340488,47.982278476987],[1.5266687471482352,48.00726560320355],[1.512975755811939,48.02872178084264],[1.545306911308587,48.0445885217016],[1.5941156652809598,48.03069992074373],[1.6138290938946773,48.04498314926178],[1.6245928719693987,48.067222742913955],[1.6556783876479508,48.076176598146596],[1.6789955266507441,48.065829398062704],[1.7448338583126362,48.0661443495906],[1.797975547328593,48.07686831186792],[1.8656712589157682,48.08385719871519],[1.8843851938361136,48.097661066466635],[1.9010631123528121,48.129720309688054],[1.920402814020387,48.14638533996389],[1.9033398897931277,48.152806309750886],[1.9250485316689847,48.17448662149941],[1.9514550396684471,48.18958117854365],[1.9625953467362638,48.22259665048149],[1.9654790051841269,48.255466245296866],[1.9878756044776544,48.268707563969706],[1.9940847180593788,48.286585877943075],[2.0438104559378143,48.2864493366448],[2.052708364877964,48.29547390947902],[2.081503651069427,48.29360440985604],[2.155707101498331,48.30449560310474],[2.1806941723291215,48.31168043030938],[2.2022493722769347,48.344596745334684],[2.223911064819703,48.3364180215832],[2.238046845675527,48.316373357629175],[2.2954192430595457,48.308226039086286],[2.312590884489921,48.330802741661444],[2.3277014892177683,48.33305786731142],[2.3633118415981462,48.309600437933916],[2.402664267131608,48.320719459421184],[2.4210918870276967,48.298668261849855],[2.4237635277023717,48.260297326582666],[2.452518016092004,48.25003251288878],[2.4690901704508605,48.255272821570486],[2.5068882455094257,48.22598658432872],[2.523126693688509,48.19489310648136],[2.5093663344872534,48.18250926382449],[2.5063270278885916,48.15643757520199],[2.4832376593500602,48.164518230078265],[2.460116447222927,48.13685254342551],[2.4903153051303115,48.12660259180864],[2.521518685158647,48.127300215727736],[2.537506945660482,48.14033979679666],[2.570562642830993,48.14081569138084],[2.602684217604197,48.13148889808521],[2.6397338993017683,48.1388605931352],[2.6634205012712795,48.12220248073456],[2.7065470696044738,48.12481924580505],[2.720460981753342,48.136910896310766],[2.7551983055667155,48.145653478490786],[2.7414685556447598,48.15977844911796],[2.7989445730680167,48.16827665010273],[2.7978126665223124,48.14068615599144],[2.8208799789852854,48.12966447731962],[2.868032820232008,48.156433549044586],[2.936314411640624,48.1633917441478]]]},"properties":{"code":"45","nom":"Loiret"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.4482615439322117,45.01931315867405],[1.4763205638048942,45.01844899314434],[1.4837421057409195,45.03086980932878],[1.540647783113957,45.04603881243799],[1.5520395032539256,45.028473972211486],[1.5763138744588663,45.04070102069764],[1.6260183242774706,45.03386004522471],[1.6509837683346409,45.02501608647879],[1.671411146688222,45.00429795565169],[1.7026624491356241,44.98782737758246],[1.711027619735059,44.967294403504056],[1.7506251087427585,44.95495947953577],[1.753916747572787,44.94094903140229],[1.7746083879446204,44.92353891590074],[1.787069584525844,44.93223900793819],[1.8239145263410468,44.92768244845694],[1.8311741137699509,44.945489022453565],[1.8862717368855733,44.95606762209103],[1.9081561620078975,44.97842677184467],[1.9390707704475676,44.9732241453493],[1.9407191588474306,44.95514088145865],[1.9816624813968071,44.97286584256669],[2.045437777493513,44.98366934976922],[2.0629142919730623,44.9765064055156],[2.080180633811985,44.95404979923148],[2.0786199838878985,44.93249880393721],[2.1081096992344133,44.91064323067309],[2.0864964046718506,44.90108537322011],[2.093387343737472,44.872914160665985],[2.1398005030167444,44.82382515219366],[2.166838986075325,44.81171436877482],[2.1669553074507704,44.773143530159075],[2.1534919160094748,44.753107579025226],[2.1473467852230246,44.720872889725285],[2.1526517256816478,44.69982758494574],[2.1791523387104577,44.6744488247748],[2.164998532757633,44.66315186421785],[2.1694177928364127,44.63806619142595],[2.207475285530841,44.61553167652982],[2.193605072158649,44.585919536206276],[2.169814750379143,44.5914152242936],[2.148458414466492,44.57058186258418],[2.1268932861145236,44.57892133300102],[2.1052735405908587,44.5712308351366],[2.083044956953958,44.58742511394722],[2.057369025284242,44.58290555966192],[2.020316538227445,44.55550186478567],[1.9885498908449635,44.55118208825662],[1.9562304028473732,44.5184522370375],[1.906117994440278,44.499870752169386],[1.8902881654773012,44.50588875517498],[1.8799562054517298,44.48383493649415],[1.8615755393539462,44.48731998198506],[1.83959954163412,44.475900168970036],[1.8526882779181688,44.45921955120797],[1.8505304217987393,44.435510430042704],[1.8731857077141336,44.424139807111516],[1.8675016882668152,44.39806363608371],[1.9068426542084775,44.364872665176094],[1.882082857535903,44.340065248844205],[1.826465277116675,44.32358769097796],[1.7918320747165322,44.33342155767223],[1.7745395287661794,44.31236243680847],[1.755361660673192,44.325821897882314],[1.6995029158165784,44.313814281404504],[1.6516207663148532,44.286805806785146],[1.6422791348823196,44.270774261083055],[1.6156813561412897,44.27840070659787],[1.616906636210223,44.297528790899236],[1.5707268227394882,44.30150251962804],[1.5872537911119244,44.24900550804784],[1.5752251099432597,44.23873127310143],[1.5417577750229903,44.22781299250401],[1.5290793065479253,44.235377109638385],[1.5096978064892344,44.27344945044928],[1.4951499133483663,44.27109950643376],[1.4732207948805132,44.28421134803531],[1.4531769569737827,44.26735663623184],[1.4535628583819051,44.25411881791156],[1.380368119687147,44.22485773308437],[1.3567953753702289,44.204016861252555],[1.3437890556280911,44.22428502732317],[1.3179163572182218,44.23295776845425],[1.2842650178929034,44.23519209123777],[1.284277976591082,44.25174919798396],[1.304059855892509,44.26295931081006],[1.2978031763342432,44.29486040345977],[1.2680258772309094,44.28148431232658],[1.2379955233318247,44.27589295439949],[1.1957883877382156,44.281420540652135],[1.159346881110355,44.3106276809867],[1.1219514922437734,44.31674824624536],[1.1134152586304344,44.33885107169266],[1.081222945573455,44.354384743572695],[1.0935208798901315,44.365961836772776],[1.1274427936033644,44.37298221773624],[1.133750630714704,44.39298864277138],[1.1067222137699213,44.39234711511698],[1.0640838318649115,44.37851326503539],[1.0514255555669048,44.39209372311952],[1.060650411597149,44.40361122945944],[1.0574884025751128,44.427669679196114],[1.0299753681284962,44.43361948161042],[1.0213774342184947,44.44445120337611],[1.0230092810371172,44.47543907306224],[1.0090253989657336,44.48004110906167],[1.0162314531417111,44.50587117332308],[0.9824267786867313,44.54548429761793],[1.029736286682771,44.551976017460866],[1.0716976200447952,44.56784537769172],[1.0751408247250982,44.577324783565565],[1.0957075874791038,44.59024337388754],[1.1537498404734852,44.63882020403],[1.1466718447537778,44.67034606645626],[1.1688078503397572,44.680017048529535],[1.22455005545425,44.6842663489296],[1.248270791913345,44.70770636912258],[1.2794274292251306,44.715831247801496],[1.3160508396721997,44.74037462834149],[1.322817940494351,44.76513318662047],[1.296243021698294,44.7778123630601],[1.2996352435270742,44.79691953728407],[1.3281098679785208,44.80652884504556],[1.3641029713426986,44.81156818641523],[1.3614038259537624,44.84079526684299],[1.4019390596723829,44.849446039670674],[1.4048386704545461,44.86234716877302],[1.4397519128973866,44.87494627874561],[1.4398566373102875,44.8889508179699],[1.4106099419064448,44.90896015297044],[1.4335895146429747,44.93830164881089],[1.40926521871603,45.00600178685703],[1.4482615439322117,45.01931315867405]]]},"properties":{"code":"46","nom":"Lot"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.2973255098237856,44.76228467395237],[0.3232866327071292,44.74761897166385],[0.346186543626901,44.7225420355276],[0.340537569558902,44.70304824522456],[0.35961911790454776,44.69100214687724],[0.3496189213624863,44.66012732964435],[0.36900627419453386,44.661175745652166],[0.41754944795275234,44.64625042497145],[0.44565684789610666,44.65274912995912],[0.47053010943012324,44.66957916232141],[0.4875231075582992,44.666678761175476],[0.5156727555160711,44.678339438211495],[0.5461757009438561,44.664653811569345],[0.5704204904951242,44.67489859623235],[0.5771464644207092,44.694023979180336],[0.6097310220706117,44.69537205404958],[0.6300837174762535,44.70504186396566],[0.6539964422514456,44.696742561948255],[0.6609287903127476,44.676687086290784],[0.7290670391461425,44.67608019640507],[0.7798374176059383,44.68338808872983],[0.7977266310515655,44.701767285601186],[0.8270009642517767,44.69188957907683],[0.8260869083147476,44.675993641671084],[0.843404038496723,44.66348079792942],[0.8363594164481827,44.6385854946771],[0.8170042739845023,44.62700147643911],[0.8373861616885234,44.61609958290861],[0.8386686479648295,44.60073353333194],[0.8699961633461998,44.597307270914904],[0.8907495915923311,44.61499646988759],[0.938715915523624,44.63970350097892],[0.9908384393481793,44.63713268673032],[1.014756458102413,44.614096475712024],[1.0733204955931674,44.595582525404495],[1.0751408247250982,44.577324783565565],[1.0716976200447952,44.56784537769172],[1.029736286682771,44.551976017460866],[0.9824267786867313,44.54548429761793],[1.0162314531417111,44.50587117332308],[1.0090253989657336,44.48004110906167],[1.0230092810371172,44.47543907306224],[1.0213774342184947,44.44445120337611],[1.0299753681284962,44.43361948161042],[1.0574884025751128,44.427669679196114],[1.060650411597149,44.40361122945944],[1.0514255555669048,44.39209372311952],[1.0640838318649115,44.37851326503539],[1.0498031510072285,44.36263857861528],[0.9960831328157144,44.36864294446829],[0.9806308033981536,44.35841947585265],[0.9500583334266814,44.35976314594097],[0.9199180731590045,44.384149730804495],[0.8982100442421902,44.381369123534306],[0.8873307771559802,44.36637485759437],[0.8961131685671826,44.34622833470228],[0.8696283736168164,44.309384546367944],[0.8951266314063179,44.29679206245922],[0.916429926804432,44.30219542177865],[0.9239584511688518,44.28869614788378],[0.9504654080705977,44.274984882924066],[0.9190898187097761,44.238270029336576],[0.9292392370345569,44.23025011826531],[0.9051836940209331,44.19731593132676],[0.8596865515735523,44.19273721850749],[0.8535753263369856,44.17496072438758],[0.8722443454179576,44.16786912488895],[0.8884779694239573,44.14877042878723],[0.8687736555079509,44.1263296946747],[0.8204870205722198,44.143244018566314],[0.7950995188269604,44.145608667033],[0.7962434549004299,44.11513490164438],[0.7540526324371263,44.10494098314301],[0.7384290025794918,44.07517631749729],[0.7418847912050018,44.06519923501575],[0.707796417778404,44.05801693922403],[0.6876624158684242,44.045888241623125],[0.6770868392750434,44.02697200478653],[0.6316490534555541,44.04949866816937],[0.6278895165319084,44.06062754308569],[0.6022274135910171,44.07371011611412],[0.5765096062579593,44.075205934881076],[0.5650779969821476,44.059221404780686],[0.5384274746319986,44.05295246662407],[0.4858132156850541,44.058600121652084],[0.4595156323439905,44.05523744897399],[0.44244991475496404,44.0287619833259],[0.39446331623218994,44.01998446971625],[0.3815242105137543,44.00637522428769],[0.3575675314065643,44.01637987419657],[0.299563922705621,43.99275637569358],[0.23519766394983782,44.00847404202415],[0.22470724318893848,44.019168066012675],[0.18957513112649763,44.014641710019696],[0.1667631974496389,43.99683417955631],[0.1634750890689333,43.975927867916795],[0.1379369703469956,43.976883130578564],[0.14096031674824933,43.99467654310261],[0.07604560969926086,43.98314313658291],[0.0626980132929106,44.00084249917964],[0.09431661158348077,44.065613157677994],[0.10177914904503296,44.08782254660348],[0.13673121582335918,44.10987087477736],[0.13579733087558213,44.12419368483945],[0.03459384382221056,44.13065240342955],[-0.0035391663583750703,44.149897854637146],[-0.05985846246111547,44.150817206299195],[-0.10518222695424868,44.1551363597548],[-0.12915451548994408,44.152409928751574],[-0.12947353060156191,44.203862714468414],[-0.14068847985275829,44.226404747689884],[-0.12013584466981135,44.23674667953463],[-0.08804999010961528,44.23886102586299],[-0.05336184991028127,44.265764926478745],[-0.03298436987139304,44.271725233652084],[-0.034811250980738076,44.296725798024596],[-0.059508100967366126,44.32137184585115],[-0.08575207965012982,44.33761004988665],[-0.07881922376705748,44.35369515694866],[-0.02996839148968028,44.36051961592557],[-0.012122430998677084,44.371315036223],[0.014724678596450859,44.36661482670666],[0.018233646559888256,44.389878791845064],[-0.002882225353325675,44.40546555102971],[-0.012027062235710009,44.42216048739268],[0.007529968364000282,44.44714235059867],[-0.00964812423297182,44.458953045356914],[-0.015453699893016518,44.505062787136026],[0.01809835904410432,44.52978491547094],[0.03685067130235277,44.55377569309968],[0.07072066177634428,44.54932864142863],[0.08618477510895356,44.57628609745734],[0.15503121242167628,44.61515967421126],[0.1826776591534784,44.66107212400698],[0.16217020857686018,44.670520278429166],[0.14155522468909407,44.66553015383226],[0.13439127028221218,44.681785671797996],[0.10990756955468833,44.684238793464466],[0.10217651632957546,44.699261620698685],[0.11781564233279757,44.71279600247887],[0.13340494933362354,44.70463342458088],[0.15300384600842007,44.73048103978557],[0.1941659722396007,44.743134942046765],[0.20145524828961092,44.72314903553606],[0.22538308407055824,44.761938628969595],[0.2557380828743981,44.750109827832176],[0.2973255098237856,44.76228467395237]]]},"properties":{"code":"47","nom":"Lot-et-Garonne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.3613425807398936,44.97141170967897],[3.38636652116385,44.952743854804055],[3.40455052934818,44.956397735743366],[3.4158326368156513,44.92853462204254],[3.410379964997872,44.91777749816426],[3.4357113347213044,44.880244038151794],[3.4418003889561284,44.85422679293021],[3.458847484667369,44.839932137298916],[3.4782424266646075,44.80967976284068],[3.5056510328808947,44.823846640197424],[3.5397490121099957,44.82817873595921],[3.588921232126889,44.8263980463694],[3.5980411899153943,44.85950943658448],[3.5943359966689914,44.87542977006506],[3.6264516856693065,44.88025029795416],[3.6548748534796442,44.87421590375256],[3.67181554273005,44.843385113427054],[3.6690230882043697,44.828879139980735],[3.722885793793205,44.8309902964175],[3.7444352015394076,44.83779866715789],[3.752688285784399,44.820978132154096],[3.8025469466502706,44.78217403491838],[3.8428722355724365,44.767658069140836],[3.836561503873052,44.74784401669704],[3.862527190139651,44.743863434670935],[3.8699370374536626,44.67891759737075],[3.894746224001558,44.651133585716494],[3.893726383489279,44.61783889720629],[3.908306472806382,44.606619160372716],[3.923566877594894,44.57188476465967],[3.948773902996799,44.57288654843654],[3.9817259440883355,44.51510533136414],[3.987654659812161,44.47277510314574],[3.998162987763964,44.45979755586323],[3.9762196820180424,44.441115482032224],[3.961144148606084,44.41397029137253],[3.944362317344653,44.39956750349231],[3.9079213910830926,44.4026196632778],[3.8859181039452233,44.38799905234691],[3.9127709736236946,44.36850586796493],[3.9446647587995822,44.31912094308078],[3.922858913740669,44.30521794102567],[3.9362541551640287,44.29349216194984],[3.9355689182657865,44.2747470409525],[3.956793721250768,44.27180072553845],[3.973127020352843,44.2525823769431],[3.9461674161736497,44.242375852165004],[3.9501597790209626,44.223545860744586],[3.9387003573911197,44.19367822410952],[3.959878514814277,44.191253656704994],[3.9526044819739092,44.170793726068595],[3.894888943932836,44.14779538799471],[3.8720717351442726,44.12886978328462],[3.8224027407450274,44.13619346399231],[3.7969951126604835,44.127389079486896],[3.762454627385766,44.148796144815584],[3.72562362185747,44.164239828951345],[3.706247388904811,44.16469033158088],[3.6835417745626877,44.18049607631633],[3.6577924199864618,44.17331757538967],[3.637535082199747,44.1758044419647],[3.632837509244816,44.12122297377445],[3.607405064801489,44.116029399262366],[3.5683776807910426,44.12255725261015],[3.5464898950428156,44.11382085664054],[3.505848181205205,44.12627491460725],[3.4814122244595582,44.12400876421138],[3.4397298934659637,44.12909826593223],[3.4308257080086695,44.14799915248837],[3.373648044830684,44.170755872105644],[3.3577995033411128,44.197910434234956],[3.317300542840415,44.200240218868345],[3.2950015544682763,44.20693612762719],[3.240325090398278,44.190831778546034],[3.206607905788314,44.18992834029595],[3.2250868325095428,44.21260133894453],[3.2243422257594276,44.23002883975091],[3.179876249541182,44.24566454674947],[3.1606544387163025,44.24539730394844],[3.153719168091856,44.273805934751195],[3.124161021616368,44.26032349700248],[3.1252288254578002,44.28446357369579],[3.1542516260589815,44.30837023621562],[3.133744886002754,44.33033358238777],[3.119331633132198,44.36409697183054],[3.1216683061653887,44.388740994522394],[3.1405583752842663,44.39261625444329],[3.1267210313580613,44.41395827490389],[3.1417277742830882,44.42845999235368],[3.1352323616083257,44.454447756476476],[3.1158453488850872,44.47555258933136],[3.100325843979618,44.479978817970924],[3.068038879929246,44.50286886512245],[3.083593896775788,44.559014394432964],[3.0759067638703557,44.572973678960665],[3.033175255143208,44.59690534845544],[3.0123028502611833,44.62190975589775],[2.981676986530433,44.6446766126243],[3.0160096767820934,44.713692453685596],[3.028593384774951,44.73000325460999],[3.0310795010084504,44.74941305751071],[3.0479974143057897,44.765468479023006],[3.048093761431216,44.80425398591603],[3.071476757431392,44.834123173435586],[3.0994768968798603,44.833588418089676],[3.0936395044401266,44.853715932362164],[3.1054983095640436,44.886774803102355],[3.1411028663826848,44.903319692595886],[3.166012315445439,44.874339110434526],[3.182311971252496,44.863734531317185],[3.215966948855477,44.8750364950506],[3.2366483203775314,44.88797735233407],[3.2290980359662727,44.90925048112522],[3.2496925236752454,44.916237893044965],[3.243812024502196,44.933528843936465],[3.286022962312807,44.92637841429803],[3.2989394542854322,44.938607376229236],[3.337948402304469,44.955908780382266],[3.3613425807398936,44.97141170967897]]]},"properties":{"code":"48","nom":"Loz\u00e8re"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-1.2458823462890538,47.776717547680406],[-1.2382517343256678,47.80999146297073],[-1.1986209884138974,47.795087631101424],[-1.1931389674383266,47.78697417474339],[-1.152946550291737,47.778006298929476],[-1.1226318940891669,47.78417913959446],[-1.0676842898971974,47.77297059421489],[-1.0204536348384041,47.77298948127482],[-0.9784592276088574,47.76203334334952],[-0.955206706607692,47.76711117947228],[-0.9602944572916631,47.7963079545433],[-0.9251020877476097,47.78771562691841],[-0.8812984869415317,47.763548188692084],[-0.8392941203736607,47.75227330317501],[-0.8399853237495013,47.768146096038514],[-0.816067662956568,47.77122618643005],[-0.7838699174942475,47.75058272701156],[-0.7593093892972002,47.75375329055893],[-0.7417076584328766,47.73810748626689],[-0.7103297199047672,47.74460337209696],[-0.6714156583122058,47.741118751584196],[-0.6537866615388507,47.73338137800601],[-0.6108182423666896,47.73568882741341],[-0.5847783552138252,47.7583563948255],[-0.5328644845775566,47.750826614212684],[-0.5096576702100792,47.786039414506206],[-0.46447480825707566,47.76859230202414],[-0.4545880132966191,47.75647912746232],[-0.42831835229803605,47.76761186364019],[-0.38561432621561664,47.769116081601474],[-0.3817032700427246,47.76056283993387],[-0.3749413527409204,47.739263349746885],[-0.3340636977656885,47.72116613990195],[-0.2867043357584838,47.7193267262097],[-0.23897070389904987,47.704236533845965],[-0.20237319489976208,47.7252424835264],[-0.1823177464697087,47.712899554202],[-0.20031003076883538,47.69468965521296],[-0.2201912638722686,47.68962152946947],[-0.19505682505367974,47.66137704033336],[-0.19315724780649848,47.6479165803738],[-0.15714474625449978,47.64556263174295],[-0.13610057418750457,47.634067825440376],[-0.1075909106103418,47.65528707795732],[-0.07177191841107244,47.658369330035505],[-0.05468293127308542,47.64842261886652],[-0.004507638464452976,47.64768842379034],[0.01704033105751261,47.62110138156107],[0.05165930848592442,47.606515201700375],[0.11568518986526223,47.60572820554534],[0.13984161379263732,47.59111878052602],[0.18492077212499186,47.599519723895675],[0.1857971097487886,47.61573515835152],[0.2300017263531844,47.60839829191704],[0.23453424561335756,47.577982037960055],[0.2150171714816557,47.57064544903573],[0.20150359657525238,47.544318760659884],[0.22484312443395177,47.52727704290141],[0.22010925240137172,47.50195329711621],[0.20921732522172254,47.49365838444261],[0.1812364735767597,47.4526491231434],[0.18528045906678275,47.42473344937359],[0.1676400513828326,47.405415942568375],[0.16799336737564852,47.3869314962575],[0.18295674766364445,47.38033212018486],[0.14939629089256964,47.36226337889678],[0.14729836062565832,47.34537579230401],[0.11746224213975613,47.33234274537884],[0.0785963884113725,47.28394130124859],[0.06792548837999822,47.2473308040697],[0.07249546123856535,47.22050992119078],[0.0532775371077964,47.19718486964462],[0.06659419807362671,47.18979325990068],[0.05382761471070587,47.16373008265526],[0.03664297673522525,47.160354293664795],[0.01901485826766373,47.17575785031973],[-0.01073662557135027,47.15750952036683],[-0.035959245982801084,47.12509157253751],[-0.04416541443323743,47.093242584398084],[-0.08590400471278307,47.1010103974686],[-0.09805549141019346,47.0913509263054],[-0.10212095637964737,47.064797190818005],[-0.12838002979815127,47.05442990559355],[-0.1476585466148043,47.069854366674875],[-0.178486598699701,47.0697670558895],[-0.1521214820209298,47.10085428544302],[-0.1848398275184138,47.10833699690516],[-0.20250740252740007,47.09583787535414],[-0.2415379484520476,47.10572466544675],[-0.2879290635736671,47.10144071067538],[-0.3414640153397548,47.08733467869207],[-0.3579271504355597,47.09365187822681],[-0.3834553981375389,47.08769862856716],[-0.4007795061579299,47.07077103460959],[-0.42854910796633194,47.07271663479802],[-0.4642554478540593,47.06757786350008],[-0.46269733093798004,47.08192636562548],[-0.4953402437613724,47.082385217708435],[-0.5595318719263807,47.06188673077478],[-0.5555783931772565,47.04353316953107],[-0.5654683969778376,47.01942614381194],[-0.61568293448452,46.99293402227639],[-0.6438716820428597,46.99351589442817],[-0.6758343487736584,47.00172199082605],[-0.7156396951065868,46.985502313803366],[-0.743365629187983,47.00070367813692],[-0.7619520119905745,46.992139886795954],[-0.7875770887198819,47.00513718237798],[-0.8559224678754487,46.979084161484536],[-0.8919599503022404,46.975817849607864],[-0.9027847223499762,46.99384133071281],[-0.9334603151811864,47.008908043397554],[-0.9670342291507741,47.00506278044761],[-1.0003954614147021,47.02080439583092],[-1.0158832983469237,47.00413844081306],[-1.0741287584409651,47.008280037449445],[-1.1444802777855911,47.02539165807213],[-1.1485704887534398,47.029545162586565],[-1.1170476687025708,47.04013159004134],[-1.1155386203739606,47.06269707451897],[-1.145027574182689,47.06837675006014],[-1.170292292370527,47.093053598552416],[-1.2423703743532273,47.10123014862037],[-1.2258419448390925,47.11944408223294],[-1.2374293726181724,47.13493300477958],[-1.207726991440738,47.1438706405948],[-1.175868309084218,47.16311976069785],[-1.1634008936162523,47.18546752937314],[-1.1784570598013726,47.193390310739396],[-1.1880521879881976,47.219792216059965],[-1.1809669432498426,47.24081046650355],[-1.1980384206236745,47.252940714686886],[-1.2283649350807286,47.239712044540795],[-1.251834385400758,47.248391505350874],[-1.279481478733716,47.274997858626456],[-1.2798655849130829,47.29443954491049],[-1.3017706698751919,47.30303238335918],[-1.3443707665147786,47.300912351608176],[-1.3358228427021601,47.3189666448679],[-1.2998771573086019,47.33762366530587],[-1.2612216058119492,47.34085259435289],[-1.2286336711215902,47.34992378396915],[-1.182960128465649,47.35431013426607],[-1.167609698077546,47.365887235139574],[-1.1082260597696614,47.36577684975045],[-1.0787286518898893,47.370791947022845],[-1.0178737847602033,47.36506226317233],[-0.9748672757080542,47.371382608948814],[-0.9508302510459343,47.38350557596203],[-0.9500724202369605,47.40418985727392],[-0.9610616341565943,47.418146960038484],[-0.9542208546281663,47.4539097574189],[-0.9672169416067916,47.468248780242014],[-0.9674825559179046,47.492800296900974],[-1.0086170505041334,47.489110660531026],[-1.0444575006084293,47.50550106908369],[-1.0397778230870207,47.54883710607215],[-1.0525094143946503,47.56363638662836],[-1.0068639898836467,47.58905339488284],[-1.026009375226936,47.599308629561634],[-1.0564895204285647,47.601479248609785],[-1.1006492140245874,47.62068366379477],[-1.137956817334609,47.619736138890346],[-1.1579089209094204,47.63660321755249],[-1.1608077767122782,47.65632049258235],[-1.1824294262619501,47.6680046714435],[-1.1749295691501485,47.694565013829596],[-1.1894960789668845,47.69916325132362],[-1.1951181057962028,47.72154902070605],[-1.2154187219671249,47.718817804901974],[-1.2545772523262662,47.733641751506994],[-1.2355437776358398,47.757046555422306],[-1.2458823462890538,47.776717547680406]]]},"properties":{"code":"49","nom":"Maine-et-Loire"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-1.1196225402660513,49.3555679898469],[-1.1134631010458858,49.32794637083092],[-1.1395424010513058,49.30987085975071],[-1.1400966460602808,49.2973935275135],[-1.1215034590044193,49.28156614073767],[-1.124678305514618,49.26791880332945],[-1.0787006256545217,49.23459214406213],[-1.03400192072734,49.218462649963996],[-0.9754585570109295,49.19216218144188],[-0.9205699599745509,49.221065178841805],[-0.895819782126535,49.19807825865292],[-0.9373335821349595,49.16152234602555],[-0.9314412531318438,49.14557476084313],[-0.8865942987279166,49.12943404142505],[-0.8784554052403395,49.117103346563994],[-0.8799553096857228,49.088797685340666],[-0.8703864178242734,49.07831283220894],[-0.8845207940960534,49.03871404252527],[-0.8623508752010071,49.034658294620314],[-0.9061381953887807,49.006106279376766],[-0.9136451137312932,48.99096142683413],[-0.9427299538328557,48.967706984870034],[-0.9557321879384142,48.966234060803075],[-1.0226214673729113,48.927090137671044],[-1.0137402112544927,48.91595272397592],[-1.049194217272288,48.89402994339517],[-1.0711805139009567,48.87028515761762],[-1.099957594999108,48.86805030812276],[-1.1553820376155783,48.83646333089034],[-1.1537697728059082,48.822236045223256],[-1.1038400489666345,48.814802746543315],[-1.0894728333388959,48.781514884249376],[-1.0587344201065705,48.7733510406527],[-1.0374406727580494,48.78252947303227],[-1.0126842102843516,48.77178311290127],[-0.9510500649738302,48.78923788485761],[-0.9194507448733115,48.76990119354358],[-0.870843068323719,48.755747083763815],[-0.8409353560137922,48.75222016383323],[-0.8492246178903684,48.73075569433634],[-0.817893287414865,48.73117743116182],[-0.7917739207703051,48.70515869262072],[-0.7354985764702292,48.68396472383358],[-0.7733632741625079,48.65747680031274],[-0.7524222705829918,48.62213618876707],[-0.7517442676401291,48.60131936977811],[-0.768359672906354,48.59032984724143],[-0.7741715461672727,48.56267832832823],[-0.8057094829569462,48.54987498304548],[-0.847670683669462,48.52112645892402],[-0.8603629154348681,48.50145849652254],[-0.895759002734999,48.49483509679017],[-0.9223589824244613,48.512387467627654],[-0.9563792193607108,48.5166180795957],[-0.9722539090536432,48.49459678797466],[-1.003998750116345,48.489170559999316],[-1.0605549892053183,48.51534444794686],[-1.0701645143702043,48.50849381419032],[-1.1305430914657242,48.52170438546665],[-1.1470794109416749,48.517497772579],[-1.1709940931325373,48.53107346572728],[-1.1883677623098592,48.52868744833374],[-1.206555726308375,48.54220594454138],[-1.2722484935647256,48.533924823055],[-1.2792064911793741,48.50916990134831],[-1.3286586444430455,48.49624141596003],[-1.3446860862323986,48.47306856926301],[-1.3825547062366061,48.4568090552251],[-1.4291375679083818,48.46255700303843],[-1.4492619036481307,48.48610480553381],[-1.4899474351423645,48.4893748476061],[-1.4956341385339116,48.508901592854826],[-1.5195667662578034,48.54001612578908],[-1.5332845735947223,48.548008242217605],[-1.5189153941473403,48.56659421958314],[-1.5429924815935763,48.580444133540496],[-1.5395886706131567,48.59990995187043],[-1.571087121326364,48.62644574305228],[-1.5435435350637288,48.63121279257955],[-1.5156463864153509,48.618246538328954],[-1.4771911456334617,48.618735940477464],[-1.443640368193959,48.62752557033798],[-1.3931950000571642,48.650524383670096],[-1.4858341115383116,48.68638581019091],[-1.5081675203931897,48.69117348999072],[-1.5319288351465319,48.73102057677593],[-1.5601811084952157,48.73546601099355],[-1.5744067767391592,48.75184944838184],[-1.5689116621961623,48.80265414493922],[-1.5744419562050678,48.821684938652076],[-1.60492034674064,48.83789166867906],[-1.5871695543001123,48.84645691414395],[-1.5763778734243568,48.86622956887365],[-1.5696724678452931,48.899023227002154],[-1.5515508912728522,48.90833449236361],[-1.5434217971126396,48.93102731412556],[-1.5621121920567587,48.94101750482779],[-1.5607059456223331,49.00148291031971],[-1.5937932678762967,49.022503267429315],[-1.6094115242692357,49.07927811770436],[-1.606935957044734,49.11003133842661],[-1.5947491074806148,49.131932809532245],[-1.6073172609984514,49.19664548258766],[-1.5892834706047838,49.23342782862976],[-1.61699549946473,49.23161226126529],[-1.6316904105955683,49.21422567935813],[-1.6541578497297265,49.241447844599655],[-1.6650285987196094,49.265558278699984],[-1.711168264458309,49.32509928438261],[-1.7242753116935,49.32710827112396],[-1.7647207703926648,49.36355636410871],[-1.8070415201028562,49.371883988182944],[-1.8236585668079848,49.4014702879999],[-1.8267724913131993,49.452917249373044],[-1.844605855792456,49.47096122199953],[-1.8525981237513987,49.51038685631441],[-1.8819329337834734,49.519310940029676],[-1.8856955118557936,49.54039147246037],[-1.8579284299662393,49.5515291506756],[-1.8410273136069895,49.57173433702396],[-1.8451411614330706,49.61908992529084],[-1.8603000418191267,49.65019279204103],[-1.8956952778084324,49.664931836942685],[-1.9461788272965446,49.67434830154208],[-1.936439146470204,49.69375892397446],[-1.9472764301188112,49.704932281313916],[-1.942245186733018,49.72555529334811],[-1.916516630754937,49.724878374537525],[-1.882912866788183,49.705706386310766],[-1.8587301287976281,49.715623305593],[-1.839532798595857,49.71155454173644],[-1.8228561882429963,49.69031481833081],[-1.7745875090438277,49.68086868404481],[-1.717807811993846,49.67984522346912],[-1.6867515873282075,49.67307140423291],[-1.6724172017020642,49.65765473955586],[-1.63285141798923,49.66064611404181],[-1.6246789365290826,49.6464653967003],[-1.520239237616472,49.65741709322276],[-1.4858029063728724,49.669313639920425],[-1.4710805783093919,49.69667602847381],[-1.4557412827864928,49.691326221246335],[-1.4211576721789985,49.70370298113619],[-1.3685551471066846,49.706629617440186],[-1.2998499192449107,49.6935189965057],[-1.2679290471720517,49.69532738213563],[-1.271008796143279,49.6797055830237],[-1.2391814229357874,49.65240173891874],[-1.2290598170197164,49.60871341882292],[-1.254286601197548,49.61265560522737],[-1.2662663845442874,49.592850277700535],[-1.2962320370638967,49.58317124235064],[-1.3091674328357494,49.552607084023585],[-1.3063594927131816,49.538927340535665],[-1.2527076587085064,49.480600121491854],[-1.1925632637620527,49.432177811410874],[-1.1680020729875382,49.408031628446786],[-1.1617336960367475,49.391748947534765],[-1.1785816005847864,49.37845801413797],[-1.1639520107160866,49.36665848650392],[-1.1196225402660513,49.3555679898469]]]},"properties":{"code":"50","nom":"Manche"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.047972977986833,49.40564229475753],[4.0769132710042255,49.401612719003566],[4.188996868487692,49.398693325461345],[4.2013073779715375,49.38378396286446],[4.248321950611529,49.38225603439192],[4.258398145436199,49.36351577479519],[4.290937077765363,49.34699963965571],[4.306756525620349,49.32779732810991],[4.330894078223754,49.32715621477832],[4.3541542998888705,49.31616310169742],[4.376853871003221,49.31699430474222],[4.393424577830647,49.29708771300736],[4.418775444942886,49.2851133003246],[4.459506424178967,49.27757864272764],[4.541215512322572,49.28622829426292],[4.575868215345435,49.296651189312385],[4.594974261377573,49.2707300343065],[4.6058938566008445,49.26970402626851],[4.635511161128344,49.232134393917896],[4.670374586913542,49.24151155534761],[4.686074799511886,49.256759043801544],[4.726823349053574,49.25232502044604],[4.7442321118937505,49.2414729109037],[4.788889603899746,49.24134019593029],[4.815420265730455,49.249854960398],[4.826941205469512,49.23576093816036],[4.86275799597872,49.24154352922503],[4.909606220926124,49.26349853270867],[4.950989232683009,49.23686584630137],[4.970761881963812,49.23605865097721],[4.993377429884994,49.20962536427259],[4.9397619983736725,49.18506820457861],[4.953397966379194,49.17195155260111],[4.974408367068746,49.13340447110328],[4.99213130434257,49.114899861463385],[5.005744190171552,49.05987214490083],[4.96844159954904,49.02290133721377],[5.0076814026818575,49.03495195077163],[5.036321445219877,49.02433254954083],[5.032675426761192,48.99373965141204],[5.004646480636104,48.98364213966209],[5.037904334159841,48.9730160560533],[5.030128675561755,48.95690245547182],[4.986405609443761,48.93190826599592],[4.9362093920054075,48.92214239512387],[4.915798542054488,48.89979310962273],[4.924696402833776,48.89135651199283],[4.924676889741789,48.86463057973145],[4.93570201866688,48.840631475686905],[4.888760929797642,48.81720971453769],[4.889557040484959,48.798206203700566],[4.934571757746961,48.790360787111126],[4.947881817618987,48.771602644481156],[4.990124563499123,48.74183736486811],[5.009219993538869,48.74139150464051],[5.011787133446862,48.70669113644506],[4.988427677798425,48.684418562233176],[4.9502952474979125,48.6879545407904],[4.935102757331475,48.67804414699184],[4.910378975054349,48.68854676058441],[4.867775765589871,48.66719674333675],[4.822713970971492,48.67403036103939],[4.7816659214071615,48.67019744127014],[4.772425267645258,48.656461849317175],[4.807564203534146,48.65430553938369],[4.850578327876817,48.63991537290219],[4.850509978828629,48.614183688167515],[4.829662115751189,48.612481442983466],[4.796778242210989,48.59529317207245],[4.769195892207036,48.58868831063029],[4.776020152963706,48.565957606678474],[4.799180099828292,48.529779876249094],[4.718012145060739,48.54199401283636],[4.670183207291811,48.53188730232318],[4.635013531124556,48.54446897027231],[4.6263828171661405,48.554547535211604],[4.576487514925921,48.549380130056875],[4.527473253110997,48.52851621730074],[4.521965785232567,48.54505196597459],[4.49528083286357,48.53872358042404],[4.403076671568411,48.561260233656824],[4.314917546995119,48.61621957939382],[4.331760406442508,48.63027354824816],[4.317329119564903,48.65166491720243],[4.332773350334676,48.67058273703408],[4.3255940122986445,48.700277029531],[4.302615983872354,48.71237740647513],[4.2523956317261185,48.708651278525025],[4.233040648104506,48.702313167606725],[4.161208977574132,48.70564270827603],[4.131090952946843,48.68615119823393],[4.079787822987737,48.701118254412116],[4.058195208802969,48.66627477909254],[4.030051914462845,48.65914499071498],[4.001695483416846,48.66387541820995],[3.98646950961592,48.65506991614687],[3.977230864165596,48.632216352927855],[3.9585488780832865,48.622904721543364],[3.9492402192699783,48.60343151995247],[3.916112422498775,48.60703746596832],[3.9000544029762967,48.574837870717545],[3.872574553060613,48.58047608998417],[3.8586730804738507,48.56033634110919],[3.8655808154248064,48.537930954397474],[3.851404847916241,48.523378465573664],[3.822742058660399,48.516104417807576],[3.7947250716869743,48.52769326968686],[3.7428823405595684,48.5336960863688],[3.7041935334272225,48.53348173230274],[3.688010554935591,48.53996363936458],[3.643639260745969,48.536262879171076],[3.6340147312950517,48.54129833541425],[3.631866148641539,48.570977927086886],[3.6042445587901217,48.572452767827976],[3.579891832495665,48.60485886515818],[3.5556137492385345,48.62028467657408],[3.5190711976645597,48.633474580141225],[3.5174997752390147,48.64336703334491],[3.460426313142606,48.65300999879329],[3.4406134906014127,48.6636539025972],[3.4693877334848082,48.68643581459289],[3.4643028353269045,48.707377209765006],[3.4697275479340295,48.73786507384338],[3.4443842525897947,48.73668491350176],[3.4302049079731773,48.756874901226034],[3.395834526122342,48.75925128896011],[3.409426927872636,48.78384005486431],[3.442913938608982,48.78618495446326],[3.4321733352035433,48.81226134369876],[3.484964362562067,48.82500976544345],[3.4851874436586847,48.851908494372864],[3.5083215469627684,48.890402602371054],[3.528576443116953,48.91214102895302],[3.5738538398044097,48.92148321270002],[3.5744431375994288,48.93901643224886],[3.601964878227183,48.94505940416911],[3.591558411237313,48.96037176960385],[3.620658549289589,48.9659439788058],[3.6387510313501172,49.002277384044845],[3.665158653762439,49.00563193481009],[3.678113179313511,49.01690766636074],[3.663950657450056,49.03730898527378],[3.647726454659581,49.04140800760242],[3.587608670612347,49.03381324798993],[3.5877067932472952,49.059394631367105],[3.6390535019551273,49.08130605737889],[3.6117958918993924,49.11808793409194],[3.6103983127772716,49.13550196815309],[3.622246623748466,49.151103693376655],[3.6534402301896542,49.14869065051608],[3.6838349064164695,49.15449185807903],[3.701623868432638,49.14308771135046],[3.7487650521863713,49.15708155419203],[3.7511478237665794,49.17770096615194],[3.725444039996693,49.173515945092305],[3.704392046963459,49.181373023469],[3.697104870697589,49.20547444963648],[3.662544752146768,49.20897792079391],[3.670777136423702,49.23959850877529],[3.65525456317135,49.26285133857558],[3.6573162286122742,49.291023347068474],[3.643938967409509,49.31271547683784],[3.6989371212574853,49.33195284253632],[3.7422207217091263,49.33651301919691],[3.777534921928809,49.35581577743615],[3.8224705767098395,49.35696565512036],[3.84805797975596,49.36391735212325],[3.8563548292895904,49.381163036761194],[3.837686516500783,49.39565820991326],[3.864856156264051,49.40533685972032],[3.898159524095673,49.39324676616779],[3.9252301838116423,49.40757795776365],[3.9613090288565647,49.37734494086453],[3.9949400464231957,49.37789993445056],[4.0127284202980995,49.358299141243386],[4.035496373111564,49.359904159430094],[4.039913351175735,49.397396867183815],[4.047972977986833,49.40564229475753]]]},"properties":{"code":"51","nom":"Marne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.670183207291811,48.53188730232318],[4.718012145060739,48.54199401283636],[4.799180099828292,48.529779876249094],[4.776020152963706,48.565957606678474],[4.769195892207036,48.58868831063029],[4.796778242210989,48.59529317207245],[4.829662115751189,48.612481442983466],[4.850509978828629,48.614183688167515],[4.850578327876817,48.63991537290219],[4.807564203534146,48.65430553938369],[4.772425267645258,48.656461849317175],[4.7816659214071615,48.67019744127014],[4.822713970971492,48.67403036103939],[4.867775765589871,48.66719674333675],[4.910378975054349,48.68854676058441],[4.935102757331475,48.67804414699184],[4.9502952474979125,48.6879545407904],[4.988427677798425,48.684418562233176],[5.008333278861154,48.67023772723031],[4.992811815436962,48.65827053404921],[5.00616236089035,48.63348264533262],[4.99466786336989,48.62182551829475],[5.0141448684428935,48.610214170115775],[5.032284450963603,48.61329817233609],[5.049692721915686,48.631265806018796],[5.070374138899134,48.59610309669313],[5.117905583758205,48.58495445930086],[5.144873587885955,48.562874491019556],[5.173113022339201,48.55631460308862],[5.208425883036941,48.53861075457746],[5.264870353729535,48.51920792199762],[5.305623464696029,48.51591327057272],[5.327278259522607,48.50479938800887],[5.349469998299744,48.48198867902053],[5.406054924803939,48.46539304073884],[5.408498570986399,48.445794580180355],[5.445157350390678,48.425081250152175],[5.470061704426128,48.42092884036511],[5.443801554148948,48.412796111132934],[5.408721169498744,48.38310019043649],[5.441572019947177,48.38023164680497],[5.419996789966145,48.36209610065057],[5.418230200002256,48.339827299478394],[5.441808221286742,48.33585087730688],[5.482149185087855,48.35620132426793],[5.52236342294961,48.34085020470289],[5.544667324256171,48.31484393016795],[5.5879967536815585,48.278489865685614],[5.611652001252659,48.29181533437579],[5.65380919650419,48.26852380977062],[5.640901189478503,48.242354204929356],[5.677420725123087,48.22898238922798],[5.6877917029501965,48.23418465758911],[5.719343419026872,48.21284553404126],[5.730982683815125,48.18969958329602],[5.696740894208173,48.18888423309182],[5.6822435704493275,48.17570971343473],[5.68431870758825,48.14504209497101],[5.656886341889701,48.120399648852754],[5.629010103166862,48.0844163929701],[5.65966986503565,48.08486263156757],[5.740575630698962,48.050043986724326],[5.77774789858366,48.031361923263205],[5.793591975095584,47.99070892021546],[5.778492027788896,47.97800978811231],[5.787280985479235,47.952596973102644],[5.850003923490582,47.96283504722941],[5.884726375202079,47.926047148569474],[5.890864473987194,47.910829841401245],[5.869970150074121,47.900706913078324],[5.851317308296247,47.905988473584586],[5.805624457872526,47.847311152266364],[5.76119123886598,47.85933449216956],[5.744128331452809,47.84867639845901],[5.746056257349712,47.82359612703334],[5.732629873750381,47.81759710089163],[5.699885101970957,47.82390335263593],[5.681940162654595,47.806412809419605],[5.679969716046147,47.769967881716525],[5.705093217659827,47.76911094285444],[5.709442412269412,47.745127245662815],[5.693342993991239,47.737537821735295],[5.684123936651815,47.711966155758596],[5.690079801415203,47.684838574927916],[5.6534056633858105,47.67738242296545],[5.596682241448045,47.67168603172257],[5.585005103022503,47.69979015765272],[5.567204936430051,47.70523436852804],[5.529778304397354,47.67282923798152],[5.482567919490752,47.684602874896335],[5.4460337898832885,47.67077575883233],[5.406342872021028,47.673400744473895],[5.405745536478159,47.646866141018315],[5.37317594209649,47.61838294374159],[5.374078595885573,47.60454165278582],[5.354893869684326,47.59131447740441],[5.340003771124325,47.609065915523516],[5.299837418963084,47.60492946802028],[5.252920215668424,47.57694786282474],[5.238668295142944,47.597284983235],[5.239232274239111,47.61613009897604],[5.211414189836741,47.64189107719557],[5.173597037303847,47.65256871236608],[5.178340930532218,47.680951862214265],[5.1282137463189255,47.64769555171287],[5.084909015051583,47.65725535909673],[5.0435872776506425,47.676515292793226],[5.030001604156784,47.70940841478221],[4.992275225837213,47.688313503769756],[4.959844644041361,47.69697375959394],[4.953807643894032,47.70691553121908],[4.971770458339338,47.73022100712152],[4.949610301299183,47.765002530384045],[4.930742567556667,47.76133580408352],[4.918299821120011,47.7773135776728],[4.987227991995704,47.8032996343454],[4.993918239441858,47.81957144123197],[4.9683502146365655,47.83194135820226],[4.9540942495981195,47.8667681480835],[4.9282302679425625,47.871121167237085],[4.928173323343671,47.886876403893034],[4.901848449197037,47.921289405231384],[4.87629817749016,47.92022401352716],[4.857004574909452,47.895855881593434],[4.828942462053263,47.915128709594974],[4.866096820746109,47.94050603305215],[4.845182055142008,47.96125251907535],[4.811007449975246,47.95932655708529],[4.785061370779013,47.968869095555945],[4.794634345104126,47.983197869158744],[4.789083695644797,48.00782938255744],[4.749300809603172,48.00425102648959],[4.719943437560306,48.00889645519276],[4.704238250439468,48.0202323762063],[4.711006682460102,48.04991853541924],[4.688818526238874,48.073127919250304],[4.708492447514134,48.10012538889342],[4.730610406781701,48.11820899817677],[4.7632776797863725,48.11550181600475],[4.8193072949588815,48.10319242346332],[4.835619390228278,48.10855609279288],[4.829291938175258,48.129608375504965],[4.850099917169891,48.14175885538576],[4.837947597948636,48.168959717850704],[4.862104268789182,48.19962383107111],[4.844090578611303,48.24161361141823],[4.857678156974527,48.26856300069992],[4.842390138796092,48.28357098511807],[4.850845034125924,48.296245729889414],[4.814217580453079,48.323010826658724],[4.8414713515268755,48.339464111308324],[4.754719796035579,48.36668089354523],[4.76018751621395,48.38761245982979],[4.700747648353684,48.39575121376588],[4.672923053694571,48.44493692940629],[4.635723724779378,48.456919205602716],[4.6493513522062,48.47085769541501],[4.670183207291811,48.53188730232318]]]},"properties":{"code":"52","nom":"Haute-Marne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-1.0701645143702043,48.50849381419032],[-1.0605549892053183,48.51534444794686],[-1.003998750116345,48.489170559999316],[-0.9722539090536432,48.49459678797466],[-0.9563792193607108,48.5166180795957],[-0.9223589824244613,48.512387467627654],[-0.895759002734999,48.49483509679017],[-0.8603629154348681,48.50145849652254],[-0.7975558085305263,48.465278693659805],[-0.7778740724524535,48.46541168200867],[-0.7796468261489741,48.44602717779943],[-0.7572811397545338,48.436551469912764],[-0.7151034623418729,48.448949122074],[-0.7358573623603453,48.46112222178988],[-0.730343478460553,48.472706578375146],[-0.7020679300858332,48.467206812159105],[-0.6662397250359153,48.48588955148741],[-0.6510738694884249,48.44394876336686],[-0.5986229162657322,48.47101955265918],[-0.5502899127948604,48.47423143238625],[-0.5304357344769987,48.495166069981224],[-0.5050654278707298,48.50579601256293],[-0.4781981375781819,48.501570405632215],[-0.44380935670202487,48.51374721178168],[-0.3676233888648988,48.492944315128234],[-0.33820693066737895,48.50050101655408],[-0.3202385045732452,48.522920009526636],[-0.2715497531161014,48.50745217404008],[-0.2629746987558156,48.52359724467027],[-0.24146030977322894,48.53711490462154],[-0.26180278773892185,48.54789343136948],[-0.23435383691646136,48.56233718214002],[-0.20693829348513745,48.562944759163955],[-0.16938322355767327,48.53697934057344],[-0.14460396356167668,48.52775250488166],[-0.1663420949957147,48.51558833305454],[-0.14362687075469976,48.45472711281225],[-0.10641204070316028,48.44752336948581],[-0.051896256193192464,48.4532597698412],[-0.05735713318959158,48.42850475869075],[-0.05453120471342586,48.382003457815514],[-0.07781568991642306,48.369011884149366],[-0.11216445619965741,48.37424593844257],[-0.13797809431803487,48.36135559567944],[-0.1322639799404977,48.34367891800192],[-0.15624187430084163,48.33878308965111],[-0.15462051452709383,48.31399248085133],[-0.13808698398432823,48.2934339795153],[-0.162366087633251,48.26001034242559],[-0.16095933457080433,48.23880560928454],[-0.14518119273289676,48.224233621433555],[-0.14683706738655639,48.205008919837425],[-0.1989536608764294,48.17827619579444],[-0.24992127138834272,48.157106805241526],[-0.25380835722539496,48.13652925202679],[-0.2164164207043083,48.11373479657783],[-0.23852128063613662,48.08512943952702],[-0.22496575471956115,48.0740005169816],[-0.2309424436035576,48.058985357486335],[-0.27144577462211034,48.06524304546605],[-0.31721069812097374,48.04509335726533],[-0.3399323890629896,48.01160216696548],[-0.3160042679648186,48.00526279935535],[-0.2826331784456301,47.958191807392794],[-0.2953214951501512,47.944001512102375],[-0.33832856883634976,47.93101420361583],[-0.37509534291502034,47.93272853592671],[-0.39622906190687696,47.92596685050878],[-0.40710509590818,47.91084268048501],[-0.40516479150867374,47.89292797578798],[-0.37698156137550093,47.887202712966676],[-0.3743813069594822,47.85830770196427],[-0.40938712543111205,47.858367062871636],[-0.4478589178811479,47.832216379452724],[-0.43408017720781095,47.80905444470248],[-0.3882005825686289,47.80531865639091],[-0.3754332123417834,47.76723904317632],[-0.3817032700427246,47.76056283993387],[-0.38561432621561664,47.769116081601474],[-0.42831835229803605,47.76761186364019],[-0.4545880132966191,47.75647912746232],[-0.46447480825707566,47.76859230202414],[-0.5096576702100792,47.786039414506206],[-0.5328644845775566,47.750826614212684],[-0.5847783552138252,47.7583563948255],[-0.6108182423666896,47.73568882741341],[-0.6537866615388507,47.73338137800601],[-0.6714156583122058,47.741118751584196],[-0.7103297199047672,47.74460337209696],[-0.7417076584328766,47.73810748626689],[-0.7593093892972002,47.75375329055893],[-0.7838699174942475,47.75058272701156],[-0.816067662956568,47.77122618643005],[-0.8399853237495013,47.768146096038514],[-0.8392941203736607,47.75227330317501],[-0.8812984869415317,47.763548188692084],[-0.9251020877476097,47.78771562691841],[-0.9602944572916631,47.7963079545433],[-0.955206706607692,47.76711117947228],[-0.9784592276088574,47.76203334334952],[-1.0204536348384041,47.77298948127482],[-1.0676842898971974,47.77297059421489],[-1.1226318940891669,47.78417913959446],[-1.152946550291737,47.778006298929476],[-1.1931389674383266,47.78697417474339],[-1.1986209884138974,47.795087631101424],[-1.2382517343256678,47.80999146297073],[-1.2160077396105768,47.83115457607098],[-1.2139598200974668,47.84431487401968],[-1.1892286738461781,47.8675257247478],[-1.1966267612194066,47.88926967278471],[-1.176229425978116,47.89739680946678],[-1.1595139860083212,47.939220868111676],[-1.1539806565642339,47.96582146885006],[-1.1260769059410864,47.97331126695682],[-1.1026711686637318,47.98906278289821],[-1.0709701077191276,47.98180281363006],[-1.0212610284765602,47.99494016247969],[-1.018202579829028,48.012309356573546],[-1.0346655165784813,48.03361464779431],[-1.023283345569893,48.06891120315209],[-1.04960608939875,48.08980493060165],[-1.0602909002161003,48.150112461248],[-1.0796054903163383,48.18347699576321],[-1.0736642370047438,48.20075616092018],[-1.1015118599620337,48.26179752391566],[-1.0820973324543777,48.298390519589205],[-1.0450195299623026,48.327727830000974],[-1.0646345421184056,48.36828025341763],[-1.0539346752839132,48.383988802654805],[-1.0771281225801501,48.41169597169672],[-1.0830222073820854,48.43355484623164],[-1.06581502082362,48.4511898364817],[-1.0757201292558587,48.499394433638884],[-1.0701645143702043,48.50849381419032]]]},"properties":{"code":"53","nom":"Mayenne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.470910130592771,49.49720502129504],[5.541175427366362,49.51526468551874],[5.556054418170868,49.529249012712015],[5.593452750302351,49.52190879652461],[5.615929213702141,49.52712694494857],[5.636796547934622,49.54504576700591],[5.663216639729165,49.5527322793671],[5.701263034650679,49.53951786025749],[5.7325201904510275,49.544464906619325],[5.774412837219823,49.56298255279729],[5.793930405166045,49.551240203734956],[5.8369571912669995,49.54247191409379],[5.836233336445646,49.51985372493001],[5.869093663016168,49.49878274863684],[5.893401083719673,49.496909750110916],[5.9028920872339725,49.48379495708393],[5.938573949545653,49.47481323186841],[5.942282468750819,49.43034622332949],[5.91204332139632,49.40747659912329],[5.929562016978401,49.40189069409503],[5.9327717047585935,49.37015147282544],[5.956123967212049,49.36159497798842],[5.962613221125637,49.344866959890794],[5.94400804744167,49.334644506896005],[5.985220799804532,49.30517081937582],[6.006390696711231,49.3079648171488],[6.000492336268631,49.27537547287367],[6.006667263528377,49.26028809283966],[6.0286095479587445,49.24841255130629],[6.029385386695151,49.23047199221416],[5.987627297222747,49.20961691713355],[5.982834325573433,49.18651522282689],[6.002250831363206,49.185007006720355],[6.0261499402444025,49.16511893599002],[5.981384937221558,49.14445423565313],[6.00491999554859,49.113988280244584],[5.997395942366339,49.10784182738146],[5.931603285178869,49.10910433832356],[5.924683336615274,49.09212399499875],[5.9532001062961815,49.05400525300155],[6.045110478908419,49.013520358557074],[6.043435324319259,48.977477915970994],[6.081322571612109,48.96304750061741],[6.116912179457586,48.967832850981594],[6.132207146051102,48.93472094774055],[6.16233199123861,48.94287521453305],[6.177120700704927,48.934924104920626],[6.222641164054098,48.93850513094841],[6.245534632278756,48.92378375934002],[6.271977767337417,48.9331355970772],[6.288337094198781,48.9164057732219],[6.327264769799276,48.90519552048261],[6.298269555306107,48.88072376373154],[6.311714980584929,48.863826545661276],[6.2888587554276025,48.84323273382886],[6.338947107825573,48.834058199828384],[6.330651430081595,48.82330786866148],[6.370600538901966,48.78462319426055],[6.394874246018456,48.77476240981232],[6.433515038771951,48.78904238593331],[6.453603381539952,48.765894004837314],[6.489616200477496,48.765575862224765],[6.511039646542062,48.74880543901709],[6.5401903328498525,48.75385918265721],[6.564255135947671,48.74995572268137],[6.594835612692378,48.72922173177475],[6.598965570952483,48.71569079778236],[6.6236441629626235,48.713682866112556],[6.638020827883166,48.70287255743568],[6.658407329856351,48.70804728628271],[6.68791954042715,48.683627810294645],[6.733850339573668,48.663755791166636],[6.757341859177665,48.66339528935242],[6.782490229155465,48.642725006759726],[6.810500233885349,48.64743317270349],[6.836628311600907,48.643091017748844],[6.8440535368717015,48.62597500455583],[6.86360548586589,48.62031667084879],[6.905122950842201,48.61984409056823],[6.930006989091913,48.6355511656451],[6.960798228747959,48.60828605857016],[6.982896473118807,48.61187146059442],[6.994503728351811,48.59596380824709],[7.034244738955548,48.58041837913675],[7.05703294231895,48.55111677598128],[7.079359770973246,48.53641761270014],[7.064487678486664,48.52339791207404],[7.080630193411291,48.51267454477156],[7.123165369028565,48.513592265556596],[7.094019735640854,48.512952288683174],[7.050540315367024,48.49487862493578],[6.9829860045628855,48.47905957978556],[6.894133940205172,48.419480410764045],[6.866316381673087,48.43184823377053],[6.828255495843522,48.41660943907006],[6.815166528707746,48.398846200565345],[6.768836777292687,48.39954530354836],[6.760669183398023,48.411666746640414],[6.6994983396482075,48.41308754075586],[6.648289899981963,48.433884724429255],[6.62369925487009,48.473102199556955],[6.584971476704244,48.46050916362013],[6.568134528831446,48.438701194783874],[6.583870758203037,48.417225395440674],[6.5337102147419674,48.4313569295525],[6.500755073004984,48.41423379500427],[6.450365847505534,48.41505383549833],[6.422399441358526,48.40728279397748],[6.3313164158672315,48.404817172837355],[6.305674808715067,48.41318887901744],[6.3012588451180624,48.43051921403982],[6.270297573655838,48.42610067601965],[6.260443354875095,48.40640078999615],[6.23209682220264,48.400225955022414],[6.178419125638964,48.397598877997915],[6.147083853210351,48.404242546398436],[6.152354370824704,48.38097163461962],[6.116723785728533,48.35403844099854],[6.097642409054446,48.37159231795909],[6.066019115933426,48.359278767448906],[6.053418454701744,48.365636733016395],[6.025234465713196,48.356969332010294],[6.004066285882898,48.36147870334314],[5.960066474604184,48.35072931908477],[5.944654250679005,48.37581815056828],[5.954936403333502,48.387329103706854],[5.935989530326643,48.40287986588223],[5.879136424841787,48.403869307586056],[5.859177083813666,48.41623563816792],[5.8989549292934935,48.44671533650002],[5.886926216153374,48.45386839126565],[5.903569430927025,48.48024393097157],[5.8881463197842825,48.49400616317709],[5.856069666360071,48.506844385585524],[5.8141526013422045,48.49819514538156],[5.787024028409427,48.48291106954139],[5.765154701602298,48.49649260851312],[5.761049602880216,48.521683894153604],[5.776263522421036,48.54107814064725],[5.71608982178375,48.561424169817386],[5.718661477131132,48.59033867223855],[5.7647290820585555,48.60790861161145],[5.772143533804788,48.6202830387491],[5.7445806082888415,48.653070921811086],[5.744957392577322,48.67137758077308],[5.7646010210683505,48.701073717982744],[5.75271389850188,48.714164509499184],[5.719037232595988,48.73290914785586],[5.714036349479591,48.744533308856504],[5.741889978939901,48.75279715005143],[5.740251235774411,48.77265140486108],[5.767728814139585,48.79014237286009],[5.781194766587596,48.83501432221366],[5.765548217904568,48.87307300517377],[5.7910610910637805,48.88661747785826],[5.765854111109667,48.89809074303494],[5.747161790828688,48.91525787263704],[5.779494546763762,48.925543676493376],[5.800245290300757,48.94674605759089],[5.817089167952623,48.94245503424679],[5.847269852543282,48.95178377098051],[5.847464234333094,48.96231608120681],[5.80326928510364,48.98585252935934],[5.815223115374213,48.99679278215558],[5.821881378508286,49.022693614160396],[5.85417290109245,49.04241757672373],[5.808379157586719,49.075815388035736],[5.821401407633705,49.08761132685174],[5.817853206320084,49.11104150017413],[5.783813515045618,49.11260817951947],[5.771295494951546,49.10609592152142],[5.746940032204187,49.12460282697201],[5.7598104959514655,49.1500556297571],[5.744850073758657,49.156560167159334],[5.765544232834611,49.198088628043735],[5.725126551060128,49.19564550252695],[5.719044394768754,49.215986946421715],[5.7405557083585155,49.23011722139386],[5.720933295684269,49.24770674117828],[5.7307018275006305,49.269793739617505],[5.760519022687266,49.28011599684701],[5.768385347743778,49.30323265211939],[5.731786006583374,49.311343191085655],[5.721511174836554,49.331722881180944],[5.738361460568846,49.35203800497206],[5.703787894109554,49.38822577419103],[5.6873570419508095,49.39388035166439],[5.692251573142445,49.415032283683246],[5.634565984546508,49.43743606551583],[5.605732699304691,49.420038245637656],[5.570360828663015,49.42337579247067],[5.529099312496953,49.40737462726648],[5.501152367426069,49.40854921219478],[5.49401344811939,49.39033314948081],[5.465505385541393,49.39543214203441],[5.473184918539263,49.410751894615125],[5.494194442210637,49.40716409539809],[5.5082075510446815,49.42126281023766],[5.479078499230624,49.42581983768407],[5.484917984168407,49.447407925985885],[5.464077098251315,49.48166228909141],[5.470910130592771,49.49720502129504]]]},"properties":{"code":"54","nom":"Meurthe-et-Moselle"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.950989232683009,49.23686584630137],[4.964355608998914,49.24744898908259],[5.0490438324721545,49.285310734141504],[5.029829036850663,49.31126357145343],[5.026436999727152,49.33591387470532],[5.053405249590282,49.35696721044802],[5.060208646165214,49.3715170366231],[5.089930289451002,49.370323496215384],[5.10414955392406,49.38977780781045],[5.088196804414101,49.40639195324937],[5.105323165099615,49.42524686929281],[5.083514142411665,49.48411961123408],[5.062396105126222,49.49915347170529],[5.079628538782785,49.50986338174908],[5.100584675318172,49.53581688248469],[5.0894348019213345,49.54153840662955],[5.118278729173794,49.59307211738766],[5.144850262012005,49.589890809096836],[5.162975033383016,49.56353425622026],[5.2130512805303555,49.573482704275165],[5.232756898423872,49.56948078917659],[5.262709976999561,49.54181962580043],[5.311770447172107,49.55928969326421],[5.339875065404366,49.59248374512851],[5.379377254594306,49.59433240963621],[5.393536658328508,49.61708773850276],[5.430990436352139,49.592779697501115],[5.441967127749439,49.55082330374587],[5.465066186620626,49.53886525112502],[5.447572873980034,49.517370291127484],[5.470910130592771,49.49720502129504],[5.464077098251315,49.48166228909141],[5.484917984168407,49.447407925985885],[5.479078499230624,49.42581983768407],[5.5082075510446815,49.42126281023766],[5.494194442210637,49.40716409539809],[5.473184918539263,49.410751894615125],[5.465505385541393,49.39543214203441],[5.49401344811939,49.39033314948081],[5.501152367426069,49.40854921219478],[5.529099312496953,49.40737462726648],[5.570360828663015,49.42337579247067],[5.605732699304691,49.420038245637656],[5.634565984546508,49.43743606551583],[5.692251573142445,49.415032283683246],[5.6873570419508095,49.39388035166439],[5.703787894109554,49.38822577419103],[5.738361460568846,49.35203800497206],[5.721511174836554,49.331722881180944],[5.731786006583374,49.311343191085655],[5.768385347743778,49.30323265211939],[5.760519022687266,49.28011599684701],[5.7307018275006305,49.269793739617505],[5.720933295684269,49.24770674117828],[5.7405557083585155,49.23011722139386],[5.719044394768754,49.215986946421715],[5.725126551060128,49.19564550252695],[5.765544232834611,49.198088628043735],[5.744850073758657,49.156560167159334],[5.7598104959514655,49.1500556297571],[5.746940032204187,49.12460282697201],[5.771295494951546,49.10609592152142],[5.783813515045618,49.11260817951947],[5.817853206320084,49.11104150017413],[5.821401407633705,49.08761132685174],[5.808379157586719,49.075815388035736],[5.85417290109245,49.04241757672373],[5.821881378508286,49.022693614160396],[5.815223115374213,48.99679278215558],[5.80326928510364,48.98585252935934],[5.847464234333094,48.96231608120681],[5.847269852543282,48.95178377098051],[5.817089167952623,48.94245503424679],[5.800245290300757,48.94674605759089],[5.779494546763762,48.925543676493376],[5.747161790828688,48.91525787263704],[5.765854111109667,48.89809074303494],[5.7910610910637805,48.88661747785826],[5.765548217904568,48.87307300517377],[5.781194766587596,48.83501432221366],[5.767728814139585,48.79014237286009],[5.740251235774411,48.77265140486108],[5.741889978939901,48.75279715005143],[5.714036349479591,48.744533308856504],[5.719037232595988,48.73290914785586],[5.75271389850188,48.714164509499184],[5.7646010210683505,48.701073717982744],[5.744957392577322,48.67137758077308],[5.7445806082888415,48.653070921811086],[5.772143533804788,48.6202830387491],[5.7647290820585555,48.60790861161145],[5.718661477131132,48.59033867223855],[5.71608982178375,48.561424169817386],[5.776263522421036,48.54107814064725],[5.761049602880216,48.521683894153604],[5.765154701602298,48.49649260851312],[5.7385787703210624,48.466071385805314],[5.713228409793979,48.46034355947541],[5.67902361096049,48.47139115386205],[5.6151325162349,48.44043873717153],[5.564650216197492,48.441090759508775],[5.520280149216775,48.43239263092878],[5.510986594146936,48.41821515231162],[5.470061704426128,48.42092884036511],[5.445157350390678,48.425081250152175],[5.408498570986399,48.445794580180355],[5.406054924803939,48.46539304073884],[5.349469998299744,48.48198867902053],[5.327278259522607,48.50479938800887],[5.305623464696029,48.51591327057272],[5.264870353729535,48.51920792199762],[5.208425883036941,48.53861075457746],[5.173113022339201,48.55631460308862],[5.144873587885955,48.562874491019556],[5.117905583758205,48.58495445930086],[5.070374138899134,48.59610309669313],[5.049692721915686,48.631265806018796],[5.032284450963603,48.61329817233609],[5.0141448684428935,48.610214170115775],[4.99466786336989,48.62182551829475],[5.00616236089035,48.63348264533262],[4.992811815436962,48.65827053404921],[5.008333278861154,48.67023772723031],[4.988427677798425,48.684418562233176],[5.011787133446862,48.70669113644506],[5.009219993538869,48.74139150464051],[4.990124563499123,48.74183736486811],[4.947881817618987,48.771602644481156],[4.934571757746961,48.790360787111126],[4.889557040484959,48.798206203700566],[4.888760929797642,48.81720971453769],[4.93570201866688,48.840631475686905],[4.924676889741789,48.86463057973145],[4.924696402833776,48.89135651199283],[4.915798542054488,48.89979310962273],[4.9362093920054075,48.92214239512387],[4.986405609443761,48.93190826599592],[5.030128675561755,48.95690245547182],[5.037904334159841,48.9730160560533],[5.004646480636104,48.98364213966209],[5.032675426761192,48.99373965141204],[5.036321445219877,49.02433254954083],[5.0076814026818575,49.03495195077163],[4.96844159954904,49.02290133721377],[5.005744190171552,49.05987214490083],[4.99213130434257,49.114899861463385],[4.974408367068746,49.13340447110328],[4.953397966379194,49.17195155260111],[4.9397619983736725,49.18506820457861],[4.993377429884994,49.20962536427259],[4.970761881963812,49.23605865097721],[4.950989232683009,49.23686584630137]]]},"properties":{"code":"55","nom":"Meuse"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-3.4217944600697368,47.61999952861919],[-3.4406738530114698,47.62744679435384],[-3.461909001466569,47.62034681911687],[-3.507636790362259,47.64059795161403],[-3.49694135188665,47.65381152152095],[-3.4294813948989478,47.64229749186373],[-3.4217944600697368,47.61999952861919]]],[[[-3.1940520278217033,47.365886589187845],[-3.1558608908337975,47.36108442084754],[-3.1396408742776,47.32984432149179],[-3.093118374110732,47.31513470942471],[-3.0582391297313816,47.31171761648738],[-3.075226717105766,47.28765950170699],[-3.0952043253326664,47.28316064947407],[-3.1601157231427477,47.29225940386197],[-3.1676397818540765,47.30159326598069],[-3.1961744739708213,47.293731303533484],[-3.2210154756876954,47.29481986735795],[-3.249090302439361,47.31611992695789],[-3.23967936511255,47.32311099309081],[-3.260498308082758,47.35272839079793],[-3.260984257345955,47.37200040038536],[-3.2196122622040786,47.37940035282299],[-3.1940520278217033,47.365886589187845]]],[[[-3.523004293499609,47.84914685714251],[-3.5117214211485104,47.83199375246112],[-3.488375735328993,47.82369125414433],[-3.4584776087007003,47.83672369691625],[-3.449172314379866,47.861897916786695],[-3.4040114963344528,47.86615562756545],[-3.406618446285296,47.917155590887866],[-3.3870295747062062,47.925240278144464],[-3.4015047820862296,47.94296944095624],[-3.3922406780637284,47.95650358632056],[-3.4128264844188565,47.9741964735994],[-3.4627039996577236,47.948470485246176],[-3.4813997640454386,47.95187230610157],[-3.497303664400367,47.97663709189755],[-3.5156118733539357,47.97536899639446],[-3.5552758457516087,47.993098470462],[-3.5813379803683882,47.98707045002737],[-3.640231533075075,47.98524271311537],[-3.662606521516704,48.02008121333488],[-3.675286774640338,48.059296687637904],[-3.69816707482359,48.06231160032721],[-3.7032714693453843,48.08734402006448],[-3.725890623875097,48.09496610205945],[-3.73401071349441,48.11285300326305],[-3.717299501973206,48.12152104588753],[-3.7155113160954,48.14222278424499],[-3.69467505545132,48.15091429371495],[-3.6518557265570566,48.156583426737576],[-3.6283881260752544,48.1687248221492],[-3.564838973733329,48.18574694305737],[-3.5226593775760193,48.17866367131642],[-3.479531508235686,48.18604551951424],[-3.421483221253355,48.171908070532616],[-3.4365241396101114,48.15548652160798],[-3.412343177084257,48.14703755651635],[-3.375090054291556,48.16304435591315],[-3.344702681056185,48.16988498065198],[-3.3161758750965893,48.1545827022414],[-3.299596147833247,48.15481185209133],[-3.272244339627829,48.14001476484374],[-3.252339548077637,48.14912522090896],[-3.2153961448986896,48.148219713915],[-3.197060119674698,48.16274313777778],[-3.1552540693335707,48.15849094352833],[-3.13949669814907,48.16369070727257],[-3.1303749671924512,48.19836233856125],[-3.0406075793447904,48.20331232171781],[-3.0139527993300925,48.18705096969819],[-3.011766723688266,48.172146259772674],[-2.987721150165838,48.15963608311985],[-2.939688841727517,48.17157869268649],[-2.902695082695001,48.162745095709155],[-2.850803362250115,48.14117007726401],[-2.809828548228586,48.146257335704156],[-2.781951132488677,48.12057973083874],[-2.7579911570321793,48.11080992160437],[-2.702496597157526,48.11801355272737],[-2.6683740921478765,48.1327428357553],[-2.6531526316222527,48.118092931008704],[-2.6561723624005746,48.08428809143894],[-2.6733315926174024,48.06327971694363],[-2.6708865594355458,48.0502796096436],[-2.628212989216798,48.03379948794944],[-2.5808040837522404,48.06711154950066],[-2.5484346321898643,48.07671678652329],[-2.5493015028073205,48.09906568300373],[-2.516390296656647,48.12795387925489],[-2.5336627078715,48.156856696914886],[-2.488996903351025,48.15527484508064],[-2.457460857137994,48.163558679343076],[-2.4492428069717214,48.17301268121088],[-2.4070872062503708,48.167846923022466],[-2.399892263143436,48.154593831126384],[-2.375704866327887,48.141440597184854],[-2.371983930719517,48.12276022571531],[-2.321067331808052,48.123313308346624],[-2.307724031505891,48.136767145944454],[-2.287278430400511,48.133745563458476],[-2.255541810894401,48.10943651832076],[-2.255362117704863,48.065686457906594],[-2.2332446439270166,48.07562787634504],[-2.1873980178837424,48.08098581530162],[-2.1703797438923407,48.06358155989515],[-2.193720023024239,48.05137966801874],[-2.2418711140864542,48.05284164383506],[-2.2795950136703538,48.02636073132026],[-2.282925404888046,47.99091881499263],[-2.2328964298568574,47.998867256915695],[-2.2048365524509523,47.99406221955531],[-2.174134646718617,47.97976235737829],[-2.143950368919052,47.983469165776214],[-2.1112032705184025,47.959278246467555],[-2.098673563613805,47.93553710123405],[-2.079088544973962,47.91952249839454],[-2.0847410993122524,47.90544356892739],[-2.104913226347623,47.90237571011746],[-2.1162985684590643,47.88095628988424],[-2.0963111903663836,47.862554271425815],[-2.0912481690997526,47.8434473982296],[-2.05159236139944,47.858773023325405],[-2.0516011501156974,47.84056453938214],[-2.035760594626103,47.83230046155979],[-2.0495260703928677,47.816917397929046],[-2.07046358794415,47.81140390317735],[-2.072263910083875,47.79043840708027],[-2.1281864076334727,47.76137577244934],[-2.0847208937394774,47.76271449098266],[-2.05870429699438,47.73825600134232],[-2.108708446187951,47.736577355949336],[-2.131472084919135,47.72224026215694],[-2.1193410051181774,47.71063202277528],[-2.1226631940444274,47.68266972251208],[-2.104362517130758,47.67679662818726],[-2.1143465125517733,47.64948078140733],[-2.097035597340287,47.63135984401428],[-2.084994306680996,47.62123305096733],[-2.0869285812433267,47.60277534815358],[-2.10372254987444,47.58943141752024],[-2.096505468974894,47.57236562280809],[-2.0985539306805943,47.53395835736954],[-2.1560219978896007,47.52202803044017],[-2.1541846873077226,47.496364126798106],[-2.1832952625867295,47.49169698467854],[-2.1908096601747804,47.51205628181908],[-2.244282758246302,47.49360064884759],[-2.2613604986657707,47.51360628741794],[-2.2991284429653516,47.50047998605304],[-2.3131355987939677,47.48590211028132],[-2.31286829291468,47.46446874947645],[-2.354869937092447,47.454890712840786],[-2.370968184053226,47.46338717496278],[-2.3999436811786463,47.45598156061156],[-2.4230264761460525,47.477112579344045],[-2.453433891770773,47.46207445240776],[-2.45848916517333,47.44812172071826],[-2.4794720164550967,47.44310980823914],[-2.498735357450224,47.45724235463569],[-2.489565024970293,47.47431520811904],[-2.5015179310929967,47.489586634131676],[-2.4412239148217303,47.49623958282475],[-2.466145152823908,47.51170094995204],[-2.5177254508541034,47.52638405379225],[-2.543943614544709,47.52304464159969],[-2.5528199043026465,47.51257795028038],[-2.6035175490392004,47.51629291634741],[-2.603686239678167,47.53097620577883],[-2.652315813187561,47.53948128320896],[-2.6518523877085074,47.52918871697427],[-2.681267629896647,47.49582645624765],[-2.7155074792326994,47.50555679146207],[-2.783910628164775,47.49416982507097],[-2.7953631847353706,47.48606302718516],[-2.8494662625405485,47.498716770371836],[-2.8475718355405935,47.512071687742385],[-2.8752313484549616,47.534363529261185],[-2.9132300200024543,47.543009316861514],[-2.9093071370148396,47.55995295111369],[-2.882650360709671,47.56273792316479],[-2.8621207995589244,47.54108127622838],[-2.8188916250932614,47.547311960718446],[-2.8053190952421017,47.55465057729475],[-2.762369364633524,47.53644978740993],[-2.7342064067723255,47.55206430843042],[-2.7154316604959736,47.57654253087959],[-2.714432950008992,47.59298967346035],[-2.757592183654573,47.61287735101191],[-2.7545302536260285,47.635943017790716],[-2.7951916631184384,47.619515983940175],[-2.8312692184373036,47.613980283771895],[-2.851150732135118,47.619022264840936],[-2.8883074806182694,47.60372031432131],[-2.8941178097199294,47.58191685891699],[-2.9370470028114317,47.59651736500671],[-2.950659153900295,47.579303860754656],[-3.0046859134608477,47.56646553748797],[-3.026468461710979,47.58394599905037],[-3.094879923920414,47.564686311749014],[-3.1232589863704034,47.5695081568697],[-3.1332300779049587,47.532435621621886],[-3.1169009752940933,47.4961604922533],[-3.09449650710579,47.482412765246636],[-3.129391708495516,47.4738244656134],[-3.1517748821158404,47.50387332474793],[-3.152063868227419,47.52789301771813],[-3.1345805586210473,47.54882366707632],[-3.139749279889078,47.57960047643262],[-3.1583771335933584,47.6069849085308],[-3.1937321982478797,47.62194072617485],[-3.2097530809913435,47.640690040350975],[-3.2081288735823428,47.66342980157541],[-3.190504238501219,47.68254092926842],[-3.166595512762787,47.6804302446036],[-3.128059188762987,47.70555367694903],[-3.1259616002794033,47.72345749155855],[-3.159418178564092,47.737388379799775],[-3.1763421131463927,47.734689167234386],[-3.1737051439382005,47.701956980943464],[-3.217549801386117,47.66730699988139],[-3.214971438983497,47.64522440607226],[-3.270895013000413,47.6788711919624],[-3.28786392948088,47.700955682089656],[-3.3409140108798394,47.70870473596058],[-3.34887310198566,47.728643297493896],[-3.387107819813834,47.70188799129091],[-3.4304371204407182,47.70321133479036],[-3.452760568692728,47.69534163728435],[-3.4983535994006227,47.72943310383713],[-3.520959375326517,47.75766895361749],[-3.5299269866083183,47.78246448849144],[-3.5173821429083914,47.80503760359084],[-3.5359178691698356,47.81643884429237],[-3.5382904863091595,47.836020899790604],[-3.523004293499609,47.84914685714251]]]]},"properties":{"code":"56","nom":"Morbihan"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.893401083719673,49.496909750110916],[5.939944946897957,49.50096978911359],[5.971783320923806,49.4913163055914],[5.982536594108972,49.45105527746582],[6.02765177650771,49.455538917030424],[6.055623323914133,49.46535978168454],[6.076705098128764,49.463656672860225],[6.123474712997803,49.473441852078615],[6.155249287805073,49.50381182382041],[6.256413026994873,49.5100225584692],[6.279098229910086,49.50335719786734],[6.296571041016304,49.480106944913075],[6.312489363480976,49.48032031550801],[6.364391072331403,49.459485597794696],[6.407623710243866,49.4675154675881],[6.419090928661235,49.474937866427084],[6.470082245543733,49.462763723134074],[6.554360572853942,49.41838313208105],[6.5405283477242735,49.401145041619664],[6.563269082557648,49.38828526012536],[6.587074296882195,49.3849358288203],[6.568452040389599,49.3449154814342],[6.5955807025304996,49.33027144782366],[6.588884741951244,49.32209317831749],[6.6175524843963345,49.302169283821854],[6.638579265784432,49.29553478914614],[6.660330281989145,49.26096781243674],[6.684616608971706,49.24231882936001],[6.694810016062328,49.21590718897018],[6.71965859480421,49.22137943216265],[6.731498100833765,49.2060909576377],[6.711364818806887,49.188541683234874],[6.738512367681464,49.16366113912631],[6.7845550558709675,49.168090266711616],[6.834537718950126,49.151466712468384],[6.8609420718719845,49.17871523308854],[6.851537824818373,49.200484084387014],[6.835378369933188,49.21132385245782],[6.857449193294861,49.222275027981475],[6.885215505575565,49.21104948546778],[6.9354255357579655,49.22215593921376],[6.959285196153518,49.20300203966244],[6.974631643711455,49.20981472133559],[6.998806412798309,49.19427844167972],[7.034324960729169,49.189681536322034],[7.0276480006522135,49.17008240822472],[7.046147533263103,49.13856517309118],[7.054297461807657,49.1126326923314],[7.102777636286391,49.140499445767595],[7.156729211133253,49.121305964534294],[7.183938532639857,49.130733985517935],[7.206632231887248,49.123477362718766],[7.245302859127929,49.129807084465035],[7.282600803455493,49.11693169088899],[7.298652796709717,49.117457118012105],[7.329841252153916,49.144944493025186],[7.36284676727469,49.14521917131234],[7.366092677702596,49.172465701358625],[7.4450608117676325,49.18430555508701],[7.4552291504089965,49.16632509495078],[7.493995166397878,49.16963770649743],[7.492159555313797,49.14186210733454],[7.515445437889962,49.12116845523475],[7.528977470244165,49.097207912439856],[7.569010373147195,49.07978656309812],[7.599982064041664,49.08333244993025],[7.631070828249015,49.07018534790654],[7.635285449703197,49.0541613551771],[7.6400276339065405,49.049114242922506],[7.609553546221074,49.02123201245433],[7.591218725544888,48.993724868247604],[7.57839213753989,48.95740241810784],[7.533247825039657,48.93350273583194],[7.50187360937539,48.94425222519554],[7.479572330825655,48.96139105276517],[7.451630239981024,48.967962755037526],[7.392311568753424,48.952706941018526],[7.358876660684313,48.95760287154302],[7.326851980608823,48.943372742020955],[7.293949845247019,48.97157404948427],[7.236031367305892,48.987818615118876],[7.209311457091751,48.9800881370531],[7.174240270723143,49.006365681338195],[7.130505931552783,49.00459350678602],[7.119477346819226,49.03721652969957],[7.108081132396537,49.04341471828652],[7.103885148469087,49.074161754697926],[7.068107134587352,49.066879969038716],[7.078659891943001,49.05036062768427],[7.054911912536333,49.03061918771655],[7.05300726402484,49.00729189414574],[7.038359726746952,48.99687346466287],[7.032219488521415,48.95604910228417],[6.98921640979739,48.95992878867804],[6.978894125394516,48.93334137925148],[6.955547179403453,48.922319717315936],[6.964601688658047,48.90452526765522],[6.988916052470446,48.8911922591983],[7.044405156028646,48.87353491651631],[7.050249140492324,48.85934342449812],[7.081165552464466,48.864100481733125],[7.086623738193806,48.847740597072104],[7.051334597348638,48.84628529036997],[7.054514540544794,48.813704386223854],[7.079303305840072,48.81404016744667],[7.088166864000689,48.79249269644048],[7.1231658021967155,48.80450097964112],[7.146671555297553,48.82130284961471],[7.149408408912651,48.84470403837187],[7.195876686739622,48.840397988184655],[7.196675525429877,48.828301758643974],[7.228655644882326,48.828038818777635],[7.262026914660001,48.797761488092036],[7.291233271693293,48.79399531609868],[7.3064497001602975,48.7691099850618],[7.286884538061931,48.73134414106466],[7.266625221422177,48.714209030699415],[7.260168326105747,48.69429915361379],[7.242261522633183,48.69210964676438],[7.2645955424124935,48.662703775725404],[7.30435493964854,48.6602012988693],[7.270398382732597,48.63054438708614],[7.278427796440234,48.625202388791344],[7.256388448234081,48.60150853250187],[7.256281654444217,48.588675507652],[7.2183172603088295,48.55264406598888],[7.1924855682726525,48.54879290260453],[7.167909935894842,48.527596443549314],[7.147094880277466,48.52694681230707],[7.114376678081027,48.537389878992194],[7.079359770973246,48.53641761270014],[7.05703294231895,48.55111677598128],[7.034244738955548,48.58041837913675],[6.994503728351811,48.59596380824709],[6.982896473118807,48.61187146059442],[6.960798228747959,48.60828605857016],[6.930006989091913,48.6355511656451],[6.905122950842201,48.61984409056823],[6.86360548586589,48.62031667084879],[6.8440535368717015,48.62597500455583],[6.836628311600907,48.643091017748844],[6.810500233885349,48.64743317270349],[6.782490229155465,48.642725006759726],[6.757341859177665,48.66339528935242],[6.733850339573668,48.663755791166636],[6.68791954042715,48.683627810294645],[6.658407329856351,48.70804728628271],[6.638020827883166,48.70287255743568],[6.6236441629626235,48.713682866112556],[6.598965570952483,48.71569079778236],[6.594835612692378,48.72922173177475],[6.564255135947671,48.74995572268137],[6.5401903328498525,48.75385918265721],[6.511039646542062,48.74880543901709],[6.489616200477496,48.765575862224765],[6.453603381539952,48.765894004837314],[6.433515038771951,48.78904238593331],[6.394874246018456,48.77476240981232],[6.370600538901966,48.78462319426055],[6.330651430081595,48.82330786866148],[6.338947107825573,48.834058199828384],[6.2888587554276025,48.84323273382886],[6.311714980584929,48.863826545661276],[6.298269555306107,48.88072376373154],[6.327264769799276,48.90519552048261],[6.288337094198781,48.9164057732219],[6.271977767337417,48.9331355970772],[6.245534632278756,48.92378375934002],[6.222641164054098,48.93850513094841],[6.177120700704927,48.934924104920626],[6.16233199123861,48.94287521453305],[6.132207146051102,48.93472094774055],[6.116912179457586,48.967832850981594],[6.081322571612109,48.96304750061741],[6.043435324319259,48.977477915970994],[6.045110478908419,49.013520358557074],[5.9532001062961815,49.05400525300155],[5.924683336615274,49.09212399499875],[5.931603285178869,49.10910433832356],[5.997395942366339,49.10784182738146],[6.00491999554859,49.113988280244584],[5.981384937221558,49.14445423565313],[6.0261499402444025,49.16511893599002],[6.002250831363206,49.185007006720355],[5.982834325573433,49.18651522282689],[5.987627297222747,49.20961691713355],[6.029385386695151,49.23047199221416],[6.0286095479587445,49.24841255130629],[6.006667263528377,49.26028809283966],[6.000492336268631,49.27537547287367],[6.006390696711231,49.3079648171488],[5.985220799804532,49.30517081937582],[5.94400804744167,49.334644506896005],[5.962613221125637,49.344866959890794],[5.956123967212049,49.36159497798842],[5.9327717047585935,49.37015147282544],[5.929562016978401,49.40189069409503],[5.91204332139632,49.40747659912329],[5.942282468750819,49.43034622332949],[5.938573949545653,49.47481323186841],[5.9028920872339725,49.48379495708393],[5.893401083719673,49.496909750110916]]]},"properties":{"code":"57","nom":"Moselle"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.8746252064056805,47.52042311253978],[2.8489038940037736,47.53754044480101],[2.8574899628231805,47.552844658956644],[2.890770179974213,47.55309660602271],[2.914297452553034,47.56597018271849],[2.95865823105343,47.55738006412381],[2.9765380120036067,47.56942879709582],[3.0187759740569513,47.55731386824091],[3.059199650745983,47.56884905584853],[3.080558427544962,47.5854885999859],[3.102009918822544,47.58795615956075],[3.1350763394879597,47.5419077972082],[3.165190757880271,47.51750199807388],[3.2046491761957805,47.522966343570126],[3.2354902376938353,47.4891790840854],[3.2721566613710795,47.49154765493751],[3.2852515362929866,47.50393862662616],[3.3395269332726487,47.47816523272086],[3.3807002450190415,47.48729175533955],[3.3972880002653882,47.508867495938276],[3.437164175942187,47.50799559642577],[3.488276701493949,47.493830911376975],[3.492366537968952,47.56012889108053],[3.50460694021663,47.557934222629186],[3.5135049928892266,47.527668013741454],[3.553140570878716,47.50232679103883],[3.5806168100615214,47.49786323631363],[3.580113356556516,47.46490071648911],[3.6789914842274665,47.445533677873506],[3.7147823454353084,47.406834666623176],[3.74055092250182,47.39650073819435],[3.774605414302544,47.40619956994621],[3.785647440559844,47.39054224193822],[3.818472205441228,47.380187941025326],[3.8217875906686545,47.402796919032404],[3.8443762508505244,47.41082738551116],[3.851506603080638,47.43558613394464],[3.878310953801514,47.42929226716236],[3.8933965172489198,47.410290156628015],[3.8635369268343536,47.395841532600606],[3.8718702934595615,47.36693490948858],[3.8867653218201808,47.3645805378824],[3.9087922026053734,47.38205569491613],[3.944243142987652,47.38021568332925],[3.9653529425108722,47.3652327054121],[3.973097819719344,47.332712674420605],[3.999278507688071,47.312773725416655],[4.028760221806572,47.31557728480351],[4.046432164286821,47.339943756300286],[4.106085850126875,47.339255985490894],[4.1249016818373665,47.33586115686488],[4.130399481098536,47.32021421171321],[4.114111422721765,47.30795616873572],[4.115801786333514,47.27973253282323],[4.135479914723283,47.23739632412277],[4.178052482394732,47.25029686466267],[4.218051703421399,47.22051351486304],[4.230668433773607,47.19895113888856],[4.21254075976185,47.18181888845327],[4.209834279044644,47.15541168354448],[4.1819015999311935,47.15050500507014],[4.137377150535575,47.14271256994814],[4.115067396116834,47.14616206884513],[4.1159670699158095,47.12333757652634],[4.093453790716921,47.11837533659616],[4.06142733788571,47.121041664100176],[4.038726355028209,47.08001003428516],[4.068333453149657,47.060849772300685],[4.0565135025792305,47.03590917660347],[4.054940156290852,47.0126839142093],[4.0314701513696285,46.99832730189447],[3.9951563121844047,46.9853110258271],[4.014415061270238,46.97247440888245],[4.039401951235417,46.98511001230653],[4.055716129773101,46.956751483000446],[4.037221978317054,46.91815560684184],[4.047930985015345,46.899770705295666],[4.063541781254885,46.898637142134945],[4.093851364443379,46.8747343332292],[4.10088702370378,46.859107279954316],[4.056234450174584,46.843272376735854],[4.062709832615211,46.78936469128212],[4.033374685377483,46.787597067958394],[3.9632215617966824,46.76602786916393],[3.9268461357095314,46.73932209846788],[3.886217784502878,46.72736946397975],[3.8446585970830824,46.720902226508414],[3.8260957715927075,46.70391953563021],[3.797329518692337,46.70150263714515],[3.783666045566592,46.736048122663426],[3.73619002089105,46.75247120098576],[3.6764513769021243,46.738863704610445],[3.638852795875816,46.7414291297393],[3.629423683496518,46.74945902193754],[3.575688644059658,46.74951576942387],[3.598004570548422,46.72398257750036],[3.5773110866449174,46.71485003618856],[3.550392218815862,46.715864672081594],[3.5601217846433015,46.68944384651715],[3.546479370174174,46.67829016254972],[3.523959952566555,46.685994912475735],[3.4885699471242644,46.6601824726314],[3.45529917195652,46.65239553162601],[3.4473359853067485,46.66355627140273],[3.453772658174005,46.68414192059341],[3.432977086126445,46.69334363262723],[3.43414613166678,46.711906018109566],[3.3877607382601562,46.71481835659156],[3.366446289777872,46.69126127383442],[3.3467088070518343,46.68441634541089],[3.3139717258866157,46.688751593416065],[3.3009216002863893,46.7163033886406],[3.2697920192933188,46.71674092868996],[3.2155498733945853,46.68289184476865],[3.197261486410674,46.679926344970944],[3.1631563644760856,46.69354021702288],[3.129775813721409,46.72720423640006],[3.0839363013486563,46.73762859045693],[3.049065356287102,46.75807894189366],[3.0320681893946824,46.794911188525944],[3.059347134977098,46.82726033600817],[3.069533804251037,46.85306859289044],[3.0680947893123323,46.877676731330354],[3.0502941730720203,46.9106303658982],[3.0793297925031697,46.955118753700084],[3.0628630913516144,46.98581276267424],[3.0757508386893258,47.019144570799824],[3.0627479524794685,47.04527994600743],[3.0232152406674615,47.06261687352466],[3.0313750673889857,47.09247842625923],[3.0280852399597813,47.129067685143],[3.0092825607816684,47.17991916254789],[2.9816846477683376,47.22199695723395],[2.9834041014118906,47.25976318037284],[2.9378686076548557,47.287718487007425],[2.9077684884182546,47.31098769398195],[2.8767969741076427,47.321752773704915],[2.8734906167112504,47.34839595881793],[2.9194707204649397,47.407274676600125],[2.931175112801269,47.441669509538606],[2.9026727758043678,47.4787904760825],[2.8884546532335578,47.5094282811585],[2.8746252064056805,47.52042311253978]]]},"properties":{"code":"58","nom":"Ni\u00e8vre"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[3.0403984136982025,50.159705108437066],[3.063005335119136,50.17367767246187],[3.0939135240338187,50.1622262487789],[3.0681434935957395,50.14734495422104],[3.0727880608848768,50.131186438720206],[3.037036047993321,50.130313345175814],[3.0272922183841873,50.118551266105456],[2.9993155954143598,50.11885065997644],[3.0038853511528694,50.15024647820991],[3.0403984136982025,50.159705108437066]]],[[[2.067712027611001,51.00650515466528],[2.1101030884192196,51.00515436424168],[2.1387263723924743,51.02047731288083],[2.1902457546664613,51.01804063448275],[2.1918237851448867,51.034715807218134],[2.218563107404832,51.03222167243631],[2.2590195633030064,51.043490583642196],[2.342194490550121,51.057309558240824],[2.395233281299764,51.05033008301106],[2.4247542826080695,51.055626117413155],[2.5463252972819905,51.088402305103116],[2.5628959666132043,51.064605626153075],[2.575982419777286,51.01375274755887],[2.5739940374755257,51.00352108038122],[2.6080265106495104,50.98718243218274],[2.6326872836805335,50.94600519935866],[2.5900130400649437,50.919096163778526],[2.607535290732441,50.9124066086538],[2.610326300169626,50.862061552621626],[2.634982733121708,50.81275641876223],[2.7181914035396804,50.81320560793264],[2.737511840411906,50.782670872072046],[2.781947131330458,50.751092598326686],[2.7867446611456996,50.73381921547943],[2.813275390169948,50.716947630173586],[2.8483804350303905,50.72291764499729],[2.870172980563469,50.70291406808004],[2.8983800599236966,50.69423611297018],[2.922327234684258,50.70280503897035],[2.9374114543505443,50.74209770629575],[2.969662775707332,50.74961097888233],[3.0220450489487614,50.77210693218003],[3.0613770323899683,50.78050085123832],[3.088705984283759,50.77336931450737],[3.1109249331515394,50.794122278216896],[3.1519976780893755,50.78234329668403],[3.1991342816652897,50.734730939175776],[3.211782829092417,50.71325538898358],[3.2446834848058272,50.71304246580907],[3.2583851392745764,50.70064949194268],[3.2624232273169933,50.6784852826563],[3.2410965359392057,50.65778991575674],[3.25520436601742,50.62258275479467],[3.270292523712289,50.610812110449736],[3.2817266737308675,50.57732844552126],[3.275957418697949,50.55853840025285],[3.286531399925948,50.52757580555707],[3.362673754976159,50.50309643957861],[3.3762218373048696,50.49108182460425],[3.432248715257614,50.507118771607686],[3.4739635628750074,50.533561751146436],[3.5194110029872943,50.522868831996384],[3.4963210235985827,50.498683290226374],[3.5223176214061334,50.49496788323126],[3.5683447329862488,50.50097669533296],[3.5853371177327213,50.49053885448199],[3.607087548067213,50.497283044825515],[3.6436495322531623,50.463211807396284],[3.664218477773235,50.45317465879256],[3.673733173288203,50.38972521710218],[3.658270970690328,50.37134117960119],[3.673675908769281,50.3349233228203],[3.710430924740463,50.30316614070561],[3.731606234421014,50.31235332867399],[3.7362206016065613,50.3432570480394],[3.7474038155627727,50.35092914840201],[3.8527555820958135,50.35159288086556],[3.889799951126813,50.32998024472696],[3.9090033110400197,50.328466474363545],[3.967898522087576,50.35036640688851],[3.993908424048428,50.3486153355103],[4.027387066832294,50.357490365275616],[4.037614330208127,50.34294913095139],[4.12197186382358,50.298311640610294],[4.124352666164769,50.27361398697191],[4.207538662540225,50.27297040073831],[4.221850100147642,50.25695260304661],[4.189455991301053,50.23687571936165],[4.160120194753328,50.202535967141905],[4.149388632981125,50.174787171955124],[4.154073029606527,50.161253710023075],[4.126926892460069,50.13501086614893],[4.197038470830976,50.13530868448463],[4.197497822706036,50.109176465683625],[4.227538806961173,50.079679063351016],[4.217832037790911,50.06080510279823],[4.173905462387534,50.045603929706495],[4.162223866832849,50.04898484693673],[4.136379263762434,50.0204647847058],[4.157702243163169,49.988249823321674],[4.140895251736092,49.97875959899442],[4.08712850474961,49.9691875854119],[4.056699209471129,49.98542604488944],[4.01304088648856,49.98566024631078],[3.9794498952640214,50.00299190781123],[3.9947330894398947,50.02553192166869],[3.9895472401156926,50.0413469883853],[3.903385572183311,50.01801137888116],[3.8820101104438387,50.03303286775057],[3.8356719382516733,50.048312733420666],[3.815827444952555,50.03904215991495],[3.797523254135232,50.048396124718515],[3.7463798889650586,50.05360423497288],[3.715184685025503,50.06927463596353],[3.6657493008457873,50.05473310262326],[3.6623093500340085,50.03911432468407],[3.6136399192005855,50.025418579177284],[3.6006637298781827,50.039925849470826],[3.5671883147756422,50.053261540953365],[3.542755355797365,50.05391998941126],[3.5286139046189744,50.03818286664185],[3.507141600307539,50.03577661902003],[3.490663196296732,50.0188947701039],[3.4282376399201713,50.022065913063614],[3.3989075840823038,50.03475745860893],[3.3529820989914247,50.03586832624208],[3.3371140096429532,50.017096007517154],[3.2801740988851327,50.015182550806884],[3.2306551064640994,50.03198300751153],[3.2026122838195157,50.01743710744522],[3.1729557922769542,50.011311964972776],[3.117562382696325,50.027670727516394],[3.090253620620082,50.05374055513492],[3.094758364918514,50.08315987378872],[3.1141238720183764,50.092160389605915],[3.1048462443791918,50.115285460750734],[3.0918531294760667,50.12063041191277],[3.128954376035887,50.16556204959065],[3.1561320895920617,50.183715151473976],[3.1314047305598587,50.19940491824935],[3.1427922279498945,50.219237231259655],[3.1788851239271336,50.219073327099096],[3.188353526948621,50.22867621857968],[3.1556853741465,50.243187559380864],[3.133679451303655,50.26623580402242],[3.0515044113968517,50.276650211776854],[3.018560069810309,50.26439442090914],[3.0152741338861255,50.283780191722634],[3.0843056602069536,50.31119078351624],[3.004772238368158,50.36678462460666],[2.990408003554761,50.39527899657189],[3.0251728351795903,50.40757565859167],[3.076383262967528,50.44060786930254],[3.0543582082042056,50.455089924005314],[3.037672306035308,50.4416400980408],[3.016772027301739,50.44834132930235],[3.0157717239835207,50.48645538436221],[2.9647097377674005,50.512778020799246],[2.8989518584324676,50.5015578156606],[2.8798761281832572,50.51589325872625],[2.881364535884128,50.535434775320184],[2.8259824668620874,50.52538845142136],[2.801938478218003,50.53483062913716],[2.8134467388705726,50.54934391547588],[2.80816309470569,50.57916943876986],[2.7890757995406865,50.583060514887364],[2.8065346151718447,50.606764517797096],[2.8424416096298035,50.62905410400955],[2.8697378084597434,50.631095996029686],[2.8404494526472543,50.656566351394346],[2.809187984818708,50.669372896442674],[2.7690409100193936,50.66367813929786],[2.757400535457718,50.61823745589094],[2.725641525704916,50.61411481623499],[2.713850503520111,50.63129225354632],[2.6844644994994438,50.632719762619324],[2.630516060197486,50.617951505356416],[2.5866206729970513,50.63809536205738],[2.564653031146168,50.624522730303156],[2.5370449897762186,50.63045370101787],[2.533625965601234,50.64308581112802],[2.495948921017839,50.631244941936494],[2.4503937034166032,50.65384652293581],[2.428985110726485,50.65701656077829],[2.40779242678447,50.67276560279946],[2.3831045994174644,50.671828851607664],[2.363524646595893,50.684643637888016],[2.3829874868893204,50.69628206936786],[2.3417485781495326,50.72837526546449],[2.34089102647672,50.74090632543495],[2.4114775397506802,50.76673424707295],[2.375989607627449,50.78404912635709],[2.3428811569437658,50.7810883826341],[2.252496270869472,50.788115718263434],[2.213001675000002,50.81619844972972],[2.2018976811147395,50.8508405908696],[2.1541252595915212,50.92600143483312],[2.1353365874298347,50.96425774404664],[2.097600537080802,50.998427200370195],[2.067712027611001,51.00650515466528]]]]},"properties":{"code":"59","nom":"Nord"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.7838370588623413,49.75830750106765],[1.8089798932395025,49.754332476868704],[1.836736935686628,49.74011542093402],[1.838108169073818,49.708425628485685],[1.8938643249004963,49.69898823076106],[1.9332098221662726,49.719629963489474],[1.988919892649775,49.709402970462676],[2.0267681801791118,49.711310876188165],[2.05989780108139,49.6948752492932],[2.103494780498011,49.694736883916796],[2.1214097069260887,49.68807409174484],[2.156484137758264,49.70211563032466],[2.21756318128915,49.70246959323254],[2.2850923978754705,49.689388245191964],[2.3157256235726433,49.689753026308125],[2.337642942746636,49.66900004753446],[2.3708606973518425,49.65635328949203],[2.409702695719323,49.66099609376744],[2.4456566302700073,49.65297898416902],[2.4781226406322063,49.620790233933015],[2.506120221148308,49.63500671034503],[2.526732085722268,49.62940041323432],[2.571493337841171,49.59708062701416],[2.5970251802580453,49.61168115170793],[2.62379591221486,49.61023030743844],[2.6299442784590084,49.58032399470266],[2.649628562594336,49.5717641083625],[2.670723151725744,49.58141197178741],[2.671248956542555,49.59858674592385],[2.687556334287926,49.62475309433038],[2.7395572131560577,49.626924487224116],[2.7709877504026585,49.61435313605804],[2.7980938007575653,49.61811251953584],[2.7897685778094523,49.638092566661996],[2.8007055089354633,49.661447402253124],[2.843350258918428,49.65852651008911],[2.857260670232296,49.68366758301244],[2.915712813038834,49.70267238896688],[2.9495143470656977,49.69065965176808],[2.989594629116647,49.70802042057901],[3.026158602863713,49.680298029261905],[3.0629504716788527,49.71256910166192],[3.1184031553047866,49.705968560150744],[3.115636640843051,49.66498825414465],[3.09777622468101,49.65668309123162],[3.1127661529868123,49.63132972837916],[3.093575310755229,49.622548596683885],[3.1220112456372937,49.60374206640511],[3.139814891208892,49.57623313724928],[3.126982208375892,49.573038994477],[3.1314803354793224,49.54337765179183],[3.121165955043159,49.520974573583764],[3.096325086537241,49.51789625444081],[3.1212810029381983,49.493670908120365],[3.1070854783285102,49.46823138703083],[3.1605832452848968,49.451589762665364],[3.1626441754771344,49.440639681268124],[3.131884455784113,49.43177892295364],[3.1005059556280803,49.439314058331185],[3.0925346575940007,49.37534154439133],[3.076780341252717,49.371262738908456],[3.0747246045970944,49.34897187029861],[3.042914962956999,49.333571302660516],[3.001513216421808,49.34001503161223],[2.964603145483289,49.32192389525919],[2.981004000749905,49.29790832703466],[3.0351669019132688,49.2871713469825],[3.025849635470415,49.25992627182155],[3.0397940574425517,49.22840404055804],[3.023604722971875,49.21655041441553],[3.0027869375627287,49.23569244874083],[2.958587991995842,49.226138012652044],[2.970646337718828,49.21429263146397],[2.967751163640478,49.19164549413419],[3.00241402574711,49.187810905489094],[3.0004940244510117,49.21363093492948],[3.0499603800932262,49.20875690532957],[3.057604302772935,49.19731791616205],[3.1027108891029056,49.19726093786907],[3.116850461379955,49.18929161278119],[3.1213530433372445,49.1615694736916],[3.1396578896700365,49.15257695363476],[3.0943242330142073,49.14204789992474],[3.0924779533731277,49.12879682562634],[3.071884293834167,49.117554218816146],[3.0483639955943445,49.086321770811566],[3.0085155429257675,49.09151015780461],[2.974612129302612,49.07483790651457],[2.9015078805206906,49.08537404257291],[2.8949540105299616,49.077060509386286],[2.8560893422319023,49.07003394285967],[2.845152480122472,49.0846582975852],[2.7918669791571764,49.090224385649144],[2.7870683167938073,49.075272380356054],[2.753551034147009,49.06074104171223],[2.7067286108537023,49.06571610231719],[2.673154178752123,49.090859401094306],[2.633272965218076,49.10837621896302],[2.5905242793946224,49.079654846732424],[2.5581713639343153,49.09838623642425],[2.4899309091229616,49.10636117791936],[2.5032579551258722,49.11758406300134],[2.471584849664169,49.13543134509872],[2.4131026213629148,49.152351151856486],[2.3912888696248515,49.14934773205012],[2.3462570508145517,49.161815824563625],[2.3109290446865427,49.18640655833579],[2.2864129770481765,49.15992057659305],[2.252488213818398,49.15288152246086],[2.218650036331584,49.180682600571025],[2.1819500283812623,49.17367773782481],[2.1327389034606554,49.191378260554046],[2.0968812642737786,49.18975715797898],[2.0749104023995684,49.20868708172066],[2.0006083248213287,49.175708039448175],[1.973760882151743,49.18378113635129],[1.9607171449401366,49.173518197205695],[1.9314802344723212,49.17417045483985],[1.8852389528169067,49.16263786454188],[1.877040859056052,49.17144524902654],[1.845548847714221,49.169897638882595],[1.7954686863275515,49.18525912523885],[1.755165127607803,49.17454501384096],[1.7421373979981678,49.18015527802457],[1.7341091564710822,49.221278789282294],[1.7043642065965865,49.232201775163404],[1.7104793339744566,49.26446416218004],[1.7345063044967537,49.26899820204799],[1.7643521273092135,49.2630859414422],[1.7895325987859003,49.247868037421206],[1.8026808722972285,49.271950623613535],[1.7757705439300602,49.29951534986682],[1.7679448109268296,49.31982583692622],[1.7741379719748898,49.33469565160132],[1.759340781875861,49.368238985112555],[1.7203156024953805,49.39482842844473],[1.7139375433100608,49.409224988863485],[1.7229968419974309,49.43391580233039],[1.7474339115753832,49.45944834208184],[1.775862453037976,49.47132557760213],[1.7741127542848931,49.48629204874629],[1.7902240900460897,49.50346919449449],[1.7718644061411502,49.51284827349518],[1.7508109914810421,49.4953034048916],[1.7192326604453187,49.50822302010686],[1.7478873461630975,49.537734307389876],[1.7271846205611596,49.54162647589022],[1.7298338150528105,49.56129313430964],[1.7147813730167585,49.576405140938526],[1.7057508157515966,49.60621127470416],[1.7216075786347382,49.62199032398025],[1.7088335612864556,49.64638148474686],[1.7252046142437358,49.67263435960493],[1.7521846819353237,49.680957188725905],[1.7339504969080488,49.69920938045457],[1.7045143422610263,49.68092631423977],[1.6895758821118119,49.694785646260954],[1.7154681056064667,49.70860435289633],[1.7196883349196141,49.730467625863746],[1.7454557068129848,49.73856265789178],[1.7416263242274626,49.751633772466256],[1.7838370588623413,49.75830750106765]]]},"properties":{"code":"60","nom":"Oise"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.8409353560137922,48.75222016383323],[-0.8192734301255277,48.7541311066678],[-0.7806266616236817,48.78665142650693],[-0.7125565216024937,48.80069002566648],[-0.6821715230909893,48.821834119269546],[-0.7054998116130325,48.83677879901897],[-0.6935979640277244,48.8472307255334],[-0.6264394642029217,48.8268065097143],[-0.5445223814299559,48.8478900838751],[-0.4940452996821073,48.84857463029627],[-0.46875379913660753,48.86921416486376],[-0.431252227536603,48.87431946705079],[-0.4089756657265101,48.87089665763008],[-0.38621249067401003,48.8452588814631],[-0.3462445710154039,48.821999140746314],[-0.3267045002943942,48.840277412458356],[-0.3285204584539417,48.857599313600346],[-0.29452074618238994,48.85168192113505],[-0.26217897261037365,48.85359465583731],[-0.17671993891467938,48.83423079521249],[-0.1463430882060753,48.83444909949476],[-0.0850638956816069,48.84465033807136],[-0.0590064530019254,48.853491798472966],[-0.030666077085217337,48.8738778222776],[0.008758124525063051,48.8910599383045],[0.05639799250068904,48.902464038657314],[0.07094503667266873,48.932121250285164],[0.09488679748726127,48.93579979818696],[0.12760760912750246,48.95221907078784],[0.1564748700538276,48.924787583562484],[0.18746286897648523,48.940627353263515],[0.24227175031800538,48.94434881189317],[0.24466232022740259,48.95878245595905],[0.27250168047082235,48.964655839870495],[0.28264019709882576,48.94899613116388],[0.3105016483200191,48.9525668734449],[0.3332314772821841,48.942781544583966],[0.3581085399804696,48.95050361041376],[0.37731004626458825,48.972554866896424],[0.40609491524831554,48.96346413266829],[0.412814532889088,48.950626367694355],[0.3907837746929919,48.9271332888758],[0.38618934896504153,48.91041450585282],[0.42156714219561403,48.89864779537123],[0.4200659412941513,48.88818710783798],[0.45358528537402837,48.88019513771439],[0.4761125006440536,48.88686266076319],[0.5021397353658976,48.878150204150515],[0.5525030083730612,48.87553783157171],[0.5780409793892106,48.89364694598877],[0.6109659813863897,48.853218358881485],[0.6078685100835315,48.832489316673694],[0.6687110370739024,48.80802140346215],[0.6889623683560373,48.79460354988005],[0.7319447587721393,48.78545800743581],[0.7584300486684715,48.767971967774606],[0.7508055582409985,48.75949683157833],[0.774959043114129,48.73752726458568],[0.7433928921084365,48.71690523836887],[0.7660502318369231,48.69679825478523],[0.7640759546715993,48.67527365639454],[0.7822053215915061,48.66652415160697],[0.8148191028635925,48.67016796018795],[0.8268154990669214,48.63060614219509],[0.8177592533729132,48.616321964340834],[0.8465847869380818,48.60477987546661],[0.8495690718886973,48.584317085863454],[0.8676826582446395,48.57348477486485],[0.8912620563004201,48.57217735609871],[0.9387576535104647,48.55055845317247],[0.9226089134985012,48.5377152127879],[0.9667159729358187,48.52408891339411],[0.9539997024327551,48.50383926047164],[0.956288496333069,48.48228110680156],[0.9357072927920254,48.475553713886015],[0.9584142860496184,48.442595257597894],[0.9439900556805834,48.41543779690512],[0.9486303005350746,48.40254075139077],[0.9090291135378351,48.37025942165492],[0.8837069426865347,48.35671469741493],[0.8187477629538905,48.3492990187552],[0.7854319060188925,48.34042724028456],[0.7688672771787132,48.32194393371593],[0.7958184564245077,48.28648186022423],[0.7875964742272762,48.26131463776064],[0.8302416950484665,48.21430027818372],[0.797655838494225,48.19445221754921],[0.764084678712686,48.181597068873735],[0.7236370295054257,48.198143278755104],[0.6954713879467597,48.236330986094266],[0.6754723126802372,48.254743451079044],[0.6531564634145168,48.26370008686643],[0.6236114391567086,48.24531365157172],[0.5791940330516644,48.24436715365327],[0.5359730618565085,48.24984731423508],[0.5303066115723511,48.265500468342935],[0.49456203378441577,48.28681219277962],[0.48757228180388706,48.307800269630285],[0.4313327796769827,48.30663773892564],[0.4062188750511576,48.31462381799055],[0.3826045470591668,48.33382739375671],[0.3831416441494548,48.35506581259146],[0.3717304119271855,48.41045271670545],[0.38155707814654405,48.42516246095979],[0.35577910790038714,48.4582196404425],[0.30023976976312095,48.480570774759265],[0.21796784681891437,48.4738014493765],[0.18981014616858835,48.46189487699406],[0.17216701037378906,48.46478849710128],[0.1513148609685129,48.43722944549019],[0.11624508246972709,48.43555379652284],[0.09917026625350714,48.41035346558878],[0.0686800642491165,48.406668571805646],[0.06252414284954447,48.38302768487248],[0.020988775959532427,48.38019902542899],[0.0033707584170527497,48.39598744941706],[-0.04462899093295152,48.379755379925435],[-0.05453120471342586,48.382003457815514],[-0.05735713318959158,48.42850475869075],[-0.051896256193192464,48.4532597698412],[-0.10641204070316028,48.44752336948581],[-0.14362687075469976,48.45472711281225],[-0.1663420949957147,48.51558833305454],[-0.14460396356167668,48.52775250488166],[-0.16938322355767327,48.53697934057344],[-0.20693829348513745,48.562944759163955],[-0.23435383691646136,48.56233718214002],[-0.26180278773892185,48.54789343136948],[-0.24146030977322894,48.53711490462154],[-0.2629746987558156,48.52359724467027],[-0.2715497531161014,48.50745217404008],[-0.3202385045732452,48.522920009526636],[-0.33820693066737895,48.50050101655408],[-0.3676233888648988,48.492944315128234],[-0.44380935670202487,48.51374721178168],[-0.4781981375781819,48.501570405632215],[-0.5050654278707298,48.50579601256293],[-0.5304357344769987,48.495166069981224],[-0.5502899127948604,48.47423143238625],[-0.5986229162657322,48.47101955265918],[-0.6510738694884249,48.44394876336686],[-0.6662397250359153,48.48588955148741],[-0.7020679300858332,48.467206812159105],[-0.730343478460553,48.472706578375146],[-0.7358573623603453,48.46112222178988],[-0.7151034623418729,48.448949122074],[-0.7572811397545338,48.436551469912764],[-0.7796468261489741,48.44602717779943],[-0.7778740724524535,48.46541168200867],[-0.7975558085305263,48.465278693659805],[-0.8603629154348681,48.50145849652254],[-0.847670683669462,48.52112645892402],[-0.8057094829569462,48.54987498304548],[-0.7741715461672727,48.56267832832823],[-0.768359672906354,48.59032984724143],[-0.7517442676401291,48.60131936977811],[-0.7524222705829918,48.62213618876707],[-0.7733632741625079,48.65747680031274],[-0.7354985764702292,48.68396472383358],[-0.7917739207703051,48.70515869262072],[-0.817893287414865,48.73117743116182],[-0.8492246178903684,48.73075569433634],[-0.8409353560137922,48.75222016383323]]]},"properties":{"code":"61","nom":"Orne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.067712027611001,51.00650515466528],[2.097600537080802,50.998427200370195],[2.1353365874298347,50.96425774404664],[2.1541252595915212,50.92600143483312],[2.2018976811147395,50.8508405908696],[2.213001675000002,50.81619844972972],[2.252496270869472,50.788115718263434],[2.3428811569437658,50.7810883826341],[2.375989607627449,50.78404912635709],[2.4114775397506802,50.76673424707295],[2.34089102647672,50.74090632543495],[2.3417485781495326,50.72837526546449],[2.3829874868893204,50.69628206936786],[2.363524646595893,50.684643637888016],[2.3831045994174644,50.671828851607664],[2.40779242678447,50.67276560279946],[2.428985110726485,50.65701656077829],[2.4503937034166032,50.65384652293581],[2.495948921017839,50.631244941936494],[2.533625965601234,50.64308581112802],[2.5370449897762186,50.63045370101787],[2.564653031146168,50.624522730303156],[2.5866206729970513,50.63809536205738],[2.630516060197486,50.617951505356416],[2.6844644994994438,50.632719762619324],[2.713850503520111,50.63129225354632],[2.725641525704916,50.61411481623499],[2.757400535457718,50.61823745589094],[2.7690409100193936,50.66367813929786],[2.809187984818708,50.669372896442674],[2.8404494526472543,50.656566351394346],[2.8697378084597434,50.631095996029686],[2.8424416096298035,50.62905410400955],[2.8065346151718447,50.606764517797096],[2.7890757995406865,50.583060514887364],[2.80816309470569,50.57916943876986],[2.8134467388705726,50.54934391547588],[2.801938478218003,50.53483062913716],[2.8259824668620874,50.52538845142136],[2.881364535884128,50.535434775320184],[2.8798761281832572,50.51589325872625],[2.8989518584324676,50.5015578156606],[2.9647097377674005,50.512778020799246],[3.0157717239835207,50.48645538436221],[3.016772027301739,50.44834132930235],[3.037672306035308,50.4416400980408],[3.0543582082042056,50.455089924005314],[3.076383262967528,50.44060786930254],[3.0251728351795903,50.40757565859167],[2.990408003554761,50.39527899657189],[3.004772238368158,50.36678462460666],[3.0843056602069536,50.31119078351624],[3.0152741338861255,50.283780191722634],[3.018560069810309,50.26439442090914],[3.0515044113968517,50.276650211776854],[3.133679451303655,50.26623580402242],[3.1556853741465,50.243187559380864],[3.188353526948621,50.22867621857968],[3.1788851239271336,50.219073327099096],[3.1427922279498945,50.219237231259655],[3.1314047305598587,50.19940491824935],[3.1561320895920617,50.183715151473976],[3.128954376035887,50.16556204959065],[3.0918531294760667,50.12063041191277],[3.1048462443791918,50.115285460750734],[3.1141238720183764,50.092160389605915],[3.094758364918514,50.08315987378872],[3.090253620620082,50.05374055513492],[3.074492199997738,50.04529954091121],[3.014439323479967,50.059152788811005],[2.9787858100327975,50.04636219278302],[2.9444810700691098,50.05347379150127],[2.917155076234358,50.035710799347],[2.87653264314694,50.04217932424792],[2.857843650412817,50.07739311900277],[2.807546851114983,50.062415585560984],[2.7889640682343506,50.045311213953525],[2.763122932751498,50.03863557102141],[2.742546612593098,50.04823137136034],[2.781835790362261,50.09110348945762],[2.7633488151068777,50.10996516360832],[2.729579928321446,50.125953038257606],[2.6918325946042887,50.09172778717194],[2.633413606035314,50.100835661500284],[2.620114035740686,50.1111233231505],[2.5760198137336725,50.11341281005766],[2.579246199237998,50.128556557952706],[2.557055359846941,50.14204829791205],[2.53247243497901,50.11502396682772],[2.514949343300702,50.140811614698116],[2.481495194281265,50.13816938510139],[2.4501350913608073,50.12440021874914],[2.4296578345647766,50.0881849283962],[2.4145079258525888,50.10064240686793],[2.375459692531332,50.109251478562726],[2.3923866280005646,50.14534070022987],[2.3897770566865675,50.155484821444404],[2.4148458534849215,50.17310955154985],[2.4511824235732345,50.17870118824561],[2.4956903275727766,50.19456202411803],[2.4852044166964613,50.20779089755312],[2.4524037722545233,50.22617450808976],[2.4054762905102116,50.234029470791484],[2.3814020747034625,50.22558671136131],[2.370204907638782,50.20977035832257],[2.3404952021137726,50.2293253960828],[2.3012047633367585,50.212864087760096],[2.269796498169412,50.22880955959933],[2.2458060345105704,50.211701863441725],[2.2173374639794026,50.21748679591506],[2.17414784189994,50.20889796150714],[2.1602439796705144,50.195073090929476],[2.122580060921799,50.21070523924823],[2.0857138282832497,50.20100753303517],[2.0561495866960637,50.25515840313268],[2.026446120500165,50.269546075893764],[2.0032288628275974,50.27038408348767],[1.9364041762807813,50.30146908295568],[1.9587947410604334,50.31226469090631],[1.9381301712408916,50.33010048991117],[1.9180007470953697,50.31177877534881],[1.8759231954314028,50.32174642503478],[1.8725624158329885,50.332203345380606],[1.8313070764668689,50.345521376961486],[1.8051005697505793,50.35956479028979],[1.7787842601942672,50.361866180722075],[1.739453874214164,50.35457494026503],[1.6707155098465678,50.33101039989745],[1.6415439209955993,50.35215320244089],[1.6252340548486761,50.37183439351513],[1.5794678479116167,50.37921781617639],[1.555658414115049,50.39768062437081],[1.5699664459670746,50.444481375243384],[1.5774237782704903,50.51653279341479],[1.5854134517805314,50.537352456779296],[1.6192903917994448,50.53527496629917],[1.581273860269884,50.56277234419219],[1.5766093094233622,50.57222508465235],[1.5754702574635382,50.64376921433218],[1.5607115203796038,50.69967640419991],[1.5940631007212405,50.73490631352115],[1.6044002891055364,50.76283351023702],[1.6054977030902289,50.79303342273639],[1.577946150441329,50.85333565117015],[1.5835458071046016,50.87182012003101],[1.6421019989787113,50.87886833813072],[1.6673428270137456,50.89226662456871],[1.692541394498637,50.91537531133391],[1.7288531641107558,50.93789161557745],[1.7807165493326218,50.95487029863247],[1.8323650766395754,50.963096204871015],[1.8711615477136776,50.97493483409628],[1.8896911321764678,50.97231089361649],[1.915776261224723,50.9840846407249],[2.0454058015250167,50.998317962768176],[2.067712027611001,51.00650515466528]],[[3.0403984136982025,50.159705108437066],[3.0038853511528694,50.15024647820991],[2.9993155954143598,50.11885065997644],[3.0272922183841873,50.118551266105456],[3.037036047993321,50.130313345175814],[3.0727880608848768,50.131186438720206],[3.0681434935957395,50.14734495422104],[3.0939135240338187,50.1622262487789],[3.063005335119136,50.17367767246187],[3.0403984136982025,50.159705108437066]]]},"properties":{"code":"62","nom":"Pas-de-Calais"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.5653790586982073,46.143032182829025],[2.6406912317167386,46.118477661719005],[2.6552891559950393,46.12604206490928],[2.675536737103756,46.155809042125064],[2.6774585186785225,46.1727617979065],[2.715881178634498,46.17955498592873],[2.7305652928970168,46.19609671226358],[2.720917952533929,46.21130971383818],[2.732404782173034,46.22305265922885],[2.786781773175518,46.19864733659311],[2.810275114252155,46.196212623621854],[2.8229846867516923,46.21982582951188],[2.8186225286604203,46.23256980947683],[2.838238654032007,46.25133842004792],[2.89131100728084,46.253562623561876],[2.9371457775851466,46.24291746827498],[2.936482510275278,46.221710765741776],[2.9133683342305123,46.21076365100903],[2.920103043246808,46.19098495139527],[2.911139505619457,46.17743500340432],[2.942765231308341,46.168549525458715],[2.971756635840471,46.1217801298987],[2.9937709582935033,46.123728525772805],[3.0164792061121424,46.102448954980474],[3.0480765097735856,46.10031481550088],[3.0906232146771364,46.11452555946364],[3.099793609402441,46.09490520389922],[3.1280978125696843,46.07140098569798],[3.166531859715606,46.065677976513406],[3.1831200731258975,46.074513260697124],[3.2145108831873523,46.07494451930903],[3.233650605398404,46.06355148384772],[3.2810346944765536,46.065929354622334],[3.332766798825711,46.05497440619716],[3.36764567175092,46.05430839581729],[3.3829420706213997,46.06480264969235],[3.419029561174583,46.07429245580498],[3.433106873763625,46.06115526638401],[3.4535928570638426,46.063794720194835],[3.4678828897234224,46.02374515995011],[3.4813683084812777,46.01371105761674],[3.5346371071845772,46.02237834647508],[3.5413270581913245,46.01519652019095],[3.601439901652659,46.015082558028055],[3.6413068945873417,45.96461484273165],[3.6767635131618666,45.95805976115134],[3.6940178008729885,45.930732356412385],[3.7234546463589506,45.92186686966796],[3.7543707578917007,45.88603083611283],[3.7315424899852925,45.87016039642116],[3.72534244009261,45.82707398650144],[3.7116170222098575,45.79955113302971],[3.6906934795455935,45.79217071537155],[3.7310653997028584,45.77483343230172],[3.727105164096888,45.75553371264516],[3.7586724976385866,45.74600532878878],[3.7827600945783164,45.706694635321],[3.776946294898936,45.6908405345388],[3.823453198078696,45.63241694241682],[3.86173367803394,45.62272878464922],[3.8846825953282202,45.60275694217335],[3.903596234209209,45.599022466324875],[3.935548097136248,45.57675205994888],[3.954348408158434,45.555962683335494],[3.9459486995868804,45.54447980125801],[3.964839538556207,45.503218682032596],[3.9844000736338567,45.49411557572152],[3.966604497321932,45.472189147410184],[3.972751884382159,45.46143771943691],[3.9601432570462634,45.44344571733884],[3.899187761612733,45.410307649293415],[3.8892315945582094,45.39452005881283],[3.897408424881887,45.3570837817156],[3.869748727932898,45.355825177974914],[3.837685746380872,45.365713933149365],[3.8352859719724157,45.37605158297855],[3.804943044201567,45.392104461166284],[3.7856753429070356,45.37076437810785],[3.7899965323666374,45.35387675419062],[3.7722554467335283,45.34919188352554],[3.705828237197212,45.3607062251683],[3.679853380401792,45.38418941501764],[3.6631634778409548,45.36157929015898],[3.6186259166992305,45.33771043696724],[3.5903478302934047,45.35722324299155],[3.5880474177320365,45.375226810928446],[3.5630771718254137,45.39491340017769],[3.5209066851487667,45.40241117172981],[3.501320580432494,45.42757868705258],[3.4797803281462016,45.42109945505887],[3.4636110218729947,45.40187938765357],[3.37740750048678,45.40195065808154],[3.355951003761219,45.42270452498479],[3.324323216190769,45.40643003851577],[3.30631987673738,45.41954639101777],[3.290691872112179,45.401821892426035],[3.220912377077928,45.37892046186799],[3.1680632240379363,45.352259807508],[3.1034981328800555,45.35437310008832],[3.081709261400673,45.33620210714899],[3.060267266954517,45.33058792846881],[3.058569686824016,45.30656505249262],[3.021790178296388,45.29536780296733],[3.0183045953290004,45.2870664026082],[2.967346132390612,45.307097870959936],[2.9495692996597285,45.30885613298761],[2.931754110661835,45.33059235323827],[2.9207131825210073,45.36542334907543],[2.8863031117541533,45.382961505858326],[2.8677277513750035,45.376079673109146],[2.851739807542808,45.392294826301445],[2.8012313498513737,45.39285594883326],[2.7635223964556954,45.38562409648569],[2.742824191956514,45.393286416958404],[2.714857227145231,45.38155782083131],[2.6871186111491756,45.40629147061533],[2.6764584284787265,45.43907413938682],[2.663390372512316,45.43416415509558],[2.6396930053973264,45.44570657455579],[2.590384711197607,45.45005773186534],[2.5437058143512723,45.47758527668323],[2.508408697113082,45.47849879874483],[2.516808004227086,45.52382961392976],[2.516332317304299,45.55342661392312],[2.490928563504916,45.5603922863538],[2.4639202998517407,45.594746716951256],[2.4784319627002147,45.60790817567205],[2.483386743242332,45.639304413699904],[2.517544011548676,45.639591069896426],[2.5249409687054394,45.65723626708714],[2.5125929116065997,45.6697634761611],[2.526510829142244,45.68539249032416],[2.5210064489111423,45.70681016156742],[2.4921255582417543,45.73767009540705],[2.454731087219177,45.76088170513876],[2.435460687234864,45.76697343160803],[2.427406116463833,45.79428142437904],[2.3880204308712214,45.82737590512424],[2.4013447212803922,45.83757813269279],[2.4265480371985815,45.83477320365116],[2.4706202631864147,45.87233257398153],[2.4922254101808226,45.86402992467918],[2.5279244706403525,45.8992324603817],[2.55163679096888,45.94126557576326],[2.5696347302085196,45.95881426721691],[2.61078659720824,45.971228075938264],[2.5944189201416936,45.98944187163358],[2.6025111446423104,46.033460147639815],[2.57170126140345,46.04837735959016],[2.5521924042632187,46.08251218540567],[2.5505225579409916,46.11895797457819],[2.5653790586982073,46.143032182829025]]]},"properties":{"code":"63","nom":"Puy-de-D\u00f4me"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.24283655874306692,43.58497620901365],[-0.21060677583663345,43.59323717586582],[-0.20474047168197715,43.583595044006366],[-0.17292754407472402,43.59364235835892],[-0.1604496417177948,43.58057113664128],[-0.12160423721761877,43.58624235445866],[-0.09678297320877491,43.582405897631695],[-0.0889353115702106,43.55720120791489],[-0.06439614081942817,43.54514708135416],[-0.040131786150039817,43.512605402100824],[-0.04931853949113948,43.49246722068145],[-0.03395773428648386,43.4748821154567],[-0.06575363832737609,43.46348011949314],[-0.06960017201868417,43.43296649967561],[-0.04274822802160633,43.410433038551396],[-0.03370932429921264,43.43246529630011],[-0.01653409524496999,43.44394693211105],[0.009655310320461439,43.422201547264585],[-0.003925534377874021,43.3934664638352],[-0.005254456755174934,43.37375854928626],[0.029503346533208717,43.34615364492955],[0.010318158747631801,43.32531563972634],[-0.024871748469064887,43.32949512965254],[-0.046122416801734574,43.300855792904],[-0.04438748267104296,43.285276684905334],[-0.017007531250723754,43.270453175934975],[-0.04586866874069626,43.23214073673146],[-0.07252865439013752,43.22439059831667],[-0.06787400013058484,43.17711979316513],[-0.1177014616836111,43.1803266630819],[-0.12625382600229515,43.157664646038775],[-0.14613235140227143,43.128235959977104],[-0.1708703509900363,43.11342325510858],[-0.19098404402245078,43.11120001485184],[-0.18776412338244444,43.08332759879084],[-0.1991458409823786,43.064411115641306],[-0.20042576352682828,43.042716040400485],[-0.22443426834756924,43.033763083786916],[-0.2599408711456362,43.038273850395626],[-0.2648355668439734,43.009960256978964],[-0.2872360879456974,43.00592033944367],[-0.29228087888317733,42.991102936760555],[-0.28159092548449843,42.93356279018235],[-0.32717226195000754,42.91649889360632],[-0.30706856228167917,42.86996632786312],[-0.3134428634980887,42.84937505970757],[-0.32147747742734595,42.837156313582035],[-0.34754008403707837,42.8359138333211],[-0.3679794649305534,42.81384420795455],[-0.3925972910093655,42.79955853388815],[-0.40923534884558577,42.80775176126848],[-0.4443073733042952,42.79644188968569],[-0.509645724461578,42.825392555785875],[-0.5248214033720447,42.81169922814938],[-0.5228809859764464,42.799053820578806],[-0.5438135992737796,42.79316107597114],[-0.5512049085825593,42.77751593074885],[-0.570596979524969,42.782910869511355],[-0.56886355590546,42.806821287959146],[-0.5927365436827333,42.80323323591071],[-0.6036291574211501,42.83261701820438],[-0.6488576242634109,42.85520307403128],[-0.6786504294307736,42.88435162671404],[-0.6989906898468694,42.87965527922473],[-0.7252987547541817,42.891321607770166],[-0.7349914574877744,42.91217714898651],[-0.7250694205419334,42.92302821420027],[-0.751639105301494,42.966938899771456],[-0.7878117200655661,42.964220133379236],[-0.8100187374291915,42.95143307665448],[-0.8650339469969248,42.950782024634954],[-0.8997253347034583,42.961944671110295],[-0.9464504061324416,42.95406127408886],[-1.0005051395543532,42.97795014220868],[-1.0064443208237912,42.988993997889715],[-1.0830603615120118,43.00168071076038],[-1.1130329544941873,43.02237691659177],[-1.1334470820212093,43.01037270050248],[-1.1668982697369847,43.03557738093639],[-1.1807234359906535,43.03252804425024],[-1.2286741205591398,43.055160334686654],[-1.2471934082929712,43.042415611440845],[-1.2642856059829322,43.044567445791834],[-1.2835261465024137,43.06128566378849],[-1.308546707643754,43.06868136866409],[-1.2986667955038385,43.093279481535944],[-1.2802211653973743,43.1182176727211],[-1.3220188073653838,43.112341489609655],[-1.3461709053432147,43.091146616577],[-1.3409221159462987,43.08017084901461],[-1.3547480564678596,43.02846729741783],[-1.441215102138327,43.04630623466782],[-1.471735353863028,43.08109307328759],[-1.4708729299201966,43.09171395485682],[-1.415487839708494,43.12745746864605],[-1.416022603215192,43.1497408035206],[-1.4034369386574947,43.15976006228705],[-1.4020241459530187,43.17787126578672],[-1.3844898703699202,43.19125222875264],[-1.3826552191243804,43.25302936103839],[-1.4132056044596777,43.273416064289286],[-1.4388514488237716,43.2665172949958],[-1.4954242196638288,43.28272765553131],[-1.5053245319871684,43.29278486875202],[-1.5647156489015603,43.28791168353549],[-1.5581480152327398,43.276925958606746],[-1.577703455461285,43.25064368535375],[-1.6086713312434922,43.251911493906945],[-1.6303674039621392,43.28444921654921],[-1.6225991787656453,43.30062353105162],[-1.6671377641602614,43.31445979762466],[-1.694148056872775,43.31228000342086],[-1.7297463174854624,43.295677171644435],[-1.7577102787128112,43.344006413921115],[-1.7871316386117875,43.35136807471246],[-1.7889705724558977,43.3740616062586],[-1.7620152282748711,43.37589213130254],[-1.6391097857903005,43.40836090393235],[-1.6014509805064314,43.433291711283985],[-1.5629953964271497,43.484727946611734],[-1.5480683309573409,43.49597169694441],[-1.5248665484221002,43.52970134669009],[-1.5014142682685339,43.526946780448405],[-1.4765954372767023,43.539347276261424],[-1.4641103174097,43.51978418733692],[-1.4311182651313608,43.51461371523744],[-1.4153887215828598,43.49717030109977],[-1.3679078186199811,43.49490465671754],[-1.3274966286590806,43.50492395449724],[-1.2888696900073222,43.49872862084951],[-1.2173167238027949,43.53073810827331],[-1.1956162981323255,43.546095049204695],[-1.1708199655376668,43.5456098839176],[-1.1315682094233597,43.51069576475205],[-1.1639945144136432,43.50839178467792],[-1.1625744604180746,43.49153545937573],[-1.1195951980376606,43.50151151366748],[-1.109247829938908,43.51412989565137],[-1.073598211038545,43.51939437447959],[-1.0265078502683154,43.503370175677496],[-0.9933935609538049,43.505388046842114],[-0.98987372975074,43.53346243559243],[-0.9758267609662757,43.53928445138307],[-0.9509135778063627,43.53212326134325],[-0.8966906468904682,43.55048921576566],[-0.8556394802658646,43.541912093762534],[-0.8426740269835161,43.55356012044782],[-0.7817805196343679,43.564167159066834],[-0.7682806920100282,43.57948154907272],[-0.7180970591845858,43.54064303476207],[-0.7009707203498448,43.56096357592762],[-0.670807186170969,43.5667169721834],[-0.6008401126869658,43.538204154807815],[-0.5670718315523744,43.558215555933955],[-0.5571744316529481,43.542797175106195],[-0.5105948945954394,43.563209686236384],[-0.5076560922832347,43.56923087293328],[-0.44992960469658516,43.595703984518344],[-0.43347042112212875,43.580338984734894],[-0.4634382109634287,43.566589232141745],[-0.45203767058593636,43.550435492790825],[-0.4060419475368964,43.568225638621044],[-0.35359679862890814,43.561780875085],[-0.33595845896027376,43.55085163558024],[-0.30369046804673383,43.560276850255974],[-0.2763965148657968,43.584761045574],[-0.24283655874306692,43.58497620901365]],[[-0.10332953356469002,43.35858355910215],[-0.09014219532070926,43.35886208428034],[-0.08727094997091522,43.33384409231069],[-0.11552121102299735,43.33237650784547],[-0.11030601684007735,43.31299058296239],[-0.07504166669941048,43.30713969252607],[-0.06249932084582573,43.346711256254366],[-0.08317321572204538,43.37135001696728],[-0.10332953356469002,43.35858355910215]],[[-0.10307533206661205,43.2428172034933],[-0.07983617553877999,43.26236925486353],[-0.09617852463729769,43.28547921988103],[-0.09202865057224784,43.300470229904995],[-0.11185509693098625,43.31039821912341],[-0.1373518115949468,43.28574075772358],[-0.1406176398389843,43.27194385552744],[-0.12194467153732959,43.24335344245164],[-0.10307533206661205,43.2428172034933]]]},"properties":{"code":"64","nom":"Pyr\u00e9n\u00e9es-Atlantiques"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-0.10307533206661205,43.2428172034933],[-0.12194467153732959,43.24335344245164],[-0.1406176398389843,43.27194385552744],[-0.1373518115949468,43.28574075772358],[-0.11185509693098625,43.31039821912341],[-0.09202865057224784,43.300470229904995],[-0.09617852463729769,43.28547921988103],[-0.07983617553877999,43.26236925486353],[-0.10307533206661205,43.2428172034933]]],[[[-0.10332953356469002,43.35858355910215],[-0.08317321572204538,43.37135001696728],[-0.06249932084582573,43.346711256254366],[-0.07504166669941048,43.30713969252607],[-0.11030601684007735,43.31299058296239],[-0.11552121102299735,43.33237650784547],[-0.08727094997091522,43.33384409231069],[-0.09014219532070926,43.35886208428034],[-0.10332953356469002,43.35858355910215]]],[[[-0.09678297320877491,43.582405897631695],[-0.0772195291003595,43.59016567666762],[-0.07397188111422878,43.60631260105189],[-0.015780894995830737,43.60465738319822],[-0.006638780883364193,43.59430394426513],[-0.0019248187812945813,43.56554046143869],[0.015782134897742738,43.543393230182545],[0.029579566383845242,43.544897297852316],[0.056081443916198466,43.5188072498529],[0.08058083535969605,43.523863090805406],[0.08975008845749399,43.51017249617227],[0.11212423457670333,43.51736991981858],[0.1304678194460616,43.49489917669358],[0.1350017858108604,43.46572396335525],[0.14930802677520033,43.465363039807976],[0.16599704732355133,43.44273636926645],[0.1374594398551805,43.43399175225508],[0.1538629917033123,43.39932405975342],[0.17380494234693045,43.40277225485803],[0.18203121400006392,43.37118267445077],[0.2317041924912655,43.36771211454836],[0.27840649370482956,43.38622497108639],[0.30085675386203575,43.37175476096837],[0.32769435096802535,43.37095370345262],[0.32831696781083425,43.34849301742664],[0.33909513817586934,43.34345707398941],[0.3883410229269578,43.35621468006998],[0.3957284672697182,43.33360258395701],[0.4430328988271061,43.32792703588786],[0.44498008716314374,43.340735933546554],[0.49803381879209657,43.32618057240136],[0.5043244698794473,43.333508245170144],[0.5474473878405767,43.329319731373445],[0.6068109749570959,43.310885991585494],[0.6357239806030284,43.300074553718005],[0.6183078501522927,43.29035045829162],[0.5511319943370407,43.236236596459726],[0.5738333078065921,43.22033420729316],[0.5518748957180641,43.20914713009289],[0.5173856740584795,43.212372971316064],[0.515732011440808,43.189611401008044],[0.4878146424725309,43.16525164014629],[0.4700411050323527,43.15730371100298],[0.4419985587106282,43.13127313187027],[0.46394373544501977,43.117816246348056],[0.5322696523895433,43.093864488407256],[0.533134473195984,43.08279812294234],[0.5573359728300217,43.066396922958404],[0.5652571210979821,43.04118358284234],[0.5379303286735891,43.041641647509145],[0.5341218546281855,43.01498318247417],[0.5412081928415171,43.001720551955394],[0.5673867928980146,43.02086035561931],[0.5918253760443509,43.022372936614325],[0.6080473328079602,43.034009064146474],[0.6274179241908862,43.00010287323426],[0.6116327283329046,42.98841659996602],[0.6188348311181961,42.972417013199525],[0.645536953415737,42.96206456656776],[0.6419907184981635,42.95287272899541],[0.6060586556910943,42.93436290905924],[0.5865354938150936,42.899764469600925],[0.5759351469518764,42.870825923039746],[0.5598104479575664,42.86131086278569],[0.5324055542379432,42.863293191606644],[0.4773565901163487,42.87824375089618],[0.45645030119577185,42.81819976680441],[0.4631381823278041,42.79013609203236],[0.45587668333542497,42.769893094701686],[0.46339485659012236,42.75961776986063],[0.4550942250736491,42.728060641999555],[0.4845912327562892,42.70987563691782],[0.47774954032737066,42.69999034279792],[0.4356455710506602,42.69037183158463],[0.40211897973801236,42.69648986021392],[0.39263011986752094,42.71311750189731],[0.3596287954835796,42.72339183232152],[0.3262254490865479,42.70523591329384],[0.320802303741389,42.683131711219026],[0.29282224858132516,42.67492458180092],[0.2657494410548165,42.69585404878972],[0.2601414748532607,42.715502851551555],[0.22668497017769476,42.71735823262267],[0.2059924149934227,42.729298724675765],[0.17574306986977128,42.73677329861877],[0.1604176644184873,42.72442882623834],[0.1365670029696411,42.72232698158292],[0.11125032280716181,42.71021137331376],[0.09042040053997723,42.717132811761196],[0.0459533905361909,42.696777408747096],[0.024585610304963493,42.70245653014717],[-0.010637584646291413,42.684385085093155],[-0.05980922099813103,42.69342720546847],[-0.06884483739406957,42.7179035165553],[-0.10244023343942496,42.72158700465701],[-0.15972871920981477,42.79739905213244],[-0.1784879363541327,42.785361494949754],[-0.23844023717848478,42.808170502420666],[-0.27668498267988956,42.835474417476526],[-0.3134428634980887,42.84937505970757],[-0.30706856228167917,42.86996632786312],[-0.32717226195000754,42.91649889360632],[-0.28159092548449843,42.93356279018235],[-0.29228087888317733,42.991102936760555],[-0.2872360879456974,43.00592033944367],[-0.2648355668439734,43.009960256978964],[-0.2599408711456362,43.038273850395626],[-0.22443426834756924,43.033763083786916],[-0.20042576352682828,43.042716040400485],[-0.1991458409823786,43.064411115641306],[-0.18776412338244444,43.08332759879084],[-0.19098404402245078,43.11120001485184],[-0.1708703509900363,43.11342325510858],[-0.14613235140227143,43.128235959977104],[-0.12625382600229515,43.157664646038775],[-0.1177014616836111,43.1803266630819],[-0.06787400013058484,43.17711979316513],[-0.07252865439013752,43.22439059831667],[-0.04586866874069626,43.23214073673146],[-0.017007531250723754,43.270453175934975],[-0.04438748267104296,43.285276684905334],[-0.046122416801734574,43.300855792904],[-0.024871748469064887,43.32949512965254],[0.010318158747631801,43.32531563972634],[0.029503346533208717,43.34615364492955],[-0.005254456755174934,43.37375854928626],[-0.003925534377874021,43.3934664638352],[0.009655310320461439,43.422201547264585],[-0.01653409524496999,43.44394693211105],[-0.03370932429921264,43.43246529630011],[-0.04274822802160633,43.410433038551396],[-0.06960017201868417,43.43296649967561],[-0.06575363832737609,43.46348011949314],[-0.03395773428648386,43.4748821154567],[-0.04931853949113948,43.49246722068145],[-0.040131786150039817,43.512605402100824],[-0.06439614081942817,43.54514708135416],[-0.0889353115702106,43.55720120791489],[-0.09678297320877491,43.582405897631695]]]]},"properties":{"code":"65","nom":"Hautes-Pyr\u00e9n\u00e9es"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.166053682054993,42.66391836976526],[2.176204944795001,42.65250633141794],[2.246516821037239,42.681202948030595],[2.255205048620104,42.69745713836985],[2.297058357278089,42.70099502933411],[2.3220061203917695,42.7077915762024],[2.3573542563069108,42.730614151700564],[2.352474899591023,42.76247835717117],[2.3429452475243857,42.77535071033062],[2.343922918928302,42.8012178810544],[2.3335924644994988,42.80438237482061],[2.3271160459779234,42.83744277583184],[2.382167466090285,42.848465968894374],[2.4524747607108766,42.83693276356475],[2.501496510152125,42.85114590958063],[2.5303296696211732,42.84330870449564],[2.551517478135935,42.84669055878725],[2.5979979640054287,42.83710010473599],[2.665129702318414,42.836638227667535],[2.680460074219605,42.83066919623472],[2.7392695852260918,42.83704183830966],[2.754406508896001,42.85193277009744],[2.762151578941423,42.87367587089044],[2.789053819259419,42.895988728811574],[2.8163773260069473,42.899968720008566],[2.834726633088116,42.91226461376727],[2.8652738803519484,42.91834143726101],[2.8804319367618048,42.90142601782671],[2.9068743640845423,42.89581380072565],[2.9176652105086776,42.88490560680479],[2.976233697434438,42.870285782323506],[3.043510805290506,42.8381501142638],[3.039269430432411,42.799791836114],[3.03866210585288,42.73115943015552],[3.0354222951214984,42.678248196502366],[3.037082831998312,42.62608415053007],[3.0451908300933015,42.59457922768011],[3.0496064216977565,42.55014015956973],[3.0571198441096596,42.5372092844744],[3.0868940108835354,42.524055488048134],[3.1056245890262795,42.525593780023925],[3.138121628181151,42.51489518727693],[3.1229727483854868,42.50504339919354],[3.1331116175574936,42.48125477575951],[3.1530067352162088,42.477776284883916],[3.15732898680088,42.459432454750015],[3.1741805499682005,42.435585934319825],[3.120829508201149,42.43800580748714],[3.085437328583658,42.42550988123317],[3.0490406236305536,42.45554617467689],[3.0407621096853417,42.47314100863664],[3.0125781244014846,42.46652317375274],[2.988889553374083,42.4738313841575],[2.9689921541918216,42.46579130273507],[2.9470269070718653,42.481801093577864],[2.924481044394249,42.458389170964374],[2.863516909035993,42.463685965835424],[2.8414109625242325,42.45852270899326],[2.814839563839402,42.43879437507126],[2.799242281304166,42.41856867596309],[2.771995685896969,42.412356726628104],[2.7532002138160787,42.42535725427018],[2.7163026018456495,42.420861005709845],[2.6737509151182475,42.40452391803864],[2.6556410417562404,42.38843162789706],[2.6717654689105332,42.34117820769783],[2.611297522207988,42.346807721180475],[2.5778245531567956,42.357933234601866],[2.5545994607392077,42.353892840228475],[2.540046438348588,42.33376082281662],[2.5003079444422434,42.342911142856316],[2.4829628754848416,42.33964655377135],[2.4675348643249904,42.35892180847505],[2.4334621567522774,42.37709101786132],[2.435482130866189,42.38887656698712],[2.3491816579437708,42.40674798977397],[2.3069539494770965,42.42879201328318],[2.2923910299124817,42.422979357750634],[2.2567190982902723,42.43844036451443],[2.2466766500833426,42.429497661909714],[2.201063478390105,42.41629324758647],[2.1563417567377465,42.42342744508062],[2.128866046268498,42.4124914459525],[2.1151215213189642,42.38204970639233],[2.08954757389964,42.37371732752677],[2.0835981014554434,42.36270013981574],[2.02349649688789,42.35522663210627],[1.9859066164117019,42.36204816679774],[1.9605413830047367,42.39193435465887],[1.9582842085598802,42.42404869009333],[1.9417298315540916,42.42966577271863],[1.9353121382830816,42.45358596021788],[1.9166429808948604,42.44630507104221],[1.8854520225275206,42.44929175065031],[1.8814289746097121,42.459713683305495],[1.8498223891207548,42.46731551034911],[1.8433623972460949,42.477143601221265],[1.8030674804478923,42.48955493039855],[1.7632574952590807,42.48684429750053],[1.7312197831734901,42.49274331055303],[1.7262968840513657,42.51739946334924],[1.735934655538207,42.55051896327486],[1.7548048574820891,42.56487435248866],[1.7861250110638969,42.57362343207788],[1.8010033491172206,42.57239786027001],[1.8347684364358996,42.58353364671248],[1.8744850028357225,42.58140598425563],[1.907286118231748,42.60862947926328],[1.9361188221910517,42.60541384031619],[1.9521234354600119,42.61830326460022],[1.9722426969695992,42.61714092425327],[1.9969224698605978,42.66006561399484],[2.0187920574337195,42.6534170353211],[2.0470193906647904,42.66358965489304],[2.1114664198303457,42.666032470916626],[2.127356949655341,42.672313305937074],[2.166053682054993,42.66391836976526]],[[1.9600558256458676,42.4704521123199],[1.9598031610861055,42.4532613568093],[1.981341106824749,42.44752720529524],[2.0126921284863117,42.44834353508286],[1.9865324547331493,42.475759236261595],[1.9600558256458676,42.4704521123199]]]},"properties":{"code":"66","nom":"Pyr\u00e9n\u00e9es-Orientales"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[7.635285449703197,49.0541613551771],[7.674493719844778,49.045038223564895],[7.707321827434022,49.05405939239169],[7.732229514556395,49.044360193628584],[7.7694289796184846,49.04774245099701],[7.794587260656014,49.065791918907415],[7.868785609773862,49.03415707326486],[7.8916198759125775,49.04759725259064],[7.91670251003609,49.04096826102967],[7.934626827531663,49.05780915030637],[7.963045952864435,49.04293379198175],[7.980055713019351,49.02611958784408],[7.996711900374363,49.02835488426032],[8.04922031277792,49.01418078522583],[8.091376040143569,48.98925821691501],[8.139803411862454,48.9784496512654],[8.222736022927482,48.97597079725059],[8.232836216038969,48.96697753356419],[8.195800936945588,48.956207796670824],[8.139135858085103,48.892894767368645],[8.124578710186213,48.87069214791491],[8.096320563319823,48.810383710147846],[8.058939302273348,48.78881229521909],[8.029130925797226,48.78647637177024],[8.02282921871248,48.7683571613944],[8.00494993955973,48.75878082453401],[7.969723932850821,48.75544146180311],[7.9631400450945655,48.7213530972908],[7.890886576122132,48.663095896501474],[7.83981724689541,48.6413739851056],[7.828710432304629,48.61770955816417],[7.804169862129346,48.59233465434716],[7.800241352793423,48.57868703631089],[7.807039561191584,48.5211033498163],[7.794703889606317,48.50209025324464],[7.768199002101854,48.489657602973395],[7.764890504178269,48.456687573980204],[7.7359757519993035,48.40415792790444],[7.732004052005759,48.375403413096564],[7.7450285445207925,48.33566571677894],[7.733240771599047,48.31779594408542],[7.703153723776976,48.30881155728774],[7.667802806274936,48.223910814462734],[7.645993836509834,48.20894372463805],[7.628420489829124,48.18234169524649],[7.601153626284707,48.15837840879526],[7.597069643598031,48.13314665478638],[7.577312855212316,48.12036852180279],[7.519368638022094,48.12611186663136],[7.5125346837248,48.15232225264574],[7.477457496315403,48.15656192531237],[7.4675859539752825,48.16899525405458],[7.476943375699939,48.20353668428324],[7.44466546317087,48.21741894982423],[7.408909688142275,48.224103980885616],[7.397985372184995,48.23250486975424],[7.3502585424914155,48.24763679309355],[7.324540354627305,48.245301227144324],[7.312654881787611,48.26854265756791],[7.275183721811301,48.30523478704946],[7.241733352395135,48.302429901416254],[7.198281537029947,48.31046786102034],[7.184818696745765,48.33615437512855],[7.120494270164923,48.33334864685793],[7.0785233740914295,48.35107311533077],[7.108026244714085,48.376989845150604],[7.095873788299803,48.4270217723305],[7.11688383670396,48.484885014570324],[7.097693072924202,48.48762107861984],[7.123165369028565,48.513592265556596],[7.080630193411291,48.51267454477156],[7.064487678486664,48.52339791207404],[7.079359770973246,48.53641761270014],[7.114376678081027,48.537389878992194],[7.147094880277466,48.52694681230707],[7.167909935894842,48.527596443549314],[7.1924855682726525,48.54879290260453],[7.2183172603088295,48.55264406598888],[7.256281654444217,48.588675507652],[7.256388448234081,48.60150853250187],[7.278427796440234,48.625202388791344],[7.270398382732597,48.63054438708614],[7.30435493964854,48.6602012988693],[7.2645955424124935,48.662703775725404],[7.242261522633183,48.69210964676438],[7.260168326105747,48.69429915361379],[7.266625221422177,48.714209030699415],[7.286884538061931,48.73134414106466],[7.3064497001602975,48.7691099850618],[7.291233271693293,48.79399531609868],[7.262026914660001,48.797761488092036],[7.228655644882326,48.828038818777635],[7.196675525429877,48.828301758643974],[7.195876686739622,48.840397988184655],[7.149408408912651,48.84470403837187],[7.146671555297553,48.82130284961471],[7.1231658021967155,48.80450097964112],[7.088166864000689,48.79249269644048],[7.079303305840072,48.81404016744667],[7.054514540544794,48.813704386223854],[7.051334597348638,48.84628529036997],[7.086623738193806,48.847740597072104],[7.081165552464466,48.864100481733125],[7.050249140492324,48.85934342449812],[7.044405156028646,48.87353491651631],[6.988916052470446,48.8911922591983],[6.964601688658047,48.90452526765522],[6.955547179403453,48.922319717315936],[6.978894125394516,48.93334137925148],[6.98921640979739,48.95992878867804],[7.032219488521415,48.95604910228417],[7.038359726746952,48.99687346466287],[7.05300726402484,49.00729189414574],[7.054911912536333,49.03061918771655],[7.078659891943001,49.05036062768427],[7.068107134587352,49.066879969038716],[7.103885148469087,49.074161754697926],[7.108081132396537,49.04341471828652],[7.119477346819226,49.03721652969957],[7.130505931552783,49.00459350678602],[7.174240270723143,49.006365681338195],[7.209311457091751,48.9800881370531],[7.236031367305892,48.987818615118876],[7.293949845247019,48.97157404948427],[7.326851980608823,48.943372742020955],[7.358876660684313,48.95760287154302],[7.392311568753424,48.952706941018526],[7.451630239981024,48.967962755037526],[7.479572330825655,48.96139105276517],[7.50187360937539,48.94425222519554],[7.533247825039657,48.93350273583194],[7.57839213753989,48.95740241810784],[7.591218725544888,48.993724868247604],[7.609553546221074,49.02123201245433],[7.6400276339065405,49.049114242922506],[7.635285449703197,49.0541613551771]]]},"properties":{"code":"67","nom":"Bas-Rhin"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[7.198281537029947,48.31046786102034],[7.241733352395135,48.302429901416254],[7.275183721811301,48.30523478704946],[7.312654881787611,48.26854265756791],[7.324540354627305,48.245301227144324],[7.3502585424914155,48.24763679309355],[7.397985372184995,48.23250486975424],[7.408909688142275,48.224103980885616],[7.44466546317087,48.21741894982423],[7.476943375699939,48.20353668428324],[7.4675859539752825,48.16899525405458],[7.477457496315403,48.15656192531237],[7.5125346837248,48.15232225264574],[7.519368638022094,48.12611186663136],[7.577312855212316,48.12036852180279],[7.579959302676986,48.1060241628568],[7.569229918944941,48.08140103227969],[7.571623278915894,48.03037963253785],[7.605442849614272,48.00375666733687],[7.622090012011825,47.972273158282675],[7.583289971638735,47.93111867339603],[7.583517659704031,47.90164054665845],[7.556704620769357,47.87994110574265],[7.563546061062802,47.85213451656705],[7.531259755609871,47.786758092739966],[7.5322376356790635,47.768103948729824],[7.548078387714247,47.73958664484275],[7.543471717716171,47.7219511962019],[7.513752001020271,47.70281805790175],[7.522345790100707,47.662321489849276],[7.566467478798788,47.63289794133456],[7.592166196122287,47.595364230897054],[7.5847059048213925,47.57726432341283],[7.506109699820528,47.5443371916087],[7.5252484411100795,47.5198644991559],[7.507326934833388,47.5152130072166],[7.506753671499357,47.49563386052678],[7.486855374527259,47.48173332111362],[7.434560148747173,47.497929056791456],[7.422690550181342,47.484388198189606],[7.4501432999503265,47.47529024914208],[7.420293972815237,47.44542252005264],[7.380947797110134,47.431864331193985],[7.337556330611329,47.44091115313276],[7.281541911285926,47.43421552862775],[7.2462970616937685,47.4222020998741],[7.232812984772371,47.43881243982562],[7.206682632158959,47.43482071398383],[7.170823146393291,47.444351795572196],[7.18658232857427,47.491228297146144],[7.158949175727589,47.49075866687029],[7.130345969302944,47.50302658239207],[7.135819374783416,47.53646303183533],[7.106219108143236,47.55138203283421],[7.086270201422721,47.592562199657216],[7.064719544691056,47.60105755104757],[7.025415883306456,47.59267760605909],[7.004983231421509,47.61938273174142],[7.018871382727326,47.65067487496959],[7.046314752908177,47.67150171047833],[7.026487154962489,47.70099973832609],[7.0374240128839105,47.72163936009252],[7.011758808530528,47.741727719619604],[6.971172049261423,47.75268332188395],[6.940432511420332,47.77156566113129],[6.924003092082664,47.77046856849051],[6.862439977221479,47.786366479297826],[6.848453009671943,47.80186631777955],[6.846179818400714,47.822945196999186],[6.897600863366078,47.8375646687869],[6.920047718110646,47.85028746971086],[6.900213335139267,47.891191372710956],[6.927825935367718,47.90821058120768],[6.920755573390488,47.942921686407516],[6.943356419805964,47.99795794686154],[6.961410552710714,48.000261282588426],[7.001883743858899,48.0223990958155],[7.029803015827174,48.07190490436478],[7.047595780380201,48.08006166786818],[7.084162370831343,48.12921286268667],[7.058017510455936,48.13770265802238],[7.085332018879333,48.18087313160711],[7.117505784718491,48.207992451661525],[7.147824517541642,48.263892801246804],[7.159489565642163,48.268753563588],[7.172440378133587,48.29748024360684],[7.198281537029947,48.31046786102034]]]},"properties":{"code":"68","nom":"Haut-Rhin"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.388079599211451,46.21978851671503],[4.392045244906183,46.26302385998399],[4.405813600867752,46.29606050757099],[4.458369104418381,46.29697584037131],[4.488464517812633,46.28799447923909],[4.504000511619177,46.26712967638222],[4.537259095086993,46.269909752755986],[4.557791734390365,46.294551693366884],[4.58651066847238,46.26869366799675],[4.618564521857389,46.26479290298609],[4.617019082985369,46.28062156129126],[4.6546541224676705,46.30348939899555],[4.688792316232356,46.30134017113633],[4.707543694868305,46.2846591310526],[4.679555470888074,46.25866738898982],[4.735773074768783,46.234243689563726],[4.720630389105726,46.22239538927804],[4.735252824806332,46.210851459521535],[4.7208781171109155,46.19392061792661],[4.730529789085251,46.1783721277199],[4.757472202390895,46.17225721411849],[4.780213475718984,46.176677022719375],[4.802383406855843,46.15689004179432],[4.7974461577782055,46.14070125939972],[4.74842216438804,46.092116678231136],[4.76168298760261,46.068835281873454],[4.739924532383598,46.044545739209596],[4.74583632453276,46.03479022524953],[4.754510768697905,45.972272809968736],[4.729096921230878,45.94909221230217],[4.737325990745241,45.938166671490364],[4.771751698096339,45.939227157903346],[4.7885556818887975,45.92396575312498],[4.805862172264801,45.921565090394125],[4.805177333218323,45.89632861459743],[4.8480352687938995,45.91297548186924],[4.88069852397936,45.897169382005984],[4.88382693945437,45.879994069300665],[4.909016569606379,45.87410386475139],[4.9012173780094885,45.86033670744545],[4.916119464335568,45.84545668995466],[4.918340642420571,45.80702873296715],[4.963083585101699,45.81097052424602],[5.013451311336389,45.80505705540713],[5.044790298055403,45.8117360670572],[5.101067478338776,45.81337808264365],[5.089312645190639,45.784275022180616],[5.059330594890989,45.79197852353507],[5.068368951685849,45.765473881827624],[5.093091174921406,45.766089791057205],[5.094526879742294,45.739453359509234],[5.126011929215237,45.73790916787724],[5.159431081299061,45.7088530167123],[5.131061214476138,45.7077086126494],[5.1081318769103605,45.68802493937274],[5.059543480830934,45.66509793238911],[5.058062092364437,45.65324362294234],[5.035148740524161,45.63720294798379],[5.038083762231331,45.61507172104689],[5.0047455923475,45.62311113752578],[4.997963145407583,45.60341491364353],[4.9719731415095545,45.61268302966118],[4.927527809638902,45.605706962994894],[4.901457719834113,45.606267804658444],[4.864457684448963,45.59360146128447],[4.85277784466551,45.57887851405256],[4.828114865183135,45.58789311790868],[4.808696981728118,45.5723005698916],[4.840117013694024,45.543291913290595],[4.864438371893341,45.5373424891419],[4.868481734036511,45.5234402120416],[4.8412638959614664,45.50060628572331],[4.782279555986659,45.47220452723034],[4.775917949204341,45.45421052340817],[4.756935570818616,45.45570734978024],[4.739409870606086,45.48659464798714],[4.721827573373719,45.49439543048306],[4.700228209366997,45.478251319676815],[4.661754663860458,45.486753449800155],[4.6505036163787885,45.52825095564595],[4.684974417954742,45.55444421417092],[4.672311111048541,45.5702781100426],[4.636946590180618,45.54563402439237],[4.625186588148891,45.5690598812714],[4.582929001860563,45.57473357946033],[4.568607549526933,45.583472510511605],[4.521074741734986,45.57279549516226],[4.501195680541532,45.585509531030695],[4.44944567617998,45.607317262662356],[4.440485898400948,45.62348155684874],[4.410284239143385,45.632050806327356],[4.391675108287153,45.6629035906777],[4.365920195904948,45.67115339597],[4.3738410092708815,45.7118281564325],[4.397995092909568,45.751428954900874],[4.373503657509452,45.74949633164302],[4.3493620257561165,45.77130357540371],[4.375871288793124,45.782079121045285],[4.376223580241809,45.82463846230085],[4.396210392438567,45.860049159409144],[4.357305400190197,45.867818212138175],[4.342152967764877,45.87717650941675],[4.32322164118184,45.90393193479993],[4.34541858135298,45.915369145765204],[4.34518756578921,45.928106708428984],[4.293912264205216,45.95339953385285],[4.298100713331312,45.96566297835176],[4.249195496150678,45.9953837193519],[4.300566276670547,45.99131120846098],[4.312509748657016,46.00559232184622],[4.262156206087431,46.0353981231568],[4.254288650960761,46.05273202617171],[4.285739765481103,46.05353257676386],[4.309660723089374,46.079736904576485],[4.306153355734185,46.10204949110961],[4.321566636697419,46.1292227390098],[4.361588426954295,46.13845862089166],[4.380275754005176,46.150004219111246],[4.410785750373344,46.13662430946693],[4.438590902796802,46.16787882969539],[4.395991931108271,46.18913351748368],[4.422612723182659,46.2025561207876],[4.388079599211451,46.21978851671503]]]},"properties":{"code":"69","nom":"Rh\u00f4ne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.884726375202079,47.926047148569474],[5.900112413513003,47.94475092005572],[5.918042584312377,47.94735978283618],[5.918281347414071,47.9655809864854],[5.9367444429976315,47.978872441043904],[5.95951518224341,47.96583761413322],[5.937717530374109,47.95093996886656],[5.9537128429228625,47.93703033418094],[5.9707779241858585,47.95720515925631],[5.994585023938386,47.957843619961515],[6.023512782425089,47.97819459549159],[6.0411805356860935,48.004423104387435],[6.131397185816461,48.024084417358715],[6.156025724419171,48.00640454629518],[6.1523863211856415,47.99509120117254],[6.167984818891344,47.95235039236555],[6.193308012990422,47.953186926635745],[6.208333130052072,47.93959154159432],[6.237987058178878,47.93284210198345],[6.27733365541217,47.95380917897212],[6.324502244506514,47.94927719089294],[6.366159798724643,47.96194440724777],[6.43172063760481,47.94381556163065],[6.455958900669549,47.90676595953145],[6.476305388045899,47.89135525473161],[6.5421528235861155,47.90261056529581],[6.563418085973325,47.931389307581],[6.6073149335019385,47.943147742357816],[6.641076475620301,47.91580834582307],[6.643740194905068,47.90503177099352],[6.703673452230481,47.88141530820336],[6.737768277119198,47.8615661276394],[6.784821909572192,47.84962275516846],[6.792206691054161,47.830065844691816],[6.823538854548165,47.81305372458858],[6.811469860026116,47.796038470605524],[6.785629179422312,47.78207231453601],[6.757638483670512,47.747877966474704],[6.756625698295901,47.72444662113829],[6.772570902276831,47.71163343375122],[6.781911060840567,47.687677725049234],[6.776099673752326,47.668572918052455],[6.80103447418288,47.636044219886536],[6.780404771904786,47.62526070544475],[6.804959146951254,47.582108256125515],[6.80700533167707,47.562801384972],[6.797499350037713,47.5495126825397],[6.767404952407747,47.538017268556935],[6.738845896180387,47.55702322452207],[6.715410264318535,47.55291548061491],[6.670176179849052,47.55789898345777],[6.646719240296149,47.53526063805599],[6.6108754443878,47.530375696762064],[6.581373134078281,47.5439823802077],[6.568287888950471,47.53296730090853],[6.583644236898135,47.50998705821796],[6.573512260277363,47.495493621813196],[6.55356252302069,47.49279726215029],[6.534536369742796,47.50605436714645],[6.5183760537344355,47.49650598459375],[6.495895471628419,47.50568894568784],[6.475912751751343,47.49653791477729],[6.463493609157821,47.51211727914121],[6.4176533951113335,47.52107576002842],[6.3343537374171,47.50596607053227],[6.280184223466656,47.44396949481327],[6.2635413933118995,47.446113357872484],[6.256322884311814,47.42460267369418],[6.227146778558152,47.421361759224745],[6.20045182507361,47.4291448308537],[6.159315835079816,47.38763809750605],[6.118643218077476,47.39516918586829],[6.080045800270596,47.35403647497674],[6.038905360008941,47.345543807863976],[6.031152213443059,47.337818639776025],[5.979565477765114,47.32599225383308],[5.965726777821383,47.33714799401978],[5.926973317778065,47.344842696907314],[5.908850384555448,47.33130809335063],[5.860063369485741,47.31441371512956],[5.84401524176912,47.30002560772319],[5.783911882300601,47.29062859459643],[5.772794289154126,47.27839174115347],[5.732304584331136,47.2635708244963],[5.698725742766405,47.264996774959506],[5.67598472782394,47.27574753150103],[5.641087079328796,47.255902139031384],[5.602110210787404,47.26053058449396],[5.574464664810694,47.25405893079992],[5.572097032797981,47.2684421265039],[5.531653812708307,47.28437396080552],[5.518538729512594,47.30418661945213],[5.4722397259852755,47.31697205065742],[5.4927946655161906,47.33207816699496],[5.487995511763959,47.36201125941915],[5.496952532848246,47.390117858136],[5.477377417366495,47.39529212690571],[5.451397515008267,47.38406251344994],[5.432338107070534,47.438347264883],[5.406499562267299,47.4618228232386],[5.376587470082713,47.46467984209965],[5.399215772340755,47.49901418953457],[5.447063511552309,47.496253655345264],[5.471680911081918,47.527461847421854],[5.486403857432212,47.526968551040035],[5.497062180458679,47.55418172115122],[5.477547427463133,47.60872207289565],[5.425594945399527,47.63207432012174],[5.39980448309253,47.597153502136244],[5.374078595885573,47.60454165278582],[5.37317594209649,47.61838294374159],[5.405745536478159,47.646866141018315],[5.406342872021028,47.673400744473895],[5.4460337898832885,47.67077575883233],[5.482567919490752,47.684602874896335],[5.529778304397354,47.67282923798152],[5.567204936430051,47.70523436852804],[5.585005103022503,47.69979015765272],[5.596682241448045,47.67168603172257],[5.6534056633858105,47.67738242296545],[5.690079801415203,47.684838574927916],[5.684123936651815,47.711966155758596],[5.693342993991239,47.737537821735295],[5.709442412269412,47.745127245662815],[5.705093217659827,47.76911094285444],[5.679969716046147,47.769967881716525],[5.681940162654595,47.806412809419605],[5.699885101970957,47.82390335263593],[5.732629873750381,47.81759710089163],[5.746056257349712,47.82359612703334],[5.744128331452809,47.84867639845901],[5.76119123886598,47.85933449216956],[5.805624457872526,47.847311152266364],[5.851317308296247,47.905988473584586],[5.869970150074121,47.900706913078324],[5.890864473987194,47.910829841401245],[5.884726375202079,47.926047148569474]]]},"properties":{"code":"70","nom":"Haute-Sa\u00f4ne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.1159670699158095,47.12333757652634],[4.153771215900621,47.11455697541982],[4.171903802407782,47.11744504627446],[4.187112897689929,47.133641259369064],[4.1819015999311935,47.15050500507014],[4.209834279044644,47.15541168354448],[4.235126114423698,47.14567232864916],[4.254511023751104,47.117244891665926],[4.2732057577392935,47.10846860042988],[4.349384584855175,47.09695260404792],[4.344250468382807,47.07243028540817],[4.401611638839053,47.08266237195949],[4.406283415170733,47.049999892555],[4.42831764695131,47.03978832160757],[4.453754603542757,47.04180317977088],[4.488156368101142,47.032053991768684],[4.5067016541013825,47.01322725598124],[4.554809047275526,47.02005452316086],[4.573661325177989,46.97338633863404],[4.589560484494725,46.9557070191566],[4.623230215613321,46.94082023678555],[4.650119701990474,46.94126696425738],[4.6790861065904545,46.93024007090235],[4.66452477880559,46.914160146408875],[4.685479824630714,46.90086027628975],[4.715721115401545,46.90691597166802],[4.728129651701318,46.91937462593793],[4.780547505930617,46.91818028344327],[4.7884658140953436,46.931872716902944],[4.893911988532932,46.951172459049864],[4.896071329118784,46.96624020620316],[4.927494382962588,46.96753853170502],[4.994466553308194,46.959149599506034],[5.0034065361874065,46.972143943970465],[5.049303736126251,46.98158693341567],[5.0762583071667144,46.95939003098176],[5.100252102348397,46.95598327083581],[5.1243390082418205,46.963720125840524],[5.166234471151257,46.963868398378764],[5.181859259011498,46.97482345386571],[5.222006075229213,46.988855497295],[5.255236339191406,46.97988809464049],[5.260170972283091,46.94558220686418],[5.274765609317477,46.93484664855668],[5.308497060036723,46.93735552157344],[5.306862019346935,46.92461572569682],[5.328705057646148,46.8902268196612],[5.3633777404924405,46.88326000729678],[5.390761534745653,46.89436876615946],[5.403416904275394,46.88995270444294],[5.401826175213913,46.868321923377145],[5.418370968481785,46.86028266347864],[5.4592864241149215,46.855244785634916],[5.462804105486921,46.84077447546622],[5.4488892034635485,46.82627111311263],[5.409821779763356,46.83254621337176],[5.3285860378953895,46.8129521008927],[5.3329251666131325,46.796100557884984],[5.352854015210384,46.793190147243955],[5.390414912053985,46.76783202725685],[5.366370235232235,46.75127756992356],[5.361096638423232,46.73098281339333],[5.393640625030492,46.728633357928615],[5.407751223773992,46.69588136597287],[5.395359314315539,46.68505154004584],[5.422089954439316,46.673031501871684],[5.415503039920619,46.654982421219465],[5.441107903009741,46.637540014709465],[5.417107587832548,46.61545539475532],[5.405690744011141,46.58167055755078],[5.369638182241569,46.58033249938761],[5.359203918767164,46.52256069453744],[5.384819294338149,46.51562428945251],[5.40775059526701,46.50005419367624],[5.415741925117894,46.47313865941284],[5.373305922688233,46.460100694018294],[5.3233509593207256,46.462505958303325],[5.310560613770375,46.446766420719875],[5.25581668314639,46.451923595866475],[5.215064143095116,46.46835927312158],[5.201145471995378,46.50821850614692],[5.172664602566099,46.513447365613864],[5.137248163610305,46.509322673438184],[5.107377093416356,46.49191576160186],[5.056433075236103,46.48392614751307],[5.027777929725955,46.49358075779722],[5.004307716480809,46.51041518184386],[4.935598865656449,46.514228992728945],[4.915557341962093,46.48894113481689],[4.915786922554027,46.465410523692164],[4.891817622919295,46.43991436571944],[4.8882077017045455,46.40298160185766],[4.851457022538043,46.35626925172072],[4.852756157390729,46.328199775494426],[4.831827095028622,46.29688694217226],[4.825956808265179,46.27478753204555],[4.810994882268941,46.25992151697563],[4.807756868341096,46.23696871115128],[4.7945808953124605,46.21831635025701],[4.780213475718984,46.176677022719375],[4.757472202390895,46.17225721411849],[4.730529789085251,46.1783721277199],[4.7208781171109155,46.19392061792661],[4.735252824806332,46.210851459521535],[4.720630389105726,46.22239538927804],[4.735773074768783,46.234243689563726],[4.679555470888074,46.25866738898982],[4.707543694868305,46.2846591310526],[4.688792316232356,46.30134017113633],[4.6546541224676705,46.30348939899555],[4.617019082985369,46.28062156129126],[4.618564521857389,46.26479290298609],[4.58651066847238,46.26869366799675],[4.557791734390365,46.294551693366884],[4.537259095086993,46.269909752755986],[4.504000511619177,46.26712967638222],[4.488464517812633,46.28799447923909],[4.458369104418381,46.29697584037131],[4.405813600867752,46.29606050757099],[4.392045244906183,46.26302385998399],[4.388079599211451,46.21978851671503],[4.362151387631787,46.195596184477786],[4.3157404325049695,46.17203342079279],[4.292313251311721,46.17248235017095],[4.2818305705425415,46.156597324529926],[4.257119428326002,46.157287705187656],[4.257372590726873,46.18473517832983],[4.224689888463,46.177995310819746],[4.207908679923857,46.194835796707316],[4.18453492610967,46.188021124528625],[4.188443814996147,46.17512895597164],[4.133393277727922,46.17732129820146],[4.104090700200876,46.19839492284894],[4.051958867651804,46.181688397585496],[4.0304983004444725,46.169772418692666],[3.9817875015959623,46.176336440402444],[3.972545422490283,46.20271202778806],[3.9135641774619283,46.20692040053432],[3.8901323277345172,46.21449064143864],[3.9094002908986636,46.25772625699907],[3.8995333931893303,46.27590543921817],[3.913568325901341,46.29667714620525],[3.947724671420121,46.303449323036666],[3.9501794500141676,46.32060215408413],[3.9866257932147806,46.3191937873956],[3.991608290169238,46.36963488772235],[3.9772154801510964,46.399224593839804],[3.996095243061049,46.42738316091883],[3.988140931065446,46.43545798547263],[3.9980416518372484,46.46546757106011],[3.957937642803863,46.48975562185932],[3.9189689867502246,46.49606391967711],[3.8904705648097098,46.48125092995184],[3.861780077410741,46.492069790934515],[3.864628432284858,46.509716167248044],[3.839759641886244,46.51756472437794],[3.8340059039329697,46.53113227681354],[3.8017563441985818,46.51989955458826],[3.767456276915371,46.53900905290684],[3.741846977514427,46.539511127662195],[3.731542528360726,46.54958181729057],[3.743101843011838,46.56549988100001],[3.732377738592808,46.60491072152218],[3.7138789586356697,46.613996147529015],[3.712149662452129,46.6336280503392],[3.6969523102437005,46.66058216583623],[3.6689793976266167,46.67350816429054],[3.651395777587073,46.70281985671478],[3.6379005417614154,46.707208771712054],[3.629423683496518,46.74945902193754],[3.638852795875816,46.7414291297393],[3.6764513769021243,46.738863704610445],[3.73619002089105,46.75247120098576],[3.783666045566592,46.736048122663426],[3.797329518692337,46.70150263714515],[3.8260957715927075,46.70391953563021],[3.8446585970830824,46.720902226508414],[3.886217784502878,46.72736946397975],[3.9268461357095314,46.73932209846788],[3.9632215617966824,46.76602786916393],[4.033374685377483,46.787597067958394],[4.062709832615211,46.78936469128212],[4.056234450174584,46.843272376735854],[4.10088702370378,46.859107279954316],[4.093851364443379,46.8747343332292],[4.063541781254885,46.898637142134945],[4.047930985015345,46.899770705295666],[4.037221978317054,46.91815560684184],[4.055716129773101,46.956751483000446],[4.039401951235417,46.98511001230653],[4.014415061270238,46.97247440888245],[3.9951563121844047,46.9853110258271],[4.0314701513696285,46.99832730189447],[4.054940156290852,47.0126839142093],[4.0565135025792305,47.03590917660347],[4.068333453149657,47.060849772300685],[4.038726355028209,47.08001003428516],[4.06142733788571,47.121041664100176],[4.093453790716921,47.11837533659616],[4.1159670699158095,47.12333757652634]]]},"properties":{"code":"71","nom":"Sa\u00f4ne-et-Loire"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.05453120471342586,48.382003457815514],[-0.04462899093295152,48.379755379925435],[0.0033707584170527497,48.39598744941706],[0.020988775959532427,48.38019902542899],[0.06252414284954447,48.38302768487248],[0.0686800642491165,48.406668571805646],[0.09917026625350714,48.41035346558878],[0.11624508246972709,48.43555379652284],[0.1513148609685129,48.43722944549019],[0.17216701037378906,48.46478849710128],[0.18981014616858835,48.46189487699406],[0.21796784681891437,48.4738014493765],[0.30023976976312095,48.480570774759265],[0.35577910790038714,48.4582196404425],[0.38155707814654405,48.42516246095979],[0.3717304119271855,48.41045271670545],[0.3831416441494548,48.35506581259146],[0.3826045470591668,48.33382739375671],[0.4062188750511576,48.31462381799055],[0.4313327796769827,48.30663773892564],[0.48757228180388706,48.307800269630285],[0.49456203378441577,48.28681219277962],[0.5303066115723511,48.265500468342935],[0.5359730618565085,48.24984731423508],[0.5791940330516644,48.24436715365327],[0.6236114391567086,48.24531365157172],[0.6531564634145168,48.26370008686643],[0.6754723126802372,48.254743451079044],[0.6954713879467597,48.236330986094266],[0.7236370295054257,48.198143278755104],[0.764084678712686,48.181597068873735],[0.797655838494225,48.19445221754921],[0.8367739335625146,48.166991974853865],[0.8619836907733601,48.16682130452495],[0.9116186783263119,48.14886135015183],[0.913802022562964,48.13512781830264],[0.8525696983122546,48.133605674559426],[0.8412172317044129,48.10306240932052],[0.8430226369432118,48.07264184794484],[0.8011883732648392,48.0715172542445],[0.7975514233427093,48.03724057968432],[0.8405346727531238,48.021049640847735],[0.8323705747596303,47.996592919852844],[0.8186564019800159,47.9892543363892],[0.8376537080820077,47.96869214349436],[0.8454683997304765,47.9413323536207],[0.8171444727137281,47.93447148791446],[0.8091382962389404,47.91066255080899],[0.7805065684044099,47.91037691407999],[0.7573343557395469,47.8911737517487],[0.7745788175007324,47.83968729513432],[0.7452461943264459,47.82624263074177],[0.7248506777855144,47.79889099623824],[0.6512736394121261,47.75525397111593],[0.6207093570907236,47.747478130583154],[0.6116040970811059,47.728130849502094],[0.5805178732790718,47.71232800971273],[0.6144311990931555,47.69421364605317],[0.6148109083098767,47.682749216116356],[0.5847693599955615,47.66857981952678],[0.5599236683507411,47.67081925112141],[0.5446201655241357,47.656594675363216],[0.5168171483414108,47.6548633763592],[0.49841790772099426,47.644762985249095],[0.45663070361835445,47.63882641156769],[0.449927725905683,47.619326961976206],[0.4239064036884163,47.61782807903746],[0.396250654091774,47.640846063055804],[0.36465541592168343,47.62601597769362],[0.39696475621012467,47.59398591871484],[0.4025770030261876,47.57851243241093],[0.37848363992659617,47.568525933307754],[0.3395858922127171,47.579470515833165],[0.32305499229698215,47.59299821090531],[0.27798986367452727,47.59737754800952],[0.2592506238809073,47.61225007215638],[0.2300017263531844,47.60839829191704],[0.1857971097487886,47.61573515835152],[0.18492077212499186,47.599519723895675],[0.13984161379263732,47.59111878052602],[0.11568518986526223,47.60572820554534],[0.05165930848592442,47.606515201700375],[0.01704033105751261,47.62110138156107],[-0.004507638464452976,47.64768842379034],[-0.05468293127308542,47.64842261886652],[-0.07177191841107244,47.658369330035505],[-0.1075909106103418,47.65528707795732],[-0.13610057418750457,47.634067825440376],[-0.15714474625449978,47.64556263174295],[-0.19315724780649848,47.6479165803738],[-0.19505682505367974,47.66137704033336],[-0.2201912638722686,47.68962152946947],[-0.20031003076883538,47.69468965521296],[-0.1823177464697087,47.712899554202],[-0.20237319489976208,47.7252424835264],[-0.23897070389904987,47.704236533845965],[-0.2867043357584838,47.7193267262097],[-0.3340636977656885,47.72116613990195],[-0.3749413527409204,47.739263349746885],[-0.3817032700427246,47.76056283993387],[-0.3754332123417834,47.76723904317632],[-0.3882005825686289,47.80531865639091],[-0.43408017720781095,47.80905444470248],[-0.4478589178811479,47.832216379452724],[-0.40938712543111205,47.858367062871636],[-0.3743813069594822,47.85830770196427],[-0.37698156137550093,47.887202712966676],[-0.40516479150867374,47.89292797578798],[-0.40710509590818,47.91084268048501],[-0.39622906190687696,47.92596685050878],[-0.37509534291502034,47.93272853592671],[-0.33832856883634976,47.93101420361583],[-0.2953214951501512,47.944001512102375],[-0.2826331784456301,47.958191807392794],[-0.3160042679648186,48.00526279935535],[-0.3399323890629896,48.01160216696548],[-0.31721069812097374,48.04509335726533],[-0.27144577462211034,48.06524304546605],[-0.2309424436035576,48.058985357486335],[-0.22496575471956115,48.0740005169816],[-0.23852128063613662,48.08512943952702],[-0.2164164207043083,48.11373479657783],[-0.25380835722539496,48.13652925202679],[-0.24992127138834272,48.157106805241526],[-0.1989536608764294,48.17827619579444],[-0.14683706738655639,48.205008919837425],[-0.14518119273289676,48.224233621433555],[-0.16095933457080433,48.23880560928454],[-0.162366087633251,48.26001034242559],[-0.13808698398432823,48.2934339795153],[-0.15462051452709383,48.31399248085133],[-0.15624187430084163,48.33878308965111],[-0.1322639799404977,48.34367891800192],[-0.13797809431803487,48.36135559567944],[-0.11216445619965741,48.37424593844257],[-0.07781568991642306,48.369011884149366],[-0.05453120471342586,48.382003457815514]]]},"properties":{"code":"72","nom":"Sarthe"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.802516663522652,45.77837197402193],[6.808418511070923,45.72515343860933],[6.847748586989986,45.68937749599125],[6.906506784191486,45.67456031820136],[6.902142336705646,45.663739451343055],[6.934608837460737,45.64709230917702],[6.966679928899032,45.65406247996058],[7.000690534148291,45.63990159437462],[6.98785713700158,45.62484030507284],[6.977853982998437,45.58988711838748],[6.995382953276822,45.57564160818661],[6.9915063165642675,45.531275223900984],[7.005311787943923,45.51709673862955],[7.000331708478394,45.504417196582274],[7.04452030151899,45.497242723763186],[7.045847872850837,45.478350392863504],[7.0997891354009095,45.46943936219543],[7.113516455211971,45.43419468733109],[7.152242832761182,45.42319920873864],[7.1842747748936695,45.407480631519924],[7.165149366142358,45.383396585908265],[7.161662218042757,45.36245350123881],[7.137734008933981,45.35080736839848],[7.134719719291083,45.33124412917526],[7.113617028522963,45.32868608867201],[7.121796569398171,45.296222432254126],[7.136428084679232,45.28079531076303],[7.137753498643515,45.25686099638962],[7.106506545205386,45.239259844510855],[7.067342157688226,45.21008321740584],[7.051179482821824,45.225331224056454],[7.019992318063418,45.21587387777123],[6.965752237821794,45.20795099681965],[6.954190330678925,45.17961083467822],[6.930266678221192,45.17096314110703],[6.895349577041668,45.16846478638608],[6.884108906250159,45.15674060434921],[6.89437780212641,45.13736971507668],[6.847887829330167,45.127201835901765],[6.812274904701698,45.14835683817089],[6.767947891773147,45.15974332272096],[6.738956139264719,45.13683144319859],[6.711286195179388,45.14475992733128],[6.680067352474279,45.14012497136189],[6.672462233861758,45.124412299122746],[6.6299873381374725,45.1093269281999],[6.615550094957373,45.12147775227429],[6.57653069592537,45.12309720037721],[6.55601396596344,45.104195104315984],[6.529708447474563,45.09856919735164],[6.510979894458294,45.10875068557236],[6.480384256020366,45.09079271505677],[6.486234598441578,45.05607309559144],[6.451799595532319,45.05172052616644],[6.438596097282185,45.06258355349038],[6.393914586674507,45.06181851097421],[6.364877554955543,45.07017079687575],[6.373529600716985,45.08414824428705],[6.362935515883446,45.10449356656247],[6.3312977067397425,45.11812379084807],[6.299216785815758,45.10855211143577],[6.260566197557925,45.12684791386632],[6.265373167502132,45.139612058658614],[6.248933790379999,45.14966269770901],[6.227710427654607,45.142718202360385],[6.189207693158913,45.163732283277994],[6.16131722681015,45.151009138334466],[6.143789597164076,45.15455037021851],[6.161919245441667,45.188407230805964],[6.159477588169717,45.202453059383735],[6.125696481423486,45.244270268835855],[6.140875621531491,45.261921460435985],[6.131944929909637,45.288287215984546],[6.160203556675586,45.31249020082116],[6.1844503207792245,45.31794850760671],[6.194758976954228,45.35224190534863],[6.177450938299202,45.39316148783122],[6.144660957447894,45.41359714609229],[6.13250773126349,45.43338472055341],[6.097443053810049,45.43210624582376],[6.090976636521003,45.444017712369956],[6.049753851710852,45.43791952965108],[6.008517618674313,45.45384805163827],[6.010911085643492,45.4732028948577],[5.991189721035916,45.47515424577151],[5.966169653050879,45.49230872138139],[5.915370443544101,45.47644734987887],[5.92551858695235,45.46607303539041],[5.9205757281996165,45.446107810736585],[5.901623412018766,45.41803604702067],[5.909619159426924,45.3904002917266],[5.891004502554541,45.39221582440636],[5.8797384015593375,45.406796712103805],[5.854272829475331,45.41656686156957],[5.820296539907869,45.421184335243574],[5.782081150720109,45.44065533936711],[5.740104011811925,45.43734623286918],[5.731970000928497,45.45281667211181],[5.73637233564262,45.47254042424704],[5.719054346580329,45.48422397831694],[5.71223316468065,45.505057950484435],[5.690155380407807,45.52805094541753],[5.671709636036369,45.53657315102359],[5.675167496407929,45.552447358553074],[5.623027366443004,45.60428439343032],[5.623748035268078,45.61326832676418],[5.659528303353562,45.638682809874865],[5.689187102194641,45.64850161239945],[5.687058475150925,45.66816731077608],[5.708336503736496,45.683064766572876],[5.704119379498135,45.710926329459184],[5.756676853365063,45.70873356110276],[5.783495254205752,45.74431423922736],[5.77937453777779,45.76217553185385],[5.786777683247082,45.80940611504179],[5.80366973107069,45.85558153164841],[5.8285402770414905,45.909296035615355],[5.831226413621035,45.93845957829322],[5.862101395990038,45.932402294861824],[5.869091534260767,45.886864468450106],[5.878940328529421,45.8597615070083],[5.873592999113487,45.842776979480114],[5.913222470309635,45.80414050655359],[5.962785346309549,45.81273546653543],[5.980956213671225,45.795577042949866],[5.973931864683397,45.77494633416943],[6.010784848574594,45.75008827465721],[6.042951856542115,45.73909560438109],[6.0527168183887685,45.748591125666145],[6.082884373383685,45.73997499672517],[6.127911958348486,45.75170259298121],[6.142900945398585,45.76151435802781],[6.178383991605425,45.74715464474954],[6.19554810502904,45.73233087617837],[6.189464060829947,45.70250157434257],[6.231653819459301,45.7027499445204],[6.239679907775353,45.685404763162595],[6.279888236747214,45.68431276833579],[6.3048306731057115,45.69329913872337],[6.328722589989684,45.693028041590736],[6.383851558657904,45.77805529558221],[6.424911859192457,45.80352244063008],[6.444801213660523,45.84550566374783],[6.470572561574056,45.8846919017355],[6.493715031750103,45.88999988497013],[6.514771172368506,45.90441808486001],[6.558675044419775,45.8930927712201],[6.572913173369461,45.87755381109516],[6.56843309482083,45.86317365422438],[6.539525002903797,45.86285738025596],[6.552237633503553,45.82687986970037],[6.577214777368843,45.81657207430024],[6.601732972495579,45.795419923318136],[6.661011726554582,45.799100632035966],[6.688825113135432,45.77134869370408],[6.686145373112389,45.755327050482464],[6.6987046073815275,45.743259542342656],[6.691927026555463,45.72680454299077],[6.711951361097394,45.72291924893507],[6.74001337439419,45.74561033697647],[6.755509936266976,45.76635254534395],[6.802516663522652,45.77837197402193]]]},"properties":{"code":"73","nom":"Savoie"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.802516663522652,45.77837197402193],[6.755509936266976,45.76635254534395],[6.74001337439419,45.74561033697647],[6.711951361097394,45.72291924893507],[6.691927026555463,45.72680454299077],[6.6987046073815275,45.743259542342656],[6.686145373112389,45.755327050482464],[6.688825113135432,45.77134869370408],[6.661011726554582,45.799100632035966],[6.601732972495579,45.795419923318136],[6.577214777368843,45.81657207430024],[6.552237633503553,45.82687986970037],[6.539525002903797,45.86285738025596],[6.56843309482083,45.86317365422438],[6.572913173369461,45.87755381109516],[6.558675044419775,45.8930927712201],[6.514771172368506,45.90441808486001],[6.493715031750103,45.88999988497013],[6.470572561574056,45.8846919017355],[6.444801213660523,45.84550566374783],[6.424911859192457,45.80352244063008],[6.383851558657904,45.77805529558221],[6.328722589989684,45.693028041590736],[6.3048306731057115,45.69329913872337],[6.279888236747214,45.68431276833579],[6.239679907775353,45.685404763162595],[6.231653819459301,45.7027499445204],[6.189464060829947,45.70250157434257],[6.19554810502904,45.73233087617837],[6.178383991605425,45.74715464474954],[6.142900945398585,45.76151435802781],[6.127911958348486,45.75170259298121],[6.082884373383685,45.73997499672517],[6.0527168183887685,45.748591125666145],[6.042951856542115,45.73909560438109],[6.010784848574594,45.75008827465721],[5.973931864683397,45.77494633416943],[5.980956213671225,45.795577042949866],[5.962785346309549,45.81273546653543],[5.913222470309635,45.80414050655359],[5.873592999113487,45.842776979480114],[5.878940328529421,45.8597615070083],[5.869091534260767,45.886864468450106],[5.862101395990038,45.932402294861824],[5.831226413621035,45.93845957829322],[5.834025839734275,45.972026538215985],[5.809643351753076,45.98979960381866],[5.812398928975968,46.02398062317354],[5.806996561909532,46.043829800018194],[5.8114184967701625,46.07842009259869],[5.832300912634432,46.10599585856304],[5.855667958392184,46.08676688670444],[5.883180329915085,46.08491752032048],[5.8924200086063525,46.118482302607056],[5.922266804802187,46.13147760862653],[5.956063159932633,46.13208943594269],[5.985318105052286,46.14330892189844],[6.045529778815728,46.139907519306156],[6.052041801049772,46.151402672290395],[6.092465663697645,46.15175991441013],[6.126624627901115,46.14046081078615],[6.175072377878081,46.15814989960168],[6.185975362523726,46.178176058241256],[6.235977428314406,46.20654881404464],[6.277369983407964,46.21561016581553],[6.310110099309942,46.24370059763195],[6.307272725570715,46.255436556730494],[6.267633620497312,46.247839839653885],[6.237797813525851,46.2773342585167],[6.246790968617458,46.30206938671207],[6.277022020836744,46.34891543898281],[6.303735764913311,46.36625941824085],[6.3446765942166445,46.370013560347886],[6.356956142429217,46.35266345709143],[6.3900361566872315,46.34016563406088],[6.411592280204707,46.35839568319258],[6.468499886776638,46.37242442527263],[6.482856165126304,46.39192443764463],[6.513071711513262,46.40478840307281],[6.545175304790926,46.394727359364545],[6.588092394777118,46.402317999643515],[6.635060415534961,46.405770576746406],[6.722868985320351,46.40755389780494],[6.789802754759155,46.39291791721357],[6.806217638297463,46.38037206259825],[6.770617080369467,46.35489783286797],[6.784482072903341,46.33270290819052],[6.820345178565179,46.31437668901683],[6.829983705845801,46.300043050711345],[6.864509851829647,46.282990769883504],[6.853894399067287,46.253761843433864],[6.839925738114553,46.248239017516546],[6.80366083421475,46.20434524954354],[6.81194009872822,46.18337761562343],[6.792040848027208,46.16290288539592],[6.796535034034799,46.13861879772074],[6.814732162900611,46.129696461365214],[6.898381393099358,46.122562070394075],[6.883845122673671,46.09579681990079],[6.8914542235903005,46.08449157208838],[6.872633110865425,46.05204817296112],[6.888329552883717,46.043116914092494],[6.924513948824021,46.065193804450395],[6.951511564566567,46.04995609942393],[6.9846850080843375,46.00654353554806],[7.005830810542592,46.00054972582734],[7.022720712338816,45.98029457159881],[7.017978490745711,45.96034701964026],[7.03720423287911,45.95472134951176],[7.043890107046439,45.92361818207322],[7.020983385199974,45.916194082670756],[7.0031519124087716,45.89782921384603],[7.00536167353659,45.88435235390808],[6.991719912014907,45.86819987209143],[6.951037365261489,45.85954131063136],[6.939604939153821,45.8467321064224],[6.895100845805131,45.84259632779018],[6.8736072885923845,45.84549967424515],[6.818885778420616,45.83620281158613],[6.803991136344079,45.815853187486255],[6.812719976307191,45.808021694582315],[6.802516663522652,45.77837197402193]]]},"properties":{"code":"74","nom":"Haute-Savoie"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.416339717281352,48.84923827340741],[2.4622646327720443,48.84253748930953],[2.4626974524261254,48.81905707868419],[2.4384502049151475,48.818235158647155],[2.4006819201840903,48.82909612370583],[2.363949262797974,48.81631512383787],[2.3318953139887446,48.81701271305569],[2.2790573794463054,48.83248998498127],[2.2242245702250814,48.85351605360998],[2.2317363464837308,48.869069480870024],[2.258472586492028,48.88038999464371],[2.277487004862913,48.87797011937597],[2.319884458526643,48.90045886733916],[2.385151006972503,48.902007792208785],[2.4139437894422056,48.87082877761242],[2.416339717281352,48.84923827340741]]]},"properties":{"code":"75","nom":"Paris"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.3815511365583815,50.065766690242754],[1.4092601958562414,50.057074130391825],[1.4235954957723689,50.070850716019166],[1.459145908803628,50.062499063196654],[1.4521908437935025,50.04023194047863],[1.4933078848725079,50.01773775805818],[1.5165885660526253,50.011616580757526],[1.5269495769722599,49.99657729204429],[1.5738945679765357,49.973919004055446],[1.5940134659800094,49.94905060798451],[1.6784506742272387,49.91813416149145],[1.6932905136148655,49.895599170378354],[1.7102228122571477,49.889310195824926],[1.7373868163547241,49.808208553760934],[1.7579353611352482,49.78079816556512],[1.7838370588623413,49.75830750106765],[1.7416263242274626,49.751633772466256],[1.7454557068129848,49.73856265789178],[1.7196883349196141,49.730467625863746],[1.7154681056064667,49.70860435289633],[1.6895758821118119,49.694785646260954],[1.7045143422610263,49.68092631423977],[1.7339504969080488,49.69920938045457],[1.7521846819353237,49.680957188725905],[1.7252046142437358,49.67263435960493],[1.7088335612864556,49.64638148474686],[1.7216075786347382,49.62199032398025],[1.7057508157515966,49.60621127470416],[1.7147813730167585,49.576405140938526],[1.7298338150528105,49.56129313430964],[1.7271846205611596,49.54162647589022],[1.7478873461630975,49.537734307389876],[1.7192326604453187,49.50822302010686],[1.7508109914810421,49.4953034048916],[1.7718644061411502,49.51284827349518],[1.7902240900460897,49.50346919449449],[1.7741127542848931,49.48629204874629],[1.775862453037976,49.47132557760213],[1.7474339115753832,49.45944834208184],[1.7229968419974309,49.43391580233039],[1.7139375433100608,49.409224988863485],[1.6593030583878112,49.39898608539559],[1.6210669431541742,49.414378158641135],[1.6069566095899943,49.410854416858434],[1.576136831058076,49.43973886640559],[1.5283196177789204,49.44198980558868],[1.503549409663381,49.43807237615207],[1.4771860122081044,49.45132697219684],[1.378499108777362,49.45742638657252],[1.345233363898118,49.44805852414145],[1.3353971000652705,49.43371952908696],[1.3096318834456244,49.42873257275235],[1.3080682780467234,49.39535659061039],[1.2931900574437356,49.394994727671126],[1.2860248038650488,49.36318319072627],[1.2721366387570638,49.346289233389804],[1.1990286032008088,49.35080528187691],[1.1602558424773857,49.3419941567295],[1.1359587366778499,49.32511330683783],[1.133993537971445,49.30984205819146],[1.092924014464112,49.30997367751731],[1.0482359283696867,49.2966707056018],[1.0644211959188252,49.28193243229649],[1.0540696575756032,49.26810664758745],[1.0133166256832071,49.252262976528414],[0.959487909604523,49.28612972876709],[0.9366215857125476,49.321701430518324],[0.8924955592567678,49.303062511451586],[0.8915316720257209,49.31656133415404],[0.8622783261742117,49.32742242737676],[0.8662303093667536,49.34231160512299],[0.8875928951071438,49.34591517415329],[0.9214023473164947,49.33855254623689],[0.9181193706199334,49.385460584535736],[0.8853214512018548,49.38352473329317],[0.860851622884771,49.39535013278994],[0.8265612311602684,49.395044519606806],[0.8035289901620026,49.41664937662084],[0.7736557882409092,49.41808160502643],[0.6652914150341133,49.40200234791148],[0.6597835439594861,49.41617560182564],[0.6341203993784739,49.43446117824468],[0.606260846591224,49.428697933243775],[0.5790634674462867,49.43507202120442],[0.5249403531988139,49.47786858986832],[0.49007688558798895,49.48360764057147],[0.4315314440644818,49.45895529203515],[0.36879599400345847,49.44396615809678],[0.33898282435946164,49.440931306061266],[0.3393207094305681,49.449868831628415],[0.27314284372297987,49.453414579238974],[0.25680101789478893,49.44632740649414],[0.21769675248147502,49.45296251103499],[0.19246414594061223,49.45146267347711],[0.12124538314126981,49.46319090812617],[0.09027197399997772,49.48238083770633],[0.0869152117239871,49.50142956453898],[0.06955005489894274,49.50639804169097],[0.07493125272583377,49.53633203458849],[0.1067376725391497,49.58349804620551],[0.1358703018889327,49.61860240605246],[0.1545347165457159,49.648642302677665],[0.16422682078283132,49.6864622352224],[0.1916018630620729,49.70633817691035],[0.25070045477776937,49.72314244472515],[0.2832559477463974,49.736576618509304],[0.3204248903804176,49.741454635143654],[0.35491793407269084,49.75501019348861],[0.3653124690043182,49.7657533954537],[0.43342979790476643,49.788116116429364],[0.5227583029442804,49.82453411281469],[0.5729399803584807,49.84972067059468],[0.642036660341264,49.86418779498403],[0.7061281802579872,49.87233770484798],[0.717770959544887,49.86976975035244],[0.7909714215080401,49.875752899331296],[0.8325742104597927,49.889609850179305],[0.8746626207569893,49.894680673456534],[0.9297893305630467,49.90673400517858],[0.9631874837108031,49.91985755151356],[1.0200465393294824,49.91610987649026],[1.106143977580899,49.936747669981074],[1.205890918797349,49.97349908694593],[1.2464603482064156,49.99528129594621],[1.3324241305696787,50.047123771141564],[1.3815511365583815,50.065766690242754]]]},"properties":{"code":"76","nom":"Seine-Maritime"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.571660318442073,48.69201409164602],[2.5688040564289847,48.707222628077005],[2.585211502726328,48.727239448802735],[2.5854093346308815,48.74171196622536],[2.607003437584154,48.77439762384403],[2.5922804883088015,48.8074366758147],[2.592517689219438,48.82587446702569],[2.568103791053846,48.86594445401019],[2.5870340052947016,48.893952959629644],[2.592341722831452,48.925023616614034],[2.58930360616549,48.953762745338985],[2.5717986314833206,48.96867398285449],[2.580314053373102,48.99158952144207],[2.55306064485419,49.0098171174389],[2.547651942231624,49.02344674891678],[2.587858904546535,49.04990157898905],[2.572031573014404,49.06149045194861],[2.5905242793946224,49.079654846732424],[2.633272965218076,49.10837621896302],[2.673154178752123,49.090859401094306],[2.7067286108537023,49.06571610231719],[2.753551034147009,49.06074104171223],[2.7870683167938073,49.075272380356054],[2.7918669791571764,49.090224385649144],[2.845152480122472,49.0846582975852],[2.8560893422319023,49.07003394285967],[2.8949540105299616,49.077060509386286],[2.9015078805206906,49.08537404257291],[2.974612129302612,49.07483790651457],[3.0085155429257675,49.09151015780461],[3.0483639955943445,49.086321770811566],[3.071884293834167,49.117554218816146],[3.1039032023368676,49.10783847337312],[3.1361260876735515,49.10736575572267],[3.16523032905892,49.09965085798759],[3.1535840813505853,49.08328424779814],[3.1818268776645002,49.060865198640144],[3.1682883590774806,49.01667270236993],[3.229176905886298,48.98841784600257],[3.2518351589230496,48.97236625695047],[3.2678460373508416,48.938331129104206],[3.3047494707754015,48.94876427894454],[3.3130758740800688,48.9212163651494],[3.3302994547269797,48.908706088642376],[3.3663472431751384,48.922836905893014],[3.3828132392962247,48.88874725594759],[3.380474508825688,48.874761432854626],[3.404630766733507,48.86387236235099],[3.452232416190477,48.856291455303484],[3.4607105852412756,48.83944139457446],[3.4851874436586847,48.851908494372864],[3.484964362562067,48.82500976544345],[3.4321733352035433,48.81226134369876],[3.442913938608982,48.78618495446326],[3.409426927872636,48.78384005486431],[3.395834526122342,48.75925128896011],[3.4302049079731773,48.756874901226034],[3.4443842525897947,48.73668491350176],[3.4697275479340295,48.73786507384338],[3.4643028353269045,48.707377209765006],[3.4693877334848082,48.68643581459289],[3.4406134906014127,48.6636539025972],[3.460426313142606,48.65300999879329],[3.5174997752390147,48.64336703334491],[3.5190711976645597,48.633474580141225],[3.5556137492385345,48.62028467657408],[3.5038535314822115,48.6048091344709],[3.4975003134409723,48.58995747369995],[3.4655161591022283,48.57048567886506],[3.479607557239746,48.54471109171053],[3.4591902801865113,48.53074024476159],[3.4234423807070566,48.533562692399734],[3.4053980660358945,48.528012199625785],[3.4348599344666386,48.49751072268098],[3.388359827890943,48.480408300039215],[3.4064783284931712,48.4524502326185],[3.3919598867876517,48.424322153455364],[3.422082006455869,48.413341906536964],[3.4147915595010967,48.390273038820325],[3.3833187883415756,48.39970860491622],[3.367217075047188,48.39431654152582],[3.3651592673815314,48.37228068710627],[3.305153213312036,48.37287323488759],[3.282397556791885,48.37751802756359],[3.254382220567969,48.36502185965591],[3.232843707551971,48.37032930740775],[3.2018573040530143,48.36401635870226],[3.1398687617633554,48.37259875797597],[3.0988849903520745,48.35782222270563],[3.0495188960927044,48.36012035556557],[3.036760677253472,48.34009779475704],[3.041677936242915,48.329416667963116],[3.015901008416285,48.3079017396547],[3.043627253848888,48.27202235761227],[3.0051556578134635,48.20767000034546],[2.97446503722382,48.20555285255294],[2.970958045601008,48.194187673485665],[2.9347486048838207,48.17882262621194],[2.936314411640624,48.1633917441478],[2.868032820232008,48.156433549044586],[2.8208799789852854,48.12966447731962],[2.7978126665223124,48.14068615599144],[2.7989445730680167,48.16827665010273],[2.7414685556447598,48.15977844911796],[2.7551983055667155,48.145653478490786],[2.720460981753342,48.136910896310766],[2.7065470696044738,48.12481924580505],[2.6634205012712795,48.12220248073456],[2.6397338993017683,48.1388605931352],[2.602684217604197,48.13148889808521],[2.570562642830993,48.14081569138084],[2.537506945660482,48.14033979679666],[2.521518685158647,48.127300215727736],[2.4903153051303115,48.12660259180864],[2.460116447222927,48.13685254342551],[2.4832376593500602,48.164518230078265],[2.5063270278885916,48.15643757520199],[2.5093663344872534,48.18250926382449],[2.523126693688509,48.19489310648136],[2.5068882455094257,48.22598658432872],[2.4690901704508605,48.255272821570486],[2.452518016092004,48.25003251288878],[2.4237635277023717,48.260297326582666],[2.4210918870276967,48.298668261849855],[2.402664267131608,48.320719459421184],[2.4255796854392964,48.33725297618987],[2.4298322285044196,48.362015783117755],[2.46921772462766,48.37645004114287],[2.5216135704659886,48.404932172570405],[2.527461927309532,48.4157156753841],[2.50765489240467,48.429543907057045],[2.501886311020425,48.48476669856557],[2.51535674995086,48.50615222035927],[2.49952467433224,48.52523904800114],[2.5198364478476627,48.5625203315344],[2.5182770284128475,48.5832577878723],[2.543776514406961,48.60384977114558],[2.5258433805130944,48.61310782203827],[2.53361600680745,48.65733138882678],[2.544818846722052,48.671181815072785],[2.585373689362236,48.67939805001862],[2.571660318442073,48.69201409164602]]]},"properties":{"code":"77","nom":"Seine-et-Marne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.200591009269503,48.908679329890454],[2.168378401515456,48.8950779335488],[2.1528691414227357,48.87333985214219],[2.1458733412695294,48.83602003450691],[2.1515778037276103,48.81702039834037],[2.1766744128227886,48.81380509870073],[2.1829398770998654,48.7972269838604],[2.2026350450801604,48.798403323102875],[2.2265593271545225,48.77610203162176],[2.2027216574242257,48.771358218371454],[2.1820096609166937,48.757573640869396],[2.150675004182983,48.753712115449396],[2.1349798974354277,48.737139276053675],[2.097999010182745,48.73436502883337],[2.1103326928214208,48.714381141190366],[2.0820789629661083,48.68544592956703],[2.0456590375105823,48.687570739614664],[2.0178852678544255,48.64224227868909],[2.0602445240702307,48.6175941143781],[2.034508920154608,48.603498748150024],[2.035741451799255,48.58886342431221],[2.0172296562124665,48.56946047379915],[2.01757406029729,48.55759738742344],[1.9787832030076382,48.553654167165384],[1.9378872442847588,48.562931040710545],[1.9340684230182927,48.54810690246857],[1.9674261909808515,48.53307136184394],[1.9460308303104135,48.515862147920664],[1.933377950693106,48.482146422725215],[1.9149145708790403,48.473854949789406],[1.9221489648373706,48.457600286064135],[1.9064022701801788,48.44014576962788],[1.8716851573650342,48.43978475842447],[1.84486306037181,48.4493607065379],[1.8321369890615689,48.467581442678565],[1.8032057888939028,48.472565678495286],[1.7768442507697113,48.50931096191216],[1.775751488475668,48.52770729661422],[1.7872450519775867,48.55374456486673],[1.7653297161980415,48.56937104099974],[1.7092527874670105,48.57802434626235],[1.7019890546581085,48.58499862181419],[1.714895681919355,48.61439494545783],[1.6662188615195896,48.613706715891],[1.651574528306872,48.63812870428749],[1.603118482168126,48.66241796207503],[1.6117708691618606,48.68947111646258],[1.579545829918285,48.70181187348942],[1.6263993499269267,48.748094297484094],[1.5875947031508344,48.773602302755286],[1.5756742260519878,48.7905067944881],[1.5912030850964909,48.814869639400584],[1.5772685877162862,48.84436076548629],[1.581598875031263,48.85499897015231],[1.5462315883376268,48.87242890235984],[1.5595052783343866,48.88205164409549],[1.5385208308731109,48.90668492167043],[1.5386150005667363,48.92179645733065],[1.5073440226070087,48.927598989147334],[1.5015238197988665,48.94105360615515],[1.4974212515808907,48.97955944476306],[1.477085024550759,48.978790316157344],[1.4770779834042216,49.01679764336922],[1.4577625828067995,49.026291046220386],[1.4474328265726297,49.04518805211747],[1.4607983669865394,49.0627440580796],[1.4848834480593345,49.05154791492779],[1.5380423840651944,49.072342033316],[1.5570756944651978,49.06962240086733],[1.6017185942276444,49.08450261108525],[1.6087960706299218,49.07789415353795],[1.6455144472390726,49.08139804743355],[1.6736891270071164,49.07815117318431],[1.6937298328462178,49.056950122989164],[1.7234571618642331,49.04497657550691],[1.7596265233069017,49.06332287848212],[1.7942998843096216,49.058190360814926],[1.7965466896679247,49.072232197890884],[1.8300339442296272,49.0754853922552],[1.8653368480003796,49.05724562325274],[1.8513341928477542,49.03336315145782],[1.869115159435854,49.01823530435844],[1.8912257485830386,49.03927754626276],[1.9124689805854491,49.041836823035794],[1.9378021652564328,49.02177632637227],[1.9918815520004978,49.0210106286694],[2.02340791218018,48.99794435218925],[2.084914920835882,49.014678714910325],[2.127119946587909,49.009678482150534],[2.1207126230627655,48.99330122057494],[2.154931342389435,48.985723515837904],[2.175542212320485,48.97240487622723],[2.17723226175586,48.953657461253236],[2.20585834678071,48.94974074221645],[2.200591009269503,48.908679329890454]]]},"properties":{"code":"78","nom":"Yvelines"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.8919599503022404,46.975817849607864],[-0.8559224678754487,46.979084161484536],[-0.7875770887198819,47.00513718237798],[-0.7619520119905745,46.992139886795954],[-0.743365629187983,47.00070367813692],[-0.7156396951065868,46.985502313803366],[-0.6758343487736584,47.00172199082605],[-0.6438716820428597,46.99351589442817],[-0.61568293448452,46.99293402227639],[-0.5654683969778376,47.01942614381194],[-0.5555783931772565,47.04353316953107],[-0.5595318719263807,47.06188673077478],[-0.4953402437613724,47.082385217708435],[-0.46269733093798004,47.08192636562548],[-0.4642554478540593,47.06757786350008],[-0.42854910796633194,47.07271663479802],[-0.4007795061579299,47.07077103460959],[-0.3834553981375389,47.08769862856716],[-0.3579271504355597,47.09365187822681],[-0.3414640153397548,47.08733467869207],[-0.2879290635736671,47.10144071067538],[-0.2415379484520476,47.10572466544675],[-0.20250740252740007,47.09583787535414],[-0.1848398275184138,47.10833699690516],[-0.1521214820209298,47.10085428544302],[-0.178486598699701,47.0697670558895],[-0.1476585466148043,47.069854366674875],[-0.12838002979815127,47.05442990559355],[-0.10212095637964737,47.064797190818005],[-0.08113082448484565,47.01267677238524],[-0.06675773993609899,46.99387700352016],[-0.038153345460296736,46.98939008519809],[-0.044186809693518486,46.95837119466449],[-0.022215929347250134,46.938478291692846],[-0.009032410299882686,46.90747700605923],[-0.027263869318720418,46.87992322868147],[0.02561539858266648,46.85287480114874],[0.01660746491547145,46.83496346394018],[-0.007773096486773423,46.84747452695961],[-0.04568987388716529,46.83210506753766],[-0.020316336069380297,46.812653925006536],[-0.02232550667364259,46.78961529950765],[-0.014979708609133745,46.75637013577674],[0.005731121087621784,46.75454225312974],[0.03826535834799053,46.73158052408886],[0.0007042720140891931,46.71623331657764],[-0.006947998344661607,46.68290982229758],[-0.040426190194721524,46.66371702380725],[-0.03338532562574275,46.65364917507512],[-0.0653244004897615,46.63246151135352],[-0.026547974206768066,46.62886079422371],[0.0031057671136598976,46.61079878720693],[0.022854639746489266,46.614530685176334],[0.020058959008376207,46.58512799711242],[-0.008022109474557896,46.567543137522954],[0.007895566679664658,46.547974321223606],[-0.007157529433821307,46.52327699327565],[-0.03135125528751674,46.52498101941566],[-0.04230359002464692,46.470028260342126],[-0.01707071907246923,46.47527516260208],[-0.010457661947033809,46.44881280383021],[-0.017092824348942416,46.4113223945137],[0.00026572855997630953,46.392018635848565],[0.02069664723879619,46.38800352143432],[0.03421997901294537,46.37349679947992],[0.013846004253531347,46.35706042377505],[0.029657077300027247,46.349192346191],[0.03250915440256327,46.32782028737164],[0.07821800902702593,46.304933538922825],[0.09780469789926086,46.33079981164575],[0.13759784994026253,46.349395182700974],[0.17523938179388834,46.33181773874165],[0.16956912209813432,46.31018694492532],[0.15218685361085643,46.30314888540674],[0.17232027940044886,46.27860128086839],[0.15955968591576844,46.26656979483444],[0.12883677213786587,46.26723154899869],[0.14344160353379778,46.230114587841406],[0.11343152573440447,46.21220922906378],[0.1076952133925229,46.1861301320678],[0.13793977146169878,46.18084966362293],[0.1551113740904502,46.157168244596924],[0.1870636693943682,46.14851197384494],[0.22035458351339557,46.15799975349338],[0.21492180826491483,46.13884556432992],[0.19108384573574536,46.112280833588024],[0.1973535052161626,46.09555004152969],[0.17785565005004553,46.08330780134647],[0.13568666816811367,46.104047924067046],[0.09965289984710943,46.092923144255636],[0.07297225926176307,46.09389590958497],[0.01927278461702518,46.05284782935696],[-0.031995293425440136,46.05592180291526],[-0.02144724431586948,46.02887152321493],[-0.04551950280367589,46.02062123975871],[-0.041431040823060886,45.993479981490964],[-0.10293687953014707,45.969659985237946],[-0.13686284675087984,45.97896246180592],[-0.13816141787435107,45.99651797265895],[-0.16338440604219345,46.010154472823466],[-0.1614029897771452,46.034632694780214],[-0.18913173505260444,46.026141171108804],[-0.19462930058574468,46.044380369324465],[-0.2129646707291253,46.04409636271024],[-0.2730277009301873,46.05731156087075],[-0.28173430941987637,46.07975377766763],[-0.331053750782718,46.08255183868407],[-0.36273280893098575,46.07554208376435],[-0.3719662136104232,46.09346535716146],[-0.4014506800441788,46.08424772978497],[-0.42250549768348417,46.093907520969715],[-0.49096917294552705,46.10827096658701],[-0.5331548006606286,46.139721552287604],[-0.5469968076890201,46.14422952781575],[-0.6199574101252711,46.137752754570535],[-0.6284055467115421,46.16098350805028],[-0.6553901462423457,46.16995289669758],[-0.6848825769982527,46.2004519742498],[-0.690715475013079,46.2192025056982],[-0.751461997484196,46.24507022173624],[-0.7358896726556473,46.26687597846039],[-0.7498018188117581,46.28684613695955],[-0.7504755422947275,46.30425879436195],[-0.7219129656364313,46.30237450310386],[-0.7201500047099074,46.31489050090406],[-0.6973310699310054,46.3250900125706],[-0.6722725322460164,46.3162191658117],[-0.6482532698392601,46.317144430298924],[-0.6366035278644262,46.337591841879316],[-0.604945148704239,46.34715238390407],[-0.6032466407115049,46.36146637541298],[-0.5618089129416993,46.35974018410839],[-0.5378004980121098,46.38646546545568],[-0.5660555377589854,46.39308485800112],[-0.6101772466297536,46.41373600220488],[-0.6208833834377796,46.390455794535654],[-0.6406445679433723,46.41622924515597],[-0.6368414296493504,46.43230561509176],[-0.6187762241263333,46.43885619623182],[-0.6159660718681671,46.46157045085021],[-0.6250321267782425,46.49748332134845],[-0.6451962418895167,46.50856915270028],[-0.6245399718190973,46.529723883887414],[-0.6021285989587045,46.533280547788735],[-0.6067041276726987,46.562332081853285],[-0.6245653646005823,46.57739763355232],[-0.6119040829758216,46.5883080542103],[-0.6270238350693782,46.60565028049541],[-0.6141139330666167,46.62039039102903],[-0.6341929952870002,46.63738600695415],[-0.6375207590786917,46.662275660644845],[-0.6807382103871169,46.686802029507525],[-0.6561893352875896,46.700774642460914],[-0.6688837671234614,46.717234169266845],[-0.7001491562174191,46.735799391945754],[-0.7273121698337293,46.76763245445797],[-0.7088363450612226,46.82106096053443],[-0.7328576209101574,46.8215002648331],[-0.7816473761536221,46.842828501140936],[-0.8152783793677632,46.87936123351067],[-0.8321833934652019,46.88454160082127],[-0.8170418725493785,46.903983682599055],[-0.8291443983745105,46.93336473376701],[-0.8519389677391533,46.94650472324497],[-0.8729898783606566,46.94434766819017],[-0.8919599503022404,46.975817849607864]]]},"properties":{"code":"79","nom":"Deux-S\u00e8vres"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.3815511365583815,50.065766690242754],[1.4538812244610173,50.11032909893485],[1.4827841768786612,50.17236969475436],[1.5124381763701704,50.2017063700377],[1.5484320471199113,50.215221918674395],[1.5961991412319396,50.185500707511935],[1.6274102918028155,50.19000238393702],[1.6733457406347452,50.17468159487083],[1.6837994282613178,50.18302974967859],[1.6626698233214425,50.21359776854474],[1.6225022082629057,50.21514839669941],[1.5936030011622346,50.24428749653274],[1.592228280418861,50.25645840166426],[1.5493076277829827,50.260405655281644],[1.537947734772934,50.282668474589045],[1.5509358115042569,50.350323301735024],[1.5713354866487355,50.35845399700039],[1.612971621673763,50.36029378076435],[1.6415439209955993,50.35215320244089],[1.6707155098465678,50.33101039989745],[1.739453874214164,50.35457494026503],[1.7787842601942672,50.361866180722075],[1.8051005697505793,50.35956479028979],[1.8313070764668689,50.345521376961486],[1.8725624158329885,50.332203345380606],[1.8759231954314028,50.32174642503478],[1.9180007470953697,50.31177877534881],[1.9381301712408916,50.33010048991117],[1.9587947410604334,50.31226469090631],[1.9364041762807813,50.30146908295568],[2.0032288628275974,50.27038408348767],[2.026446120500165,50.269546075893764],[2.0561495866960637,50.25515840313268],[2.0857138282832497,50.20100753303517],[2.122580060921799,50.21070523924823],[2.1602439796705144,50.195073090929476],[2.17414784189994,50.20889796150714],[2.2173374639794026,50.21748679591506],[2.2458060345105704,50.211701863441725],[2.269796498169412,50.22880955959933],[2.3012047633367585,50.212864087760096],[2.3404952021137726,50.2293253960828],[2.370204907638782,50.20977035832257],[2.3814020747034625,50.22558671136131],[2.4054762905102116,50.234029470791484],[2.4524037722545233,50.22617450808976],[2.4852044166964613,50.20779089755312],[2.4956903275727766,50.19456202411803],[2.4511824235732345,50.17870118824561],[2.4148458534849215,50.17310955154985],[2.3897770566865675,50.155484821444404],[2.3923866280005646,50.14534070022987],[2.375459692531332,50.109251478562726],[2.4145079258525888,50.10064240686793],[2.4296578345647766,50.0881849283962],[2.4501350913608073,50.12440021874914],[2.481495194281265,50.13816938510139],[2.514949343300702,50.140811614698116],[2.53247243497901,50.11502396682772],[2.557055359846941,50.14204829791205],[2.579246199237998,50.128556557952706],[2.5760198137336725,50.11341281005766],[2.620114035740686,50.1111233231505],[2.633413606035314,50.100835661500284],[2.6918325946042887,50.09172778717194],[2.729579928321446,50.125953038257606],[2.7633488151068777,50.10996516360832],[2.781835790362261,50.09110348945762],[2.742546612593098,50.04823137136034],[2.763122932751498,50.03863557102141],[2.7889640682343506,50.045311213953525],[2.807546851114983,50.062415585560984],[2.857843650412817,50.07739311900277],[2.87653264314694,50.04217932424792],[2.917155076234358,50.035710799347],[2.9444810700691098,50.05347379150127],[2.9787858100327975,50.04636219278302],[3.014439323479967,50.059152788811005],[3.074492199997738,50.04529954091121],[3.090253620620082,50.05374055513492],[3.117562382696325,50.027670727516394],[3.1729557922769542,50.011311964972776],[3.1613946355055402,49.996049271243585],[3.1768373814163575,49.98520439643777],[3.1515239055114135,49.94267027284344],[3.117968662907868,49.91427637798353],[3.1200543249509205,49.88428837261846],[3.0835290437648006,49.86638777885566],[3.085506495983628,49.84381936000555],[3.0558889248241528,49.83168131148238],[3.078694114076548,49.82241521578422],[3.0859749674446215,49.792016685972655],[3.0627453563551175,49.78264211542407],[3.0937519856623417,49.75705197896964],[3.1184031553047866,49.705968560150744],[3.0629504716788527,49.71256910166192],[3.026158602863713,49.680298029261905],[2.989594629116647,49.70802042057901],[2.9495143470656977,49.69065965176808],[2.915712813038834,49.70267238896688],[2.857260670232296,49.68366758301244],[2.843350258918428,49.65852651008911],[2.8007055089354633,49.661447402253124],[2.7897685778094523,49.638092566661996],[2.7980938007575653,49.61811251953584],[2.7709877504026585,49.61435313605804],[2.7395572131560577,49.626924487224116],[2.687556334287926,49.62475309433038],[2.671248956542555,49.59858674592385],[2.670723151725744,49.58141197178741],[2.649628562594336,49.5717641083625],[2.6299442784590084,49.58032399470266],[2.62379591221486,49.61023030743844],[2.5970251802580453,49.61168115170793],[2.571493337841171,49.59708062701416],[2.526732085722268,49.62940041323432],[2.506120221148308,49.63500671034503],[2.4781226406322063,49.620790233933015],[2.4456566302700073,49.65297898416902],[2.409702695719323,49.66099609376744],[2.3708606973518425,49.65635328949203],[2.337642942746636,49.66900004753446],[2.3157256235726433,49.689753026308125],[2.2850923978754705,49.689388245191964],[2.21756318128915,49.70246959323254],[2.156484137758264,49.70211563032466],[2.1214097069260887,49.68807409174484],[2.103494780498011,49.694736883916796],[2.05989780108139,49.6948752492932],[2.0267681801791118,49.711310876188165],[1.988919892649775,49.709402970462676],[1.9332098221662726,49.719629963489474],[1.8938643249004963,49.69898823076106],[1.838108169073818,49.708425628485685],[1.836736935686628,49.74011542093402],[1.8089798932395025,49.754332476868704],[1.7838370588623413,49.75830750106765],[1.7579353611352482,49.78079816556512],[1.7373868163547241,49.808208553760934],[1.7102228122571477,49.889310195824926],[1.6932905136148655,49.895599170378354],[1.6784506742272387,49.91813416149145],[1.5940134659800094,49.94905060798451],[1.5738945679765357,49.973919004055446],[1.5269495769722599,49.99657729204429],[1.5165885660526253,50.011616580757526],[1.4933078848725079,50.01773775805818],[1.4521908437935025,50.04023194047863],[1.459145908803628,50.062499063196654],[1.4235954957723689,50.070850716019166],[1.4092601958562414,50.057074130391825],[1.3815511365583815,50.065766690242754]]]},"properties":{"code":"80","nom":"Somme"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.990170712650344,44.149452563484346],[2.029696407495935,44.15703749613199],[2.0273876177134555,44.16774670708074],[2.0593768473509186,44.17228332636406],[2.103007805822088,44.19236177915484],[2.1495172687755666,44.20027523558509],[2.1565521534572882,44.179860441662186],[2.1752849884595378,44.18101099006862],[2.191149664017209,44.16226251594439],[2.206941568452062,44.17128000270773],[2.2376135766415715,44.15862580829351],[2.2006096765756986,44.144878675424955],[2.2396498479355507,44.13445411470232],[2.2848803617727818,44.145334610005946],[2.2906506734219882,44.1246789196839],[2.3236392435181563,44.12468040684526],[2.3577385466562726,44.10155549627926],[2.400758251634245,44.083536917635314],[2.4102102719432614,44.05584863724648],[2.4600622206958023,44.05135361527231],[2.4634612069785837,44.034971712792114],[2.4827654912259214,44.02626238773467],[2.502131799597772,43.985509672089385],[2.5247925967526887,43.978086506867584],[2.520624718664867,43.962390454422454],[2.4993471763625212,43.950586257731224],[2.5377898856336207,43.93373704382359],[2.556301019312927,43.918667347684455],[2.5504866871867202,43.89654064032313],[2.576682228818769,43.881724244386106],[2.5653040807171466,43.86779348986836],[2.564162540693876,43.84133108872312],[2.5971439125173483,43.81904107424546],[2.62921204804682,43.78033346795367],[2.681730402635996,43.74351491586531],[2.7120947274866287,43.74265456414404],[2.7376382481956725,43.729149343592226],[2.781560489408381,43.73708398417332],[2.787648251453773,43.75205159727044],[2.813673557986314,43.76171872931414],[2.876569254236284,43.740391576832444],[2.9211070453325663,43.736113678075654],[2.924979718909465,43.70722262668568],[2.9354629666803715,43.69466778518887],[2.9190783288815148,43.68754825993107],[2.9197089782492416,43.662246071066406],[2.9073523053079366,43.65422802689393],[2.8159272603949876,43.64006590950408],[2.7948588118902697,43.62443489640862],[2.754523557193863,43.61413878643581],[2.7202035511311102,43.645368462055636],[2.6446987288829193,43.65454190899258],[2.6286278265574405,43.610128390915975],[2.614324097727256,43.59922725257067],[2.630666452845948,43.581990495056836],[2.615607192520078,43.56663335506618],[2.6556293418118515,43.526612299085116],[2.6549053505045195,43.496865365205636],[2.665159813486489,43.46562405590211],[2.6404157795956293,43.456170094886865],[2.6083131770094083,43.433261066263796],[2.5657873980365586,43.42295974410401],[2.5192241258183463,43.42357280473514],[2.4968524565426087,43.43693032075721],[2.452244714182291,43.43185573872313],[2.4331017858919792,43.43517605493275],[2.3951180854863265,43.4183086163608],[2.3113690047501163,43.441551364653506],[2.282011032773141,43.44122586946259],[2.2648019643127553,43.45354440574296],[2.2441052741816327,43.44588047377504],[2.2220362066137076,43.42780221311405],[2.2296639061851096,43.409449060674696],[2.2150238714414177,43.38350522654672],[2.1877030879041897,43.393901845464775],[2.171612173004611,43.41555236920325],[2.1092766429079504,43.39455364359396],[2.0708019369201476,43.40639420952169],[2.05313408767619,43.430200497980316],[2.0291328387973606,43.43689796484212],[2.0138097404810105,43.44990469289765],[2.0181412825331915,43.47035021960434],[2.0482899751352006,43.48572590288188],[2.037543768971243,43.50685651452312],[2.015050754536418,43.5043691931112],[2.0102344593980876,43.48184918070482],[1.9899972756684245,43.47746968529684],[1.9560763206968899,43.494064073594906],[1.9169530392384777,43.501607534442506],[1.893376989480592,43.511429254268904],[1.8804140168444965,43.540315043888405],[1.850708886716764,43.54928175630703],[1.8494522810871268,43.56754406011732],[1.8334565523038187,43.57823452761835],[1.7794523688032238,43.586981588268245],[1.7639547679681267,43.603570939255114],[1.7450478782076964,43.603462190630566],[1.687771093611741,43.63070037401986],[1.7056013351461534,43.65256600106776],[1.7308693816067124,43.65775037692843],[1.71671390955716,43.68932470041024],[1.663572654706257,43.694057655631546],[1.6689046629721764,43.70425646859944],[1.7072267665260739,43.71239499211101],[1.7000226658018673,43.725322579061185],[1.6499189090514812,43.75186514404521],[1.655698865700349,43.76426648219855],[1.6424989428665737,43.77836778877496],[1.6447876270393125,43.80025749535743],[1.6264959472746285,43.80130658412972],[1.5902324934871344,43.81453310403227],[1.593170425533653,43.843138372370525],[1.5725847390862493,43.84880231415562],[1.5595369144011864,43.86612807085979],[1.5604448006284883,43.88193633936389],[1.5466741254835874,43.90227582964282],[1.5556171726831822,43.91831715512138],[1.5744028028209767,43.91999510793722],[1.5688025856988956,43.943198531782116],[1.5391789751184526,43.94610094085612],[1.566776744212795,43.96532381568133],[1.6127153523350066,43.95906662893657],[1.6208860145318815,43.97931453686908],[1.6503200088773333,44.00970081509553],[1.6713878275979381,44.01064280343677],[1.691390036568917,44.02434074044874],[1.7042082044268858,44.04435014147369],[1.6928507235679002,44.061263774222766],[1.663698631036224,44.067293948046974],[1.6692525822909714,44.0897935292734],[1.6531212588113546,44.09644666319218],[1.6589585652250582,44.11641211601676],[1.687249576121949,44.11145262454695],[1.7064309387658185,44.117360786594475],[1.7637387132353881,44.107940426275455],[1.7699612205027875,44.098072774451964],[1.8061153359121302,44.126377351181155],[1.825515829990398,44.10797185179575],[1.840515979784208,44.114288575980986],[1.8305641028040827,44.131618758275124],[1.8600956113709224,44.14291167180455],[1.91928917399122,44.14138672306297],[1.894363466379432,44.15555865721924],[1.9196921618272453,44.16294029634055],[1.9470531745397543,44.14670665841298],[1.969528164610802,44.14268050879639],[1.990170712650344,44.149452563484346]]]},"properties":{"code":"81","nom":"Tarn"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.0640838318649115,44.37851326503539],[1.1067222137699213,44.39234711511698],[1.133750630714704,44.39298864277138],[1.1274427936033644,44.37298221773624],[1.0935208798901315,44.365961836772776],[1.081222945573455,44.354384743572695],[1.1134152586304344,44.33885107169266],[1.1219514922437734,44.31674824624536],[1.159346881110355,44.3106276809867],[1.1957883877382156,44.281420540652135],[1.2379955233318247,44.27589295439949],[1.2680258772309094,44.28148431232658],[1.2978031763342432,44.29486040345977],[1.304059855892509,44.26295931081006],[1.284277976591082,44.25174919798396],[1.2842650178929034,44.23519209123777],[1.3179163572182218,44.23295776845425],[1.3437890556280911,44.22428502732317],[1.3567953753702289,44.204016861252555],[1.380368119687147,44.22485773308437],[1.4535628583819051,44.25411881791156],[1.4531769569737827,44.26735663623184],[1.4732207948805132,44.28421134803531],[1.4951499133483663,44.27109950643376],[1.5096978064892344,44.27344945044928],[1.5290793065479253,44.235377109638385],[1.5417577750229903,44.22781299250401],[1.5752251099432597,44.23873127310143],[1.5872537911119244,44.24900550804784],[1.5707268227394882,44.30150251962804],[1.616906636210223,44.297528790899236],[1.6156813561412897,44.27840070659787],[1.6422791348823196,44.270774261083055],[1.6516207663148532,44.286805806785146],[1.6995029158165784,44.313814281404504],[1.755361660673192,44.325821897882314],[1.7745395287661794,44.31236243680847],[1.7918320747165322,44.33342155767223],[1.826465277116675,44.32358769097796],[1.882082857535903,44.340065248844205],[1.8594609109987437,44.320378858719295],[1.880911316974408,44.30347685224885],[1.868779185952882,44.29203687124151],[1.901390505373501,44.27911646341682],[1.941087860705048,44.28241377562342],[1.9704438024330744,44.276436279434016],[1.9594126927401139,44.241188828077995],[1.9430651280544025,44.247586110602526],[1.9049135238032417,44.210214643984514],[1.903654339982968,44.19375585363767],[1.935140495123965,44.18136455834765],[1.976683004728593,44.17992355171282],[1.977057759324639,44.16258114075737],[1.990170712650344,44.149452563484346],[1.969528164610802,44.14268050879639],[1.9470531745397543,44.14670665841298],[1.9196921618272453,44.16294029634055],[1.894363466379432,44.15555865721924],[1.91928917399122,44.14138672306297],[1.8600956113709224,44.14291167180455],[1.8305641028040827,44.131618758275124],[1.840515979784208,44.114288575980986],[1.825515829990398,44.10797185179575],[1.8061153359121302,44.126377351181155],[1.7699612205027875,44.098072774451964],[1.7637387132353881,44.107940426275455],[1.7064309387658185,44.117360786594475],[1.687249576121949,44.11145262454695],[1.6589585652250582,44.11641211601676],[1.6531212588113546,44.09644666319218],[1.6692525822909714,44.0897935292734],[1.663698631036224,44.067293948046974],[1.6928507235679002,44.061263774222766],[1.7042082044268858,44.04435014147369],[1.691390036568917,44.02434074044874],[1.6713878275979381,44.01064280343677],[1.6503200088773333,44.00970081509553],[1.6208860145318815,43.97931453686908],[1.6127153523350066,43.95906662893657],[1.566776744212795,43.96532381568133],[1.5391789751184526,43.94610094085612],[1.5688025856988956,43.943198531782116],[1.5744028028209767,43.91999510793722],[1.5556171726831822,43.91831715512138],[1.53278908620992,43.92135227933209],[1.5233234997345355,43.90360072658564],[1.4907818788063523,43.888997239785134],[1.47466252365823,43.90211274166312],[1.4529636675835562,43.87502936555188],[1.418934148647794,43.87135534680213],[1.4086035229055638,43.88264557304525],[1.374917030255939,43.8843365489393],[1.349235626213503,43.871655526938696],[1.3626018809802545,43.85723006032639],[1.2965943993985685,43.847335316271405],[1.3137064308190725,43.8322272891667],[1.328030911759578,43.83816349035954],[1.3572704568738654,43.83369324204132],[1.3600316395881045,43.81720012311376],[1.311084838455899,43.800602295519234],[1.2676345847416235,43.79377274514794],[1.2666508924183946,43.78318101448264],[1.2192055591403763,43.7707867235541],[1.2161233635195094,43.791159600168356],[1.1798084884492999,43.7952937589264],[1.1577904338124643,43.81838124698653],[1.126079238294049,43.80959552989913],[1.1124096388582891,43.79707276987681],[1.0808172102613443,43.81306583616325],[1.0591319349426427,43.798594472191574],[1.0361954975370666,43.804232715802144],[0.9910444477374416,43.797045697236534],[0.9777987859720318,43.7864397525409],[0.9539831166064948,43.78737246570886],[0.9225087136116431,43.792160090217415],[0.9016078422827867,43.803642278388125],[0.9258616635111263,43.83162570191422],[0.895421911527158,43.840341795321024],[0.8994393128667493,43.86469845813272],[0.8834946132400759,43.87525629317644],[0.8898495576086674,43.90333223113469],[0.8635672395335378,43.923563445790464],[0.840062943234885,43.9163310081733],[0.8092979458979879,43.9323016655978],[0.7706960292642194,43.92228348891115],[0.7601497122296061,43.945349940213774],[0.7845407712528714,43.9558047755343],[0.796774360578817,43.97561613750477],[0.8277030720805598,43.99957154660625],[0.8136473846848539,44.024906180353696],[0.835544710660537,44.024621299340474],[0.8578678740058554,44.03490133585646],[0.8273513279716257,44.05525093595275],[0.7640478940656028,44.0296390768852],[0.759648653180342,44.049474350183324],[0.7418847912050018,44.06519923501575],[0.7384290025794918,44.07517631749729],[0.7540526324371263,44.10494098314301],[0.7962434549004299,44.11513490164438],[0.7950995188269604,44.145608667033],[0.8204870205722198,44.143244018566314],[0.8687736555079509,44.1263296946747],[0.8884779694239573,44.14877042878723],[0.8722443454179576,44.16786912488895],[0.8535753263369856,44.17496072438758],[0.8596865515735523,44.19273721850749],[0.9051836940209331,44.19731593132676],[0.9292392370345569,44.23025011826531],[0.9190898187097761,44.238270029336576],[0.9504654080705977,44.274984882924066],[0.9239584511688518,44.28869614788378],[0.916429926804432,44.30219542177865],[0.8951266314063179,44.29679206245922],[0.8696283736168164,44.309384546367944],[0.8961131685671826,44.34622833470228],[0.8873307771559802,44.36637485759437],[0.8982100442421902,44.381369123534306],[0.9199180731590045,44.384149730804495],[0.9500583334266814,44.35976314594097],[0.9806308033981536,44.35841947585265],[0.9960831328157144,44.36864294446829],[1.0498031510072285,44.36263857861528],[1.0640838318649115,44.37851326503539]]]},"properties":{"code":"82","nom":"Tarn-et-Garonne"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[6.4348048599912655,43.01553967859008],[6.455204193482509,43.02681414026909],[6.470219113787291,43.04517281781743],[6.489595213255647,43.04264656574441],[6.4698423857502005,43.01636834554753],[6.4348048599912655,43.01553967859008]]],[[[6.397097505711295,42.992801581371666],[6.382674546492372,43.0122950539356],[6.420662735426035,43.01371293579736],[6.397097505711295,42.992801581371666]]],[[[6.244070723660419,43.02003990146341],[6.250456907741955,42.999405471017184],[6.2086721858280045,42.98337897719049],[6.164093203064464,43.001486581994094],[6.178205964056932,43.008378995767266],[6.201680276206104,43.000832977469685],[6.244070723660419,43.02003990146341]]],[[[5.753650891000443,43.72462222505303],[5.757332977582704,43.72940911375532],[5.781343238677484,43.75565738832376],[5.8278752703448715,43.748065843473604],[5.849146371217722,43.72025525749223],[5.901533390582641,43.73289106389851],[5.903517180339531,43.751432620885154],[5.937716232260396,43.75023611335413],[5.937998300025333,43.73057120981495],[5.9564454360651595,43.719401124766904],[5.98543773624429,43.71396312876724],[5.987939406703312,43.69505659267458],[6.005007067617743,43.68778786403108],[6.021735021476141,43.66827944245308],[6.039033980651841,43.67892716093395],[6.036131813943926,43.69416334085516],[6.077305911948532,43.70817081210753],[6.1036091865345306,43.73722227951302],[6.140796857826169,43.73769553098114],[6.182886008281907,43.76217559136371],[6.188517764066482,43.776267312514086],[6.212407106246491,43.79839605677458],[6.254215459954332,43.800433718328094],[6.262893011516566,43.781882078680276],[6.3267516313932,43.74662594026461],[6.356960735074889,43.73636766488724],[6.3835404106739695,43.73442775895217],[6.413483066219063,43.760360418472196],[6.4144280526034985,43.79159445843418],[6.4388083985564,43.797745193516654],[6.482076253327453,43.791074426311035],[6.52476198332243,43.80636597788804],[6.558904687579015,43.7841955441722],[6.585317018818273,43.80050767551297],[6.619973007874097,43.80550530861199],[6.636395800176684,43.788950567095455],[6.657423432162916,43.74871807004049],[6.682708528326925,43.757936848433445],[6.70139956454595,43.754068906503676],[6.719415853332108,43.7381403462073],[6.753535969205428,43.73816698047835],[6.766592784345339,43.720212010988675],[6.774352202435761,43.69341283496426],[6.7608013983957,43.66648795918856],[6.782299387537954,43.65415726922716],[6.798740654261999,43.62818033606127],[6.812859360304176,43.6305052559662],[6.838776771755721,43.613611496756825],[6.8879265318112735,43.60741263064278],[6.908012993627823,43.599079187946934],[6.907175687871982,43.572966433750736],[6.879542001080731,43.53535761950226],[6.89638230847014,43.5271599958737],[6.884230099335205,43.502535727819215],[6.933726236453417,43.480068010885034],[6.922885490828145,43.45174387541975],[6.905141154857869,43.44535017666573],[6.891803829527237,43.428580913728375],[6.857004426913538,43.430474860535256],[6.858844544234777,43.414799720326116],[6.826767053167243,43.41737073152947],[6.782764730332782,43.409442320887486],[6.766270052682748,43.42375280812916],[6.733704630154437,43.40559793735444],[6.732003206721381,43.38946313855496],[6.714335229285594,43.36790695222178],[6.7099565741085065,43.344596635575606],[6.6800297271705,43.340297041676884],[6.665952517510404,43.3182163655059],[6.583869079366629,43.27730467434808],[6.58599194489557,43.264474487305584],[6.6206975135955615,43.26419875103567],[6.639850874222042,43.27423471176637],[6.662119995811744,43.26490893551231],[6.677311623765608,43.278791964313584],[6.697137390126857,43.26639912327035],[6.690285120903589,43.25444947454634],[6.663579906038083,43.23804248633585],[6.6697773834987,43.20593681234112],[6.6424608658713495,43.185044777871894],[6.620225523392656,43.16070781744534],[6.591926740934735,43.18547932186572],[6.556403062532188,43.188079368186806],[6.495595304956187,43.15114513174647],[6.459406427232955,43.155878063276724],[6.4051625531535405,43.14899847503375],[6.368717778683196,43.13697275788714],[6.359759637416901,43.119904470727896],[6.365822239355368,43.08894493070752],[6.332512727498749,43.0910972881653],[6.316672182510005,43.106169850809124],[6.274938809272962,43.12074293872334],[6.24125248602693,43.11390300424902],[6.20808289628789,43.11644424038581],[6.1802726418863445,43.10699799522913],[6.1604467571254595,43.08929067476381],[6.15001613157217,43.061260557512185],[6.157072005051721,43.0283622233928],[6.116717634954243,43.03924175451086],[6.131609970477635,43.04800821003079],[6.125902358634685,43.07753538311637],[6.076465121556624,43.08694321993878],[6.031440047836645,43.0774733246304],[6.0234687473310835,43.09480782262938],[6.006259832558937,43.103984285718425],[5.940943551094233,43.10775854379546],[5.9206305576319345,43.12390905489088],[5.899891552467621,43.11317366571534],[5.916526116114346,43.08566056570662],[5.871977255950896,43.06810192056182],[5.8574626666009255,43.0466186792423],[5.828809918694244,43.04936457422897],[5.804564531287972,43.078284936751075],[5.813898362790477,43.107129005014066],[5.773153880321081,43.117608445363594],[5.781006228280267,43.13093301699203],[5.725850946491633,43.13652712230804],[5.719019910025584,43.14727450998757],[5.694880043308294,43.14358778681909],[5.671875005699277,43.179268786904935],[5.683909137465821,43.23605829449104],[5.738053338597997,43.26234879905431],[5.760928945485899,43.26733799967126],[5.749842102092498,43.289268158207484],[5.726600840963344,43.317355354807546],[5.691040375926617,43.31296284082202],[5.6805714198425825,43.320567749059826],[5.686454243837883,43.34018809721801],[5.705025402908448,43.35591845372619],[5.694566647112354,43.364397692972155],[5.682787396731936,43.39915686931637],[5.724430347442292,43.408873853719896],[5.749995488821414,43.40151212758493],[5.786515741534922,43.41454030725915],[5.750365813842735,43.43483686058608],[5.729497620866793,43.4649455181253],[5.698802592390258,43.48217012690398],[5.716142493328895,43.50429675245373],[5.722822019697228,43.54816058741321],[5.695815693323289,43.5621406925523],[5.6692574361600405,43.56473259595678],[5.655965226280003,43.57740113848914],[5.691599302975247,43.58442798717338],[5.681084297973491,43.61251583703795],[5.7002276041895055,43.64171580606343],[5.744798262971254,43.65677840759107],[5.799061112603831,43.66051789095841],[5.803458345470844,43.67967259461735],[5.782188925366387,43.70688803457204],[5.753650891000443,43.72462222505303]]]]},"properties":{"code":"83","nom":"Var"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[4.892909784975503,44.36481842003465],[4.906627552610216,44.37409911682911],[4.918515009368784,44.40778504385655],[4.963297700567191,44.42193444899826],[4.988609946346962,44.42320030980228],[5.013305911983339,44.405345557740354],[5.015759498726315,44.39276614596861],[5.048760348502809,44.381234267021824],[5.052014293962954,44.364659059368094],[5.0270075535733945,44.362835342005326],[5.023291388686099,44.34594820774989],[4.978583367650993,44.297463038388315],[4.922149021948395,44.30878294851454],[4.8894629809408325,44.30401919301177],[4.881629025271996,44.32487165610533],[4.89532799567956,44.33806148358807],[4.871546699824252,44.349624687939915],[4.892909784975503,44.36481842003465]]],[[[4.649223666100485,44.270359865010946],[4.653469115901898,44.302095538489496],[4.6506150134375535,44.329805791511276],[4.679025302617316,44.32048933622703],[4.720123840256769,44.326714895236336],[4.762251228111598,44.32538168266028],[4.804563291806201,44.303896893827336],[4.8031008029072115,44.27998919217419],[4.812665863343398,44.257719064767414],[4.814096088903183,44.23231467832123],[4.826652705578103,44.22832506640777],[4.879050668886603,44.26148357791232],[4.932910424012261,44.2621518073366],[4.981451791724815,44.2848325971684],[5.005535817021755,44.286754820483196],[5.060564583015947,44.30813976056077],[5.076512049103177,44.2840860159789],[5.1045087340965685,44.27953745155323],[5.172696360911815,44.309393695074476],[5.167205149288734,44.29205090874127],[5.1497271329806695,44.28208386834487],[5.161547590528067,44.24559067110522],[5.154903556803357,44.230944996200954],[5.174965607033191,44.22080662233339],[5.23814970804007,44.213233332998946],[5.2565087145716225,44.23005632855739],[5.292247629624085,44.214467072564894],[5.3368331508273,44.20353145731521],[5.354042708088259,44.21342924717531],[5.384523055943825,44.201046720663136],[5.383240887752097,44.15528473021913],[5.43571830913588,44.1516641531859],[5.45471645974309,44.119227904662864],[5.498787806458752,44.11571934778835],[5.5026367853279545,44.06343920865494],[5.544598165016952,44.06989191567907],[5.543633878090188,44.02596177811475],[5.518062394104204,43.99011201336662],[5.508647939314863,43.959839793825395],[5.51208954255573,43.94600228564646],[5.544991957929805,43.93905484015686],[5.558844627129812,43.942576073587574],[5.579927197959687,43.925980406162694],[5.6064371876892,43.91613043943877],[5.573186434978607,43.86492031403171],[5.549174903324726,43.8514199844283],[5.54452228126406,43.81819693654997],[5.574599751241474,43.83029407148107],[5.627700103254839,43.830927143331614],[5.654445137414141,43.82511098585937],[5.674483353980397,43.807360446333846],[5.684551176087874,43.78850163078797],[5.713394551246806,43.77950341891952],[5.7184242970991175,43.75512132052309],[5.7491639540055255,43.7405464918297],[5.757332977582704,43.72940911375532],[5.753650891000443,43.72462222505303],[5.73694977606664,43.71600369956981],[5.7173496269448085,43.6935266901868],[5.6740823773888085,43.69354548263312],[5.647750486437068,43.675796002747234],[5.6069435191164425,43.65868590516478],[5.571561902428718,43.66192326389572],[5.532691768278144,43.658982498850435],[5.439245661034277,43.68110432174805],[5.341018959038618,43.719703701701896],[5.31850282672,43.73502143195822],[5.255713544202415,43.74655792640453],[5.229990308924739,43.74767288112555],[5.187972296540632,43.73510332278256],[5.173314396868251,43.7388086180006],[5.0496564330787725,43.788726353015356],[5.029533445304739,43.82779291313872],[4.996088984833567,43.846062979958205],[4.966309299927298,43.87164726913833],[4.925857913600155,43.886492676966505],[4.902319279838385,43.88793164631778],[4.885234592866442,43.90014657326699],[4.853093547765335,43.91138205123056],[4.82173604983078,43.912827836405015],[4.739060856654237,43.92405947349057],[4.779022226905269,43.937890875835855],[4.815061095574236,43.96762596960125],[4.8159847814707275,43.98880175042401],[4.842106431474998,43.98647433852841],[4.8376753047986,44.01494231096372],[4.789122145192578,44.05219781937887],[4.787978024928094,44.06505409747017],[4.757852990967429,44.07724513689432],[4.730134251131141,44.0790279145671],[4.707458356688192,44.10367246401244],[4.722074664233516,44.18742154948267],[4.705782650078868,44.192789712499234],[4.706545407713171,44.21443008164891],[4.676647952353196,44.212568030429516],[4.674835744164297,44.23855142877028],[4.654069363595851,44.25434245648795],[4.649223666100485,44.270359865010946]]]]},"properties":{"code":"84","nom":"Vaucluse"}},{"type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[[[[-2.304793360419174,46.70942393875938],[-2.3355867245025954,46.68810408131238],[-2.365411420853787,46.69514960298605],[-2.3928869274271354,46.71146786590562],[-2.398989314185467,46.72610823947123],[-2.371515973727442,46.732425575951765],[-2.3183814886611573,46.719019084873665],[-2.304793360419174,46.70942393875938]]],[[[-1.1485704887534398,47.029545162586565],[-1.1444802777855911,47.02539165807213],[-1.0741287584409651,47.008280037449445],[-1.0158832983469237,47.00413844081306],[-1.0003954614147021,47.02080439583092],[-0.9670342291507741,47.00506278044761],[-0.9334603151811864,47.008908043397554],[-0.9027847223499762,46.99384133071281],[-0.8919599503022404,46.975817849607864],[-0.8729898783606566,46.94434766819017],[-0.8519389677391533,46.94650472324497],[-0.8291443983745105,46.93336473376701],[-0.8170418725493785,46.903983682599055],[-0.8321833934652019,46.88454160082127],[-0.8152783793677632,46.87936123351067],[-0.7816473761536221,46.842828501140936],[-0.7328576209101574,46.8215002648331],[-0.7088363450612226,46.82106096053443],[-0.7273121698337293,46.76763245445797],[-0.7001491562174191,46.735799391945754],[-0.6688837671234614,46.717234169266845],[-0.6561893352875896,46.700774642460914],[-0.6807382103871169,46.686802029507525],[-0.6375207590786917,46.662275660644845],[-0.6341929952870002,46.63738600695415],[-0.6141139330666167,46.62039039102903],[-0.6270238350693782,46.60565028049541],[-0.6119040829758216,46.5883080542103],[-0.6245653646005823,46.57739763355232],[-0.6067041276726987,46.562332081853285],[-0.6021285989587045,46.533280547788735],[-0.6245399718190973,46.529723883887414],[-0.6451962418895167,46.50856915270028],[-0.6250321267782425,46.49748332134845],[-0.6159660718681671,46.46157045085021],[-0.6187762241263333,46.43885619623182],[-0.6368414296493504,46.43230561509176],[-0.6406445679433723,46.41622924515597],[-0.6208833834377796,46.390455794535654],[-0.6101772466297536,46.41373600220488],[-0.5660555377589854,46.39308485800112],[-0.5378004980121098,46.38646546545568],[-0.5618089129416993,46.35974018410839],[-0.6032466407115049,46.36146637541298],[-0.604945148704239,46.34715238390407],[-0.6366035278644262,46.337591841879316],[-0.6482532698392601,46.317144430298924],[-0.6722725322460164,46.3162191658117],[-0.6973310699310054,46.3250900125706],[-0.7201500047099074,46.31489050090406],[-0.7219129656364313,46.30237450310386],[-0.7504755422947275,46.30425879436195],[-0.8024766924625577,46.325152925140934],[-0.8090890487729437,46.33843674064563],[-0.839878203866059,46.340369117324364],[-0.8509360179567931,46.31718679438478],[-0.8876799965820683,46.32632425572865],[-0.9047974021645193,46.31381080962026],[-0.9348886609093259,46.31285600461673],[-0.9617714534617725,46.323112713720874],[-0.9441603850496662,46.33604884873509],[-0.9318397064952478,46.3658034260157],[-0.9645133582944424,46.3654018117805],[-0.9774473324091834,46.35111139719007],[-1.013807240115001,46.35562475996166],[-1.0525280096214227,46.34254164468142],[-1.0807261526640515,46.32142762319264],[-1.129404177492153,46.31027691915601],[-1.1671810169437413,46.31969405036838],[-1.2021666067108026,46.31599153007532],[-1.1955103805422935,46.30048349541652],[-1.2063765625294878,46.288846571626785],[-1.2073944924206363,46.266571614816904],[-1.281772839130423,46.309968266424384],[-1.3444380346892142,46.341953842181326],[-1.3667425638808843,46.34861328663727],[-1.4009792622186368,46.34050457904003],[-1.4284190944836321,46.34712502912173],[-1.4659415635018052,46.34235901019938],[-1.4877969769705215,46.38139204154906],[-1.5021454225847812,46.39734952406836],[-1.5340123722474628,46.40887626089284],[-1.5490765402226871,46.40548020561594],[-1.6113040094680402,46.41341659286108],[-1.7082937557327667,46.450884792059824],[-1.7558962800631415,46.474872816955255],[-1.777141798763278,46.49275846362317],[-1.8136695999589263,46.49534718792214],[-1.8213149950439371,46.523721393572785],[-1.8560176099926675,46.608577928185206],[-1.8906746733506474,46.634689983740806],[-1.9408440446802884,46.69106965939676],[-1.96540793995167,46.69200185704432],[-1.9826664543508177,46.72031292149719],[-2.0719487980113698,46.782813819976845],[-2.1410311606229655,46.81774558883561],[-2.1550297319780927,46.88965414468634],[-2.122239576466256,46.891263453405536],[-2.103448154684842,46.92098874969161],[-2.0582281140235676,46.950944454989695],[-2.0293326201395745,47.0086320208736],[-1.980414486742876,47.02890649407564],[-1.9688489284381314,47.02767329905578],[-1.9432276192598639,46.99471092059494],[-1.9166202315157645,46.991518959422415],[-1.9174428113267457,46.97508381963422],[-1.872614380314098,46.95312868208426],[-1.8318237164160205,46.953809822447525],[-1.8309821821134158,46.932033724154486],[-1.77556460551789,46.92540682943319],[-1.7513270577094098,46.929611815604666],[-1.7362508076850236,46.91143568904478],[-1.7371139932046213,46.89680599083098],[-1.7202546726947285,46.88456447923729],[-1.6870033984268769,46.89055113474326],[-1.6645131258008816,46.874779205029014],[-1.634820511862539,46.87837868837905],[-1.5485110748777025,46.86007983436468],[-1.5007668577856463,46.88389115282979],[-1.527927453698693,46.92377826735825],[-1.5309030377362816,46.94498074264914],[-1.5543623514658027,46.97816341773942],[-1.542665987015755,47.00327217070728],[-1.5552723334553664,47.01533738692226],[-1.515724271893768,47.027732420842334],[-1.4998449288829532,47.04068947453796],[-1.4759335714372155,47.029463554503664],[-1.469172627780506,47.00198697021648],[-1.4769594857010369,46.98097074445235],[-1.4572082927387657,46.95464665401728],[-1.4715165512848787,46.93291787054446],[-1.4582677297055284,46.92583846037384],[-1.4181594787532137,46.943057239909116],[-1.3729857700949506,46.95218446660972],[-1.3590587331965938,46.98113458794234],[-1.3775094300897999,46.990940454807415],[-1.363022131692666,47.005231806651935],[-1.3786124689367814,47.03085386698655],[-1.3627515861913184,47.04068820066417],[-1.3124114592110108,47.03350963450989],[-1.2946349782361042,47.03948346966515],[-1.2903251112226377,47.07019181205101],[-1.2683044893940385,47.08474885032919],[-1.248272600668004,47.068248451977425],[-1.230646678052403,47.0647662671337],[-1.200679265181828,47.04002068735864],[-1.1485704887534398,47.029545162586565]]],[[[-2.1980740779182004,46.95116764927802],[-2.223157246071586,46.965272827071246],[-2.264380088499401,46.96087838866196],[-2.3010983301708356,46.98904472545455],[-2.292512307340026,47.01255801910092],[-2.276523639405111,47.02888353822751],[-2.250689026745477,47.02730168494982],[-2.21884576130942,47.00847250653137],[-2.2262568575011112,46.976185679026486],[-2.157184376417708,46.950037734214405],[-2.1474391673875983,46.93419680146382],[-2.148498361118927,46.912972973348154],[-2.1679626813926482,46.90846416238237],[-2.175646599875998,46.92930475655864],[-2.1980740779182004,46.95116764927802]]]]},"properties":{"code":"85","nom":"Vend\u00e9e"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-0.10212095637964737,47.064797190818005],[-0.09805549141019346,47.0913509263054],[-0.08590400471278307,47.1010103974686],[-0.04416541443323743,47.093242584398084],[-0.035959245982801084,47.12509157253751],[-0.01073662557135027,47.15750952036683],[0.01901485826766373,47.17575785031973],[0.03664297673522525,47.160354293664795],[0.05382761471070587,47.16373008265526],[0.07637120084195233,47.12393194888823],[0.13613090268194533,47.121580554147506],[0.1347219236888625,47.1078700305567],[0.15685150997252176,47.103344382080465],[0.18146114771856547,47.11438824881292],[0.20095302486598468,47.09125887635545],[0.1742206159576792,47.07127519606643],[0.20800102904621295,47.05323202361692],[0.2455423301785185,47.07128604001384],[0.2718544387898612,47.04638904119169],[0.29823142261819696,47.05391872520871],[0.3093302509672645,47.04413338267026],[0.2986715021217093,47.01959741824875],[0.3081773026194614,46.99988348323911],[0.30073625724988334,46.97382765864781],[0.31122704760535835,46.93783959199593],[0.3248406111614126,46.93065213256517],[0.3665152631758488,46.94955720761298],[0.4387096602536596,46.929582071059045],[0.44480383249233546,46.94114889283753],[0.5027297280171042,46.9579123909043],[0.5392917082788095,46.960220880583776],[0.5644222278144092,46.95552996701939],[0.6015594112278456,46.95910993478791],[0.6011756847806528,46.97309082433285],[0.5783449036180749,46.97981081817415],[0.5669489614197056,47.00227037444166],[0.6188741963763473,47.00746096968646],[0.6362054885332586,46.985451805972254],[0.692569282364634,46.97430706301784],[0.7062532556123257,46.937154623849935],[0.704324392050786,46.903293353155846],[0.7521109761823577,46.86086544125436],[0.8093213661875756,46.827858093390724],[0.8119017840639386,46.79450796471714],[0.8279817587178017,46.776816236170745],[0.8674688807081561,46.74821910504847],[0.9010383725080395,46.73609229312116],[0.9279553620387494,46.69539122809664],[0.9084421594440936,46.6826701222059],[0.9065157405117292,46.64774942034653],[0.8943018154002151,46.62573665182289],[0.9158653080538118,46.59663148752451],[0.9408377357519268,46.581410311122475],[0.987237034592862,46.56556286906366],[1.0147644249831798,46.56776399882199],[1.0206069888359919,46.53709643301311],[1.08759324171297,46.538172760099805],[1.1082908975477561,46.53150940181887],[1.1491434460646581,46.50220256803704],[1.1349676142912506,46.495261976149834],[1.152977857618218,46.47295586110232],[1.1516045347766355,46.449236175811976],[1.2109861172875847,46.42936675668184],[1.1772799568053671,46.38395162215293],[1.1575433154988817,46.38874160395639],[1.1309116151248964,46.36438532205801],[1.123709186916179,46.349062839671014],[1.0969021987058567,46.36211145047139],[1.0501574891827015,46.36278094700801],[1.0269954429337311,46.34303442800396],[1.0217534424141506,46.310696552617046],[0.9884486047314835,46.280360998092185],[0.968413453240399,46.28602244975969],[0.9326647831388527,46.2820281162358],[0.9004933562268206,46.28684421517437],[0.8853264387584442,46.266088374204195],[0.8614456196703202,46.26163361249219],[0.8454876223484477,46.24206422629179],[0.8480099863968311,46.228752872389514],[0.8101043739851272,46.22788528658486],[0.7957366162231452,46.211086485296406],[0.815811931396682,46.19671831003433],[0.8334530172887465,46.16655399123534],[0.8234337839605995,46.128581728488264],[0.8095104050353692,46.13820512038027],[0.7801581669353024,46.13213998977384],[0.7469045366399735,46.13857472178201],[0.710577167789481,46.13088444115974],[0.684060820103776,46.11934698105583],[0.6874528960648788,46.09725460634645],[0.6086469693380949,46.0896841812107],[0.6060084175300469,46.077142007163026],[0.5749744983104493,46.07899630556071],[0.5646140785657598,46.089594364695195],[0.5381620342712992,46.095338949157004],[0.49249803098282,46.1359535013665],[0.44325878141139535,46.10157393893125],[0.444533894881436,46.09115151319632],[0.47596150384778746,46.08270140200688],[0.46914195555876237,46.06154823906217],[0.4450902027032336,46.05080094878019],[0.4132869508404128,46.04908867462494],[0.39105268436192897,46.066346526515616],[0.2798061440667491,46.060966262312725],[0.2522183041176724,46.07997966029883],[0.21971869883786393,46.09431625215903],[0.1973535052161626,46.09555004152969],[0.19108384573574536,46.112280833588024],[0.21492180826491483,46.13884556432992],[0.22035458351339557,46.15799975349338],[0.1870636693943682,46.14851197384494],[0.1551113740904502,46.157168244596924],[0.13793977146169878,46.18084966362293],[0.1076952133925229,46.1861301320678],[0.11343152573440447,46.21220922906378],[0.14344160353379778,46.230114587841406],[0.12883677213786587,46.26723154899869],[0.15955968591576844,46.26656979483444],[0.17232027940044886,46.27860128086839],[0.15218685361085643,46.30314888540674],[0.16956912209813432,46.31018694492532],[0.17523938179388834,46.33181773874165],[0.13759784994026253,46.349395182700974],[0.09780469789926086,46.33079981164575],[0.07821800902702593,46.304933538922825],[0.03250915440256327,46.32782028737164],[0.029657077300027247,46.349192346191],[0.013846004253531347,46.35706042377505],[0.03421997901294537,46.37349679947992],[0.02069664723879619,46.38800352143432],[0.00026572855997630953,46.392018635848565],[-0.017092824348942416,46.4113223945137],[-0.010457661947033809,46.44881280383021],[-0.01707071907246923,46.47527516260208],[-0.04230359002464692,46.470028260342126],[-0.03135125528751674,46.52498101941566],[-0.007157529433821307,46.52327699327565],[0.007895566679664658,46.547974321223606],[-0.008022109474557896,46.567543137522954],[0.020058959008376207,46.58512799711242],[0.022854639746489266,46.614530685176334],[0.0031057671136598976,46.61079878720693],[-0.026547974206768066,46.62886079422371],[-0.0653244004897615,46.63246151135352],[-0.03338532562574275,46.65364917507512],[-0.040426190194721524,46.66371702380725],[-0.006947998344661607,46.68290982229758],[0.0007042720140891931,46.71623331657764],[0.03826535834799053,46.73158052408886],[0.005731121087621784,46.75454225312974],[-0.014979708609133745,46.75637013577674],[-0.02232550667364259,46.78961529950765],[-0.020316336069380297,46.812653925006536],[-0.04568987388716529,46.83210506753766],[-0.007773096486773423,46.84747452695961],[0.01660746491547145,46.83496346394018],[0.02561539858266648,46.85287480114874],[-0.027263869318720418,46.87992322868147],[-0.009032410299882686,46.90747700605923],[-0.022215929347250134,46.938478291692846],[-0.044186809693518486,46.95837119466449],[-0.038153345460296736,46.98939008519809],[-0.06675773993609899,46.99387700352016],[-0.08113082448484565,47.01267677238524],[-0.10212095637964737,47.064797190818005]]]},"properties":{"code":"86","nom":"Vienne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[0.8234337839605995,46.128581728488264],[0.8334530172887465,46.16655399123534],[0.815811931396682,46.19671831003433],[0.7957366162231452,46.211086485296406],[0.8101043739851272,46.22788528658486],[0.8480099863968311,46.228752872389514],[0.8454876223484477,46.24206422629179],[0.8614456196703202,46.26163361249219],[0.8853264387584442,46.266088374204195],[0.9004933562268206,46.28684421517437],[0.9326647831388527,46.2820281162358],[0.968413453240399,46.28602244975969],[0.9884486047314835,46.280360998092185],[1.0217534424141506,46.310696552617046],[1.0269954429337311,46.34303442800396],[1.0501574891827015,46.36278094700801],[1.0969021987058567,46.36211145047139],[1.123709186916179,46.349062839671014],[1.1309116151248964,46.36438532205801],[1.1575433154988817,46.38874160395639],[1.1772799568053671,46.38395162215293],[1.2047624195766258,46.387692968021526],[1.2191909673622259,46.36592410433378],[1.2604032451287535,46.37878248650986],[1.3030567860553472,46.37099465262579],[1.3223399070687456,46.38965357258241],[1.3560228953092233,46.40012317441316],[1.3835265726019255,46.374757364316125],[1.4090311642821585,46.3613359928752],[1.4151905101137505,46.34721849587296],[1.4437697350516507,46.30589420737529],[1.4265688116168553,46.298921049134],[1.4036544413446612,46.25990982797783],[1.4168521672178434,46.24087405708507],[1.394145356288105,46.238349230413554],[1.3749003074212893,46.2154511009523],[1.415268536568449,46.177157045823584],[1.4552353294299893,46.18103071472153],[1.467878491573528,46.151750416293105],[1.5052016882428472,46.127461799559406],[1.4919762107249506,46.11473183426131],[1.5048991958425688,46.08815343941205],[1.5429508225169888,46.0765888129599],[1.5317830893571065,46.05816171452662],[1.5491757848158925,46.03541014153877],[1.5363833974668037,46.02629327721946],[1.5385468041090549,45.99742846047048],[1.5648266887508957,45.99711597960844],[1.5764733332307777,45.98099739362502],[1.5661484901291225,45.96325060326457],[1.5325001755915217,45.95280423814569],[1.5299613213195493,45.93182220228596],[1.5472651107258997,45.91683379316217],[1.5782614117742197,45.91727264832772],[1.5791744495987925,45.93040642363652],[1.6150681481078124,45.93195022666644],[1.6397206723679907,45.89953853071148],[1.635996388309483,45.88844297865446],[1.6023488376186423,45.89096810343807],[1.6023984681707661,45.85746515857901],[1.6766374034760068,45.83511402023573],[1.69036360011077,45.84361369992126],[1.7148786249110421,45.8400586312482],[1.7558371847814345,45.855656306428116],[1.7891620911385413,45.83007210551306],[1.8284337256367398,45.80980874385992],[1.8464472547509174,45.809940191138686],[1.8808988285366512,45.797714818456456],[1.8941319437754782,45.7592554835555],[1.875140102478583,45.7327797889896],[1.880957399347195,45.71285387339609],[1.898730779182943,45.69827755120411],[1.904291004939969,45.67774470255675],[1.8799625935579851,45.678180842698936],[1.8751322671973147,45.664894260838736],[1.8264346802695488,45.66513576315906],[1.7858344815104692,45.68266308806586],[1.7763991218328075,45.65846116946758],[1.748060654562327,45.64570341986574],[1.7047914479153132,45.63738765111646],[1.660196676810575,45.60797409516256],[1.6581804847733144,45.595323545490324],[1.624885337381578,45.57793581971724],[1.5938310699115545,45.5771464332939],[1.584891438656278,45.556076867663364],[1.5571958047036878,45.54936632471629],[1.5220914137932038,45.56409475254406],[1.506276371554196,45.55097960357961],[1.4806927011525084,45.565857439236126],[1.4551417227717747,45.55328740957993],[1.450268846192153,45.530397969675526],[1.4120586564349766,45.52809003445668],[1.3896000810911788,45.4961572819304],[1.37157178520687,45.49211445485024],[1.3511118587508797,45.470001773336946],[1.3103931233740413,45.483041180557144],[1.27034342793137,45.4776755159118],[1.2645252348468465,45.45409594836666],[1.2531518386328937,45.44421907802482],[1.209501347214524,45.463084747625864],[1.1865884187192175,45.45529497029879],[1.1641763230169675,45.47552956976588],[1.1358342826377092,45.47086498923646],[1.1197844789851377,45.48778292627877],[1.1359472599446487,45.50640914164488],[1.1672867970396268,45.52482220464761],[1.137684533027224,45.53977362177215],[1.1103236008119233,45.54491026026193],[1.080359033146871,45.533998770505264],[1.0746444865790412,45.54577271138723],[1.0475013530672403,45.55793278314188],[1.0354291459916498,45.573323428579684],[1.0358490435954522,45.600209290253126],[1.0232467983202298,45.60995990299867],[0.9863932565151387,45.604487080117515],[0.9470174998837003,45.61359375507784],[0.8981892208012014,45.59978358036884],[0.8748028110501537,45.62135072197518],[0.8593270163801664,45.61255366991051],[0.8425878139261963,45.58227280988904],[0.8115003322647284,45.575870643461926],[0.8035615373389846,45.59623658602799],[0.7803710896124326,45.591186976030635],[0.751529712610917,45.618323854020026],[0.7630383629892018,45.62833642730259],[0.7758431349260253,45.6675695723418],[0.7636991223155143,45.66825689490875],[0.742191639150923,45.690583187900515],[0.7164967555921232,45.69492986065276],[0.7021017463764117,45.68712391220238],[0.6542322548355602,45.68870460553755],[0.6297424639524398,45.71456998977268],[0.6454223576561761,45.717511285932694],[0.6525242742739024,45.7404698575335],[0.6884232598945583,45.7604002541581],[0.714888400126834,45.76311968057406],[0.7079458275965803,45.79550918085823],[0.716439805978218,45.80561793866404],[0.7470964755206753,45.80309000421788],[0.7721413751783613,45.78762409365665],[0.7822321483214059,45.8210820958808],[0.7979907883874932,45.83267807863906],[0.8273731927551746,45.882747942075014],[0.8133141897835577,45.89867390107227],[0.8222125888611419,45.93208646787984],[0.8594760522394275,45.917997097288996],[0.8847207937372841,45.923723788266166],[0.9227140883044904,45.95301038798378],[0.9425919960124763,45.95743607843122],[0.9256254984735036,46.01045396377162],[0.8940345525336028,46.02314912814255],[0.8670363318108323,46.01842834189512],[0.851093282263786,46.03464824766331],[0.8179096763959527,46.047878116483695],[0.8269002995768702,46.06393247093984],[0.8188984576633332,46.07740847428548],[0.833691291703567,46.10635630894394],[0.8152372244416768,46.11576760044673],[0.8234337839605995,46.128581728488264]]]},"properties":{"code":"87","nom":"Haute-Vienne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[5.470061704426128,48.42092884036511],[5.510986594146936,48.41821515231162],[5.520280149216775,48.43239263092878],[5.564650216197492,48.441090759508775],[5.6151325162349,48.44043873717153],[5.67902361096049,48.47139115386205],[5.713228409793979,48.46034355947541],[5.7385787703210624,48.466071385805314],[5.765154701602298,48.49649260851312],[5.787024028409427,48.48291106954139],[5.8141526013422045,48.49819514538156],[5.856069666360071,48.506844385585524],[5.8881463197842825,48.49400616317709],[5.903569430927025,48.48024393097157],[5.886926216153374,48.45386839126565],[5.8989549292934935,48.44671533650002],[5.859177083813666,48.41623563816792],[5.879136424841787,48.403869307586056],[5.935989530326643,48.40287986588223],[5.954936403333502,48.387329103706854],[5.944654250679005,48.37581815056828],[5.960066474604184,48.35072931908477],[6.004066285882898,48.36147870334314],[6.025234465713196,48.356969332010294],[6.053418454701744,48.365636733016395],[6.066019115933426,48.359278767448906],[6.097642409054446,48.37159231795909],[6.116723785728533,48.35403844099854],[6.152354370824704,48.38097163461962],[6.147083853210351,48.404242546398436],[6.178419125638964,48.397598877997915],[6.23209682220264,48.400225955022414],[6.260443354875095,48.40640078999615],[6.270297573655838,48.42610067601965],[6.3012588451180624,48.43051921403982],[6.305674808715067,48.41318887901744],[6.3313164158672315,48.404817172837355],[6.422399441358526,48.40728279397748],[6.450365847505534,48.41505383549833],[6.500755073004984,48.41423379500427],[6.5337102147419674,48.4313569295525],[6.583870758203037,48.417225395440674],[6.568134528831446,48.438701194783874],[6.584971476704244,48.46050916362013],[6.62369925487009,48.473102199556955],[6.648289899981963,48.433884724429255],[6.6994983396482075,48.41308754075586],[6.760669183398023,48.411666746640414],[6.768836777292687,48.39954530354836],[6.815166528707746,48.398846200565345],[6.828255495843522,48.41660943907006],[6.866316381673087,48.43184823377053],[6.894133940205172,48.419480410764045],[6.9829860045628855,48.47905957978556],[7.050540315367024,48.49487862493578],[7.094019735640854,48.512952288683174],[7.123165369028565,48.513592265556596],[7.097693072924202,48.48762107861984],[7.11688383670396,48.484885014570324],[7.095873788299803,48.4270217723305],[7.108026244714085,48.376989845150604],[7.0785233740914295,48.35107311533077],[7.120494270164923,48.33334864685793],[7.184818696745765,48.33615437512855],[7.198281537029947,48.31046786102034],[7.172440378133587,48.29748024360684],[7.159489565642163,48.268753563588],[7.147824517541642,48.263892801246804],[7.117505784718491,48.207992451661525],[7.085332018879333,48.18087313160711],[7.058017510455936,48.13770265802238],[7.084162370831343,48.12921286268667],[7.047595780380201,48.08006166786818],[7.029803015827174,48.07190490436478],[7.001883743858899,48.0223990958155],[6.961410552710714,48.000261282588426],[6.943356419805964,47.99795794686154],[6.920755573390488,47.942921686407516],[6.927825935367718,47.90821058120768],[6.900213335139267,47.891191372710956],[6.920047718110646,47.85028746971086],[6.897600863366078,47.8375646687869],[6.846179818400714,47.822945196999186],[6.823538854548165,47.81305372458858],[6.792206691054161,47.830065844691816],[6.784821909572192,47.84962275516846],[6.737768277119198,47.8615661276394],[6.703673452230481,47.88141530820336],[6.643740194905068,47.90503177099352],[6.641076475620301,47.91580834582307],[6.6073149335019385,47.943147742357816],[6.563418085973325,47.931389307581],[6.5421528235861155,47.90261056529581],[6.476305388045899,47.89135525473161],[6.455958900669549,47.90676595953145],[6.43172063760481,47.94381556163065],[6.366159798724643,47.96194440724777],[6.324502244506514,47.94927719089294],[6.27733365541217,47.95380917897212],[6.237987058178878,47.93284210198345],[6.208333130052072,47.93959154159432],[6.193308012990422,47.953186926635745],[6.167984818891344,47.95235039236555],[6.1523863211856415,47.99509120117254],[6.156025724419171,48.00640454629518],[6.131397185816461,48.024084417358715],[6.0411805356860935,48.004423104387435],[6.023512782425089,47.97819459549159],[5.994585023938386,47.957843619961515],[5.9707779241858585,47.95720515925631],[5.9537128429228625,47.93703033418094],[5.937717530374109,47.95093996886656],[5.95951518224341,47.96583761413322],[5.9367444429976315,47.978872441043904],[5.918281347414071,47.9655809864854],[5.918042584312377,47.94735978283618],[5.900112413513003,47.94475092005572],[5.884726375202079,47.926047148569474],[5.850003923490582,47.96283504722941],[5.787280985479235,47.952596973102644],[5.778492027788896,47.97800978811231],[5.793591975095584,47.99070892021546],[5.77774789858366,48.031361923263205],[5.740575630698962,48.050043986724326],[5.65966986503565,48.08486263156757],[5.629010103166862,48.0844163929701],[5.656886341889701,48.120399648852754],[5.68431870758825,48.14504209497101],[5.6822435704493275,48.17570971343473],[5.696740894208173,48.18888423309182],[5.730982683815125,48.18969958329602],[5.719343419026872,48.21284553404126],[5.6877917029501965,48.23418465758911],[5.677420725123087,48.22898238922798],[5.640901189478503,48.242354204929356],[5.65380919650419,48.26852380977062],[5.611652001252659,48.29181533437579],[5.5879967536815585,48.278489865685614],[5.544667324256171,48.31484393016795],[5.52236342294961,48.34085020470289],[5.482149185087855,48.35620132426793],[5.441808221286742,48.33585087730688],[5.418230200002256,48.339827299478394],[5.419996789966145,48.36209610065057],[5.441572019947177,48.38023164680497],[5.408721169498744,48.38310019043649],[5.443801554148948,48.412796111132934],[5.470061704426128,48.42092884036511]]]},"properties":{"code":"88","nom":"Vosges"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.936314411640624,48.1633917441478],[2.9347486048838207,48.17882262621194],[2.970958045601008,48.194187673485665],[2.97446503722382,48.20555285255294],[3.0051556578134635,48.20767000034546],[3.043627253848888,48.27202235761227],[3.015901008416285,48.3079017396547],[3.041677936242915,48.329416667963116],[3.036760677253472,48.34009779475704],[3.0495188960927044,48.36012035556557],[3.0988849903520745,48.35782222270563],[3.1398687617633554,48.37259875797597],[3.2018573040530143,48.36401635870226],[3.232843707551971,48.37032930740775],[3.254382220567969,48.36502185965591],[3.282397556791885,48.37751802756359],[3.305153213312036,48.37287323488759],[3.3651592673815314,48.37228068710627],[3.367217075047188,48.39431654152582],[3.3833187883415756,48.39970860491622],[3.4147915595010967,48.390273038820325],[3.427513158445058,48.359980231681526],[3.4525858660423605,48.374390245729586],[3.4986883356303173,48.368618101138466],[3.5325118583181596,48.340525877771384],[3.5634013639699584,48.32144364439587],[3.566569286931659,48.30742854994862],[3.5879668741436643,48.30081000040951],[3.587183966868095,48.280173420842885],[3.6168043332338455,48.27133989890988],[3.624328073587777,48.25452852774026],[3.600078611097097,48.23703622325982],[3.6216173506103138,48.22574039972581],[3.6111556712475656,48.21192894753078],[3.57518637671701,48.18874134782558],[3.594183989487009,48.17887516119051],[3.6195505299659145,48.190784479669105],[3.6414970437080063,48.18393657752057],[3.667869602845747,48.1392119036121],[3.7050170955645534,48.14431394210169],[3.740291245795231,48.16970783293559],[3.754823906575138,48.150241865949376],[3.739719908908732,48.13275411908254],[3.773282122246105,48.12969525627175],[3.8049683849961107,48.10254956014992],[3.806792668443169,48.083864090347966],[3.824612213123349,48.06128779150571],[3.8242989358275574,48.04289541931859],[3.8706198703197394,48.01563556441249],[3.839811254672786,48.00389003724434],[3.850029315571996,47.98379240721269],[3.8783088264909926,47.979417724331554],[3.900190065880429,47.99790876198765],[3.91469046126473,47.97569343810935],[3.9015952504180182,47.93863384246034],[3.9480945711713997,47.93089676516494],[3.985962466837663,47.93063908075462],[4.003855529645679,47.94203480301055],[4.01814220173801,47.928474566092724],[4.045237544702236,47.92596854676534],[4.061270050327684,47.945562416892294],[4.092978649387006,47.94297672164551],[4.1117857473984065,47.926995657517516],[4.166327039100888,47.95980433221276],[4.2078337319682335,47.94659557765659],[4.206741721722166,47.972203894649205],[4.228464403152438,47.96915282956105],[4.2221457478233475,47.94969678465566],[4.242723875606858,47.931956917411135],[4.265599591370342,47.924116159008285],[4.2934241069450065,47.92567623483797],[4.311152699462278,47.903922726683135],[4.277339137948259,47.89945297805272],[4.262193864556681,47.88395527973197],[4.2610008241447535,47.84385063866699],[4.300805981058354,47.84877161085865],[4.319285858378513,47.83743970579336],[4.320330919498607,47.81169317443553],[4.340296871154208,47.79956664297927],[4.327231405103721,47.78566401630385],[4.332471702607339,47.756511310391986],[4.289656740825392,47.73317231931354],[4.260502367415732,47.74220354600016],[4.2526277781965405,47.716066198902226],[4.267304312456938,47.70164928916197],[4.258324006422516,47.68389555308575],[4.225637843042874,47.67116302241697],[4.249113979601859,47.65949100902422],[4.212381292101606,47.62796570432303],[4.214168417613283,47.602912165808426],[4.197168115097694,47.59802850906373],[4.17512808182493,47.553259163212694],[4.156528733449272,47.55161760512027],[4.138136112599596,47.52153256449299],[4.112403898450227,47.5034970330936],[4.129760578477719,47.47483692093974],[4.119426533664949,47.443553393311014],[4.066060118363545,47.407251287195685],[4.088307134357006,47.39652090232598],[4.076218510845687,47.383480194423754],[4.106085850126875,47.339255985490894],[4.046432164286821,47.339943756300286],[4.028760221806572,47.31557728480351],[3.999278507688071,47.312773725416655],[3.973097819719344,47.332712674420605],[3.9653529425108722,47.3652327054121],[3.944243142987652,47.38021568332925],[3.9087922026053734,47.38205569491613],[3.8867653218201808,47.3645805378824],[3.8718702934595615,47.36693490948858],[3.8635369268343536,47.395841532600606],[3.8933965172489198,47.410290156628015],[3.878310953801514,47.42929226716236],[3.851506603080638,47.43558613394464],[3.8443762508505244,47.41082738551116],[3.8217875906686545,47.402796919032404],[3.818472205441228,47.380187941025326],[3.785647440559844,47.39054224193822],[3.774605414302544,47.40619956994621],[3.74055092250182,47.39650073819435],[3.7147823454353084,47.406834666623176],[3.6789914842274665,47.445533677873506],[3.580113356556516,47.46490071648911],[3.5806168100615214,47.49786323631363],[3.553140570878716,47.50232679103883],[3.5135049928892266,47.527668013741454],[3.50460694021663,47.557934222629186],[3.492366537968952,47.56012889108053],[3.488276701493949,47.493830911376975],[3.437164175942187,47.50799559642577],[3.3972880002653882,47.508867495938276],[3.3807002450190415,47.48729175533955],[3.3395269332726487,47.47816523272086],[3.2852515362929866,47.50393862662616],[3.2721566613710795,47.49154765493751],[3.2354902376938353,47.4891790840854],[3.2046491761957805,47.522966343570126],[3.165190757880271,47.51750199807388],[3.1350763394879597,47.5419077972082],[3.102009918822544,47.58795615956075],[3.080558427544962,47.5854885999859],[3.059199650745983,47.56884905584853],[3.0187759740569513,47.55731386824091],[2.9765380120036067,47.56942879709582],[2.9622747369522457,47.57678810211018],[2.9403094506517125,47.60348550057479],[2.936290512560618,47.63665230316903],[2.954234275262721,47.64577868896602],[2.9181549279743337,47.66979136771246],[2.911669508308486,47.69146053421784],[2.858973240721994,47.71131839341009],[2.848796639073614,47.72588667336868],[2.8566660682192713,47.76092647077394],[2.9145173600355263,47.76938033260984],[2.9496989968031038,47.76587258709822],[2.954736881556772,47.77555900512353],[2.988221260489061,47.78603448891204],[3.023798094359226,47.78655467899923],[3.0281191130010834,47.80064806639638],[3.0125379851547156,47.834374131761656],[3.0297012521374107,47.83508204151216],[3.029058320822418,47.857123076441624],[3.0053630487182557,47.86404745363208],[3.00722631015934,47.895294555605346],[3.0646112850926173,47.93051941081648],[3.0784722436737018,47.93141992007049],[3.1284501214452565,47.97097324034548],[3.1245523178040195,48.006029252910174],[3.1040899600034066,48.01354534990655],[3.0883177986514796,48.05393639481059],[3.0504714242752176,48.072334131124755],[3.0498962046090887,48.088837886069456],[3.0294654865478936,48.13320717199774],[2.990882804955562,48.15249378691091],[2.9712637126470374,48.15183377076339],[2.936314411640624,48.1633917441478]]]},"properties":{"code":"89","nom":"Yonne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[6.823538854548165,47.81305372458858],[6.846179818400714,47.822945196999186],[6.848453009671943,47.80186631777955],[6.862439977221479,47.786366479297826],[6.924003092082664,47.77046856849051],[6.940432511420332,47.77156566113129],[6.971172049261423,47.75268332188395],[7.011758808530528,47.741727719619604],[7.0374240128839105,47.72163936009252],[7.026487154962489,47.70099973832609],[7.046314752908177,47.67150171047833],[7.018871382727326,47.65067487496959],[7.004983231421509,47.61938273174142],[7.025415883306456,47.59267760605909],[7.064719544691056,47.60105755104757],[7.086270201422721,47.592562199657216],[7.106219108143236,47.55138203283421],[7.135819374783416,47.53646303183533],[7.130345969302944,47.50302658239207],[7.111058458608464,47.49490275577542],[7.066595656975458,47.49348103198955],[7.024394386855231,47.50421334191186],[6.985924997204884,47.49152131286686],[6.998962818675516,47.45229903121829],[6.970004495274878,47.44688262940426],[6.940536510867674,47.43337372140521],[6.932315529660057,47.45581501043693],[6.917231799861733,47.46886980086098],[6.907596719688256,47.49436626816266],[6.930856287246399,47.49817970710937],[6.946162450184676,47.51131633258056],[6.909674152385642,47.525507149094636],[6.905669627634239,47.547361521011815],[6.883473648745609,47.55533115808764],[6.860809068981891,47.54751358468233],[6.816660001724921,47.54792247821983],[6.80700533167707,47.562801384972],[6.804959146951254,47.582108256125515],[6.780404771904786,47.62526070544475],[6.80103447418288,47.636044219886536],[6.776099673752326,47.668572918052455],[6.781911060840567,47.687677725049234],[6.772570902276831,47.71163343375122],[6.756625698295901,47.72444662113829],[6.757638483670512,47.747877966474704],[6.785629179422312,47.78207231453601],[6.811469860026116,47.796038470605524],[6.823538854548165,47.81305372458858]]]},"properties":{"code":"90","nom":"Territoire de Belfort"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.2265593271545225,48.77610203162176],[2.2329784335715455,48.76619570460062],[2.2649238096212745,48.76144968716666],[2.314443701257945,48.7304256109259],[2.3207180175230313,48.74875623508064],[2.3546837090965482,48.73856509020945],[2.3707067322771356,48.720175922532974],[2.4141357629081504,48.71799549181414],[2.454965343815732,48.72228146116879],[2.5035365695581286,48.735211482171685],[2.5157508385679277,48.72893861768784],[2.531076672373326,48.69978570765512],[2.5538667808447078,48.68832401270366],[2.571660318442073,48.69201409164602],[2.585373689362236,48.67939805001862],[2.544818846722052,48.671181815072785],[2.53361600680745,48.65733138882678],[2.5258433805130944,48.61310782203827],[2.543776514406961,48.60384977114558],[2.5182770284128475,48.5832577878723],[2.5198364478476627,48.5625203315344],[2.49952467433224,48.52523904800114],[2.51535674995086,48.50615222035927],[2.501886311020425,48.48476669856557],[2.50765489240467,48.429543907057045],[2.527461927309532,48.4157156753841],[2.5216135704659886,48.404932172570405],[2.46921772462766,48.37645004114287],[2.4298322285044196,48.362015783117755],[2.4255796854392964,48.33725297618987],[2.402664267131608,48.320719459421184],[2.3633118415981462,48.309600437933916],[2.3277014892177683,48.33305786731142],[2.312590884489921,48.330802741661444],[2.2954192430595457,48.308226039086286],[2.238046845675527,48.316373357629175],[2.223911064819703,48.3364180215832],[2.2022493722769347,48.344596745334684],[2.1806941723291215,48.31168043030938],[2.155707101498331,48.30449560310474],[2.081503651069427,48.29360440985604],[2.052708364877964,48.29547390947902],[2.0438104559378143,48.2864493366448],[1.9940847180593788,48.286585877943075],[1.9752916566344318,48.28719843612737],[1.9592272366957604,48.308689574530625],[1.9799848326906437,48.31848007972407],[1.9699915637784469,48.33969146951863],[1.9868210109251592,48.36214189229105],[1.9734600276085819,48.38883055198841],[1.9765777946992387,48.39938447447991],[1.9258935288275238,48.412738189076535],[1.940657409608177,48.42520626181189],[1.9221489648373706,48.457600286064135],[1.9149145708790403,48.473854949789406],[1.933377950693106,48.482146422725215],[1.9460308303104135,48.515862147920664],[1.9674261909808515,48.53307136184394],[1.9340684230182927,48.54810690246857],[1.9378872442847588,48.562931040710545],[1.9787832030076382,48.553654167165384],[2.01757406029729,48.55759738742344],[2.0172296562124665,48.56946047379915],[2.035741451799255,48.58886342431221],[2.034508920154608,48.603498748150024],[2.0602445240702307,48.6175941143781],[2.0178852678544255,48.64224227868909],[2.0456590375105823,48.687570739614664],[2.0820789629661083,48.68544592956703],[2.1103326928214208,48.714381141190366],[2.097999010182745,48.73436502883337],[2.1349798974354277,48.737139276053675],[2.150675004182983,48.753712115449396],[2.1820096609166937,48.757573640869396],[2.2027216574242257,48.771358218371454],[2.2265593271545225,48.77610203162176]]]},"properties":{"code":"91","nom":"Essonne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.2909735732251613,48.950966788077196],[2.3269700232985637,48.94536493100808],[2.3363515897545497,48.93235062393098],[2.3198186459199985,48.91593565477114],[2.319884458526643,48.90045886733916],[2.277487004862913,48.87797011937597],[2.258472586492028,48.88038999464371],[2.2317363464837308,48.869069480870024],[2.2242245702250814,48.85351605360998],[2.2790573794463054,48.83248998498127],[2.3318953139887446,48.81701271305569],[2.318696288355829,48.78799561087479],[2.3258120232145614,48.78191098020334],[2.3087015923862384,48.75541506900493],[2.3207180175230313,48.74875623508064],[2.314443701257945,48.7304256109259],[2.2649238096212745,48.76144968716666],[2.2329784335715455,48.76619570460062],[2.2265593271545225,48.77610203162176],[2.2026350450801604,48.798403323102875],[2.1829398770998654,48.7972269838604],[2.1766744128227886,48.81380509870073],[2.1515778037276103,48.81702039834037],[2.1458733412695294,48.83602003450691],[2.1528691414227357,48.87333985214219],[2.168378401515456,48.8950779335488],[2.200591009269503,48.908679329890454],[2.2687243837962194,48.94657952905197],[2.2909735732251613,48.950966788077196]]]},"properties":{"code":"92","nom":"Hauts-de-Seine"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.55306064485419,49.0098171174389],[2.580314053373102,48.99158952144207],[2.5717986314833206,48.96867398285449],[2.58930360616549,48.953762745338985],[2.592341722831452,48.925023616614034],[2.5870340052947016,48.893952959629644],[2.568103791053846,48.86594445401019],[2.592517689219438,48.82587446702569],[2.5922804883088015,48.8074366758147],[2.533679919545506,48.84510353911671],[2.4815340793391782,48.86140985004899],[2.416339717281352,48.84923827340741],[2.4139437894422056,48.87082877761242],[2.385151006972503,48.902007792208785],[2.319884458526643,48.90045886733916],[2.3198186459199985,48.91593565477114],[2.3363515897545497,48.93235062393098],[2.3269700232985637,48.94536493100808],[2.2909735732251613,48.950966788077196],[2.2989593311869005,48.96630137751687],[2.333312950123798,48.95538233563509],[2.344102277288972,48.96823838528235],[2.3845399290016545,48.970997610129494],[2.407383854100793,48.95612202818259],[2.4594899596115933,48.95504632683333],[2.4673283497589793,48.96433475385722],[2.5147706684191236,48.9822601449233],[2.5322426864128684,49.005223756710706],[2.55306064485419,49.0098171174389]]]},"properties":{"code":"93","nom":"Seine-Saint-Denis"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3318953139887446,48.81701271305569],[2.363949262797974,48.81631512383787],[2.4006819201840903,48.82909612370583],[2.4384502049151475,48.818235158647155],[2.4626974524261254,48.81905707868419],[2.4622646327720443,48.84253748930953],[2.416339717281352,48.84923827340741],[2.4815340793391782,48.86140985004899],[2.533679919545506,48.84510353911671],[2.5922804883088015,48.8074366758147],[2.607003437584154,48.77439762384403],[2.5854093346308815,48.74171196622536],[2.585211502726328,48.727239448802735],[2.5688040564289847,48.707222628077005],[2.571660318442073,48.69201409164602],[2.5538667808447078,48.68832401270366],[2.531076672373326,48.69978570765512],[2.5157508385679277,48.72893861768784],[2.5035365695581286,48.735211482171685],[2.454965343815732,48.72228146116879],[2.4141357629081504,48.71799549181414],[2.3707067322771356,48.720175922532974],[2.3546837090965482,48.73856509020945],[2.3207180175230313,48.74875623508064],[2.3087015923862384,48.75541506900493],[2.3258120232145614,48.78191098020334],[2.318696288355829,48.78799561087479],[2.3318953139887446,48.81701271305569]]]},"properties":{"code":"94","nom":"Val-de-Marne"}},{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.5905242793946224,49.079654846732424],[2.572031573014404,49.06149045194861],[2.587858904546535,49.04990157898905],[2.547651942231624,49.02344674891678],[2.55306064485419,49.0098171174389],[2.5322426864128684,49.005223756710706],[2.5147706684191236,48.9822601449233],[2.4673283497589793,48.96433475385722],[2.4594899596115933,48.95504632683333],[2.407383854100793,48.95612202818259],[2.3845399290016545,48.970997610129494],[2.344102277288972,48.96823838528235],[2.333312950123798,48.95538233563509],[2.2989593311869005,48.96630137751687],[2.2909735732251613,48.950966788077196],[2.2687243837962194,48.94657952905197],[2.200591009269503,48.908679329890454],[2.20585834678071,48.94974074221645],[2.17723226175586,48.953657461253236],[2.175542212320485,48.97240487622723],[2.154931342389435,48.985723515837904],[2.1207126230627655,48.99330122057494],[2.127119946587909,49.009678482150534],[2.084914920835882,49.014678714910325],[2.02340791218018,48.99794435218925],[1.9918815520004978,49.0210106286694],[1.9378021652564328,49.02177632637227],[1.9124689805854491,49.041836823035794],[1.8912257485830386,49.03927754626276],[1.869115159435854,49.01823530435844],[1.8513341928477542,49.03336315145782],[1.8653368480003796,49.05724562325274],[1.8300339442296272,49.0754853922552],[1.7965466896679247,49.072232197890884],[1.7942998843096216,49.058190360814926],[1.7596265233069017,49.06332287848212],[1.7234571618642331,49.04497657550691],[1.6937298328462178,49.056950122989164],[1.6736891270071164,49.07815117318431],[1.6455144472390726,49.08139804743355],[1.6087960706299218,49.07789415353795],[1.6350518648476458,49.11430020855939],[1.655777439712795,49.13016217033744],[1.6643738026115165,49.15336752369717],[1.674090204376027,49.210248479159524],[1.7043642065965865,49.232201775163404],[1.7341091564710822,49.221278789282294],[1.7421373979981678,49.18015527802457],[1.755165127607803,49.17454501384096],[1.7954686863275515,49.18525912523885],[1.845548847714221,49.169897638882595],[1.877040859056052,49.17144524902654],[1.8852389528169067,49.16263786454188],[1.9314802344723212,49.17417045483985],[1.9607171449401366,49.173518197205695],[1.973760882151743,49.18378113635129],[2.0006083248213287,49.175708039448175],[2.0749104023995684,49.20868708172066],[2.0968812642737786,49.18975715797898],[2.1327389034606554,49.191378260554046],[2.1819500283812623,49.17367773782481],[2.218650036331584,49.180682600571025],[2.252488213818398,49.15288152246086],[2.2864129770481765,49.15992057659305],[2.3109290446865427,49.18640655833579],[2.3462570508145517,49.161815824563625],[2.3912888696248515,49.14934773205012],[2.4131026213629148,49.152351151856486],[2.471584849664169,49.13543134509872],[2.5032579551258722,49.11758406300134],[2.4899309091229616,49.10636117791936],[2.5581713639343153,49.09838623642425],[2.5905242793946224,49.079654846732424]]]},"properties":{"code":"95","nom":"Val-d'Oise"}}]} \ No newline at end of file diff --git a/cubicweb_francearchives/data/images/FranceArchives_NoDigitized.png b/cubicweb_francearchives/data/images/FranceArchives_NoDigitized.png new file mode 100644 index 0000000..6cf6a63 Binary files /dev/null and b/cubicweb_francearchives/data/images/FranceArchives_NoDigitized.png differ diff --git a/cubicweb_francearchives/data/images/big_arrow_black_01.svg b/cubicweb_francearchives/data/images/big_arrow_black_01.svg new file mode 100644 index 0000000..a458a46 --- /dev/null +++ b/cubicweb_francearchives/data/images/big_arrow_black_01.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/big_cancel_cross_grey.svg b/cubicweb_francearchives/data/images/big_cancel_cross_grey.svg new file mode 100644 index 0000000..3312250 --- /dev/null +++ b/cubicweb_francearchives/data/images/big_cancel_cross_grey.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/big_magnifyingglass_grey.svg b/cubicweb_francearchives/data/images/big_magnifyingglass_grey.svg new file mode 100644 index 0000000..55b159b --- /dev/null +++ b/cubicweb_francearchives/data/images/big_magnifyingglass_grey.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/big_magnifyingglass_white.svg b/cubicweb_francearchives/data/images/big_magnifyingglass_white.svg new file mode 100644 index 0000000..e97d8a7 --- /dev/null +++ b/cubicweb_francearchives/data/images/big_magnifyingglass_white.svg @@ -0,0 +1,5 @@ + + + + diff --git a/cubicweb_francearchives/data/images/delete_icon_blue.svg b/cubicweb_francearchives/data/images/delete_icon_blue.svg new file mode 100644 index 0000000..bca26a8 --- /dev/null +++ b/cubicweb_francearchives/data/images/delete_icon_blue.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/green_magnifyingglass.svg b/cubicweb_francearchives/data/images/green_magnifyingglass.svg new file mode 100644 index 0000000..eed88c2 --- /dev/null +++ b/cubicweb_francearchives/data/images/green_magnifyingglass.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/heading_big_compass.svg b/cubicweb_francearchives/data/images/heading_big_compass.svg new file mode 100644 index 0000000..9eba5aa --- /dev/null +++ b/cubicweb_francearchives/data/images/heading_big_compass.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/cubicweb_francearchives/data/images/heading_big_globe.svg b/cubicweb_francearchives/data/images/heading_big_globe.svg new file mode 100644 index 0000000..7294c16 --- /dev/null +++ b/cubicweb_francearchives/data/images/heading_big_globe.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/cubicweb_francearchives/data/images/heading_big_lightbulb.svg b/cubicweb_francearchives/data/images/heading_big_lightbulb.svg new file mode 100644 index 0000000..f52185e --- /dev/null +++ b/cubicweb_francearchives/data/images/heading_big_lightbulb.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/cubicweb_francearchives/data/images/line-arbo.svg b/cubicweb_francearchives/data/images/line-arbo.svg new file mode 100644 index 0000000..4373b1a --- /dev/null +++ b/cubicweb_francearchives/data/images/line-arbo.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/logo-iiif.png b/cubicweb_francearchives/data/images/logo-iiif.png new file mode 100644 index 0000000..9fb6f94 Binary files /dev/null and b/cubicweb_francearchives/data/images/logo-iiif.png differ diff --git a/cubicweb_francearchives/data/images/logo_fb.svg b/cubicweb_francearchives/data/images/logo_fb.svg new file mode 100644 index 0000000..fc3b409 --- /dev/null +++ b/cubicweb_francearchives/data/images/logo_fb.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/logo_francearchives.svg b/cubicweb_francearchives/data/images/logo_francearchives.svg new file mode 100644 index 0000000..c3f46e9 --- /dev/null +++ b/cubicweb_francearchives/data/images/logo_francearchives.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cubicweb_francearchives/data/images/logo_francearchives_amp.png b/cubicweb_francearchives/data/images/logo_francearchives_amp.png new file mode 100644 index 0000000..d9570fa Binary files /dev/null and b/cubicweb_francearchives/data/images/logo_francearchives_amp.png differ diff --git a/cubicweb_francearchives/data/images/logo_republiquefrancaise.png b/cubicweb_francearchives/data/images/logo_republiquefrancaise.png new file mode 100644 index 0000000..0eca09a Binary files /dev/null and b/cubicweb_francearchives/data/images/logo_republiquefrancaise.png differ diff --git a/cubicweb_francearchives/data/images/logo_twitter.svg b/cubicweb_francearchives/data/images/logo_twitter.svg new file mode 100644 index 0000000..fe5940c --- /dev/null +++ b/cubicweb_francearchives/data/images/logo_twitter.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/marker-icon-2x.png b/cubicweb_francearchives/data/images/marker-icon-2x.png index e2e9f75..88f9e50 100644 Binary files a/cubicweb_francearchives/data/images/marker-icon-2x.png and b/cubicweb_francearchives/data/images/marker-icon-2x.png differ diff --git a/cubicweb_francearchives/data/images/marker-icon.png b/cubicweb_francearchives/data/images/marker-icon.png index e2e9f75..950edf2 100644 Binary files a/cubicweb_francearchives/data/images/marker-icon.png and b/cubicweb_francearchives/data/images/marker-icon.png differ diff --git a/cubicweb_francearchives/data/images/marker-shadow.png b/cubicweb_francearchives/data/images/marker-shadow.png index 84c5808..9fd2979 100644 Binary files a/cubicweb_francearchives/data/images/marker-shadow.png and b/cubicweb_francearchives/data/images/marker-shadow.png differ diff --git a/cubicweb_francearchives/data/images/picto_mail.svg b/cubicweb_francearchives/data/images/picto_mail.svg new file mode 100644 index 0000000..bb804b3 --- /dev/null +++ b/cubicweb_francearchives/data/images/picto_mail.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/cubicweb_francearchives/data/images/picto_url.svg b/cubicweb_francearchives/data/images/picto_url.svg new file mode 100644 index 0000000..db7e926 --- /dev/null +++ b/cubicweb_francearchives/data/images/picto_url.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cubicweb_francearchives/data/images/rdf_logo_blue.svg b/cubicweb_francearchives/data/images/rdf_logo_blue.svg new file mode 100644 index 0000000..67dd281 --- /dev/null +++ b/cubicweb_francearchives/data/images/rdf_logo_blue.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/rdf_logo_white.svg b/cubicweb_francearchives/data/images/rdf_logo_white.svg new file mode 100644 index 0000000..bdcbc19 --- /dev/null +++ b/cubicweb_francearchives/data/images/rdf_logo_white.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/small_black_arrow.svg b/cubicweb_francearchives/data/images/small_black_arrow.svg new file mode 100644 index 0000000..7a06a9e --- /dev/null +++ b/cubicweb_francearchives/data/images/small_black_arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/small_black_triangle.svg b/cubicweb_francearchives/data/images/small_black_triangle.svg new file mode 100644 index 0000000..f0bc28e --- /dev/null +++ b/cubicweb_francearchives/data/images/small_black_triangle.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/small_blue_burger_menu.svg b/cubicweb_francearchives/data/images/small_blue_burger_menu.svg new file mode 100644 index 0000000..a4737d2 --- /dev/null +++ b/cubicweb_francearchives/data/images/small_blue_burger_menu.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/cubicweb_francearchives/data/images/small_blue_character_picto.svg b/cubicweb_francearchives/data/images/small_blue_character_picto.svg new file mode 100644 index 0000000..cffc669 --- /dev/null +++ b/cubicweb_francearchives/data/images/small_blue_character_picto.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/small_blue_cross.svg b/cubicweb_francearchives/data/images/small_blue_cross.svg new file mode 100644 index 0000000..386dde2 --- /dev/null +++ b/cubicweb_francearchives/data/images/small_blue_cross.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/images/treenode.svg b/cubicweb_francearchives/data/images/treenode.svg new file mode 100644 index 0000000..626bf93 --- /dev/null +++ b/cubicweb_francearchives/data/images/treenode.svg @@ -0,0 +1,3 @@ + + + diff --git a/cubicweb_francearchives/data/images/treenode_middle.svg b/cubicweb_francearchives/data/images/treenode_middle.svg new file mode 100644 index 0000000..c7ec511 --- /dev/null +++ b/cubicweb_francearchives/data/images/treenode_middle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/cubicweb_francearchives/data/introjs/intro.min.js b/cubicweb_francearchives/data/introjs/intro.min.js new file mode 100644 index 0000000..c72d31f --- /dev/null +++ b/cubicweb_francearchives/data/introjs/intro.min.js @@ -0,0 +1,10 @@ +/*! + * Intro.js v3.4.0 + * https://introjs.com + * + * Copyright (C) 2012-2021 Afshin Mehrabani (@afshinmeh). + * https://raw.githubusercontent.com/usablica/intro.js/master/license.md + * + * Date: Thu, 25 Mar 2021 09:48:49 GMT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).introJs=e()}(this,(function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}var e=function(){var t={};return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"introjs-stamp";return t[n]=t[n]||0,void 0===e[n]&&(e[n]=t[n]++),e[n]}}();function n(t,e,n){if(t)for(var i=0,o=t.length;i0?st:at)(t)},ut=Math.min,ht=function(t){return t>0?ut(ct(t),9007199254740991):0},ft=Math.max,pt=Math.min,dt=function(t,e){var n=ct(t);return n<0?ft(n+e,0):pt(n,e)},gt=function(t){return function(e,n,i){var o,r=y(e),l=ht(r.length),a=dt(i,l);if(t&&n!=n){for(;l>a;)if((o=r[a++])!=o)return!0}else for(;l>a;a++)if((t||a in r)&&r[a]===n)return t||a||0;return!t&&-1}},mt={includes:gt(!0),indexOf:gt(!1)},vt=mt.indexOf,bt=function(t,e){var n,i=y(t),o=0,r=[];for(n in i)!S(X,n)&&S(i,n)&&r.push(n);for(;e.length>o;)S(i,n=e[o++])&&(~vt(r,n)||r.push(n));return r},yt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],wt=yt.concat("length","prototype"),_t={f:Object.getOwnPropertyNames||function(t){return bt(t,wt)}},xt={f:Object.getOwnPropertySymbols},St=lt("Reflect","ownKeys")||function(t){var e=_t.f(T(t)),n=xt.f;return n?e.concat(n(t)):e},jt=function(t,e){for(var n=St(e),i=P.f,o=N.f,r=0;r0&&(!r.multiline||r.multiline&&"\n"!==t[r.lastIndex-1])&&(s="(?: "+s+")",u=" "+u,c++),n=new RegExp("^(?:"+s+")",a)),zt&&(n=new RegExp("^"+s+"$(?!\\s)",a)),Ut&&(e=r.lastIndex),i=Ht.call(l?n:r,u),l?i?(i.input=i.input.slice(c),i[0]=i[0].slice(c),i.index=r.lastIndex,r.lastIndex+=i[0].length):r.lastIndex=0:Ut&&i&&(r.lastIndex=r.global?i.index+i[0].length:e),zt&&i&&i.length>1&&$t.call(i[0],n,(function(){for(o=1;o=74)&&(Wt=Xt.match(/Chrome\/(\d+)/))&&(Gt=Wt[1]);var Zt=Gt&&+Gt,te=!!Object.getOwnPropertySymbols&&!s((function(){return!Symbol.sham&&(Kt?38===Zt:Zt>37&&Zt<41)})),ee=te&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ne=F("wks"),ie=a.Symbol,oe=ee?ie:ie&&ie.withoutSetter||W,re=function(t){return S(ne,t)&&(te||"string"==typeof ne[t])||(te&&S(ie,t)?ne[t]=ie[t]:ne[t]=oe("Symbol."+t)),ne[t]},le=re("species"),ae=!s((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),se="$0"==="a".replace(/./,"$0"),ce=re("replace"),ue=!!/./[ce]&&""===/./[ce]("a","$0"),he=!s((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]})),fe=function(t,e,n,i){var o=re(t),r=!s((function(){var e={};return e[o]=function(){return 7},7!=""[t](e)})),l=r&&!s((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[le]=function(){return n},n.flags="",n[o]=/./[o]),n.exec=function(){return e=!0,null},n[o](""),!e}));if(!r||!l||"replace"===t&&(!ae||!se||ue)||"split"===t&&!he){var a=/./[o],c=n(o,""[t],(function(t,e,n,i,o){return e.exec===Vt?r&&!o?{done:!0,value:a.call(e,n,i)}:{done:!0,value:t.call(n,e,i)}:{done:!1}}),{REPLACE_KEEPS_$0:se,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:ue}),u=c[0],h=c[1];it(String.prototype,t,u),it(RegExp.prototype,o,2==e?function(t,e){return h.call(t,this,e)}:function(t){return h.call(t,this)})}i&&O(RegExp.prototype[o],"sham",!0)},pe=function(t){return function(e,n){var i,o,r=String(b(e)),l=ct(n),a=r.length;return l<0||l>=a?t?"":void 0:(i=r.charCodeAt(l))<55296||i>56319||l+1===a||(o=r.charCodeAt(l+1))<56320||o>57343?t?r.charAt(l):i:t?r.slice(l,l+2):o-56320+(i-55296<<10)+65536}},de={codeAt:pe(!1),charAt:pe(!0)}.charAt,ge=function(t,e,n){return e+(n?de(t,e).length:1)},me=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==g(t))throw TypeError("RegExp#exec called on incompatible receiver");return Vt.call(t,e)};fe("match",1,(function(t,e,n){return[function(e){var n=b(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,n):new RegExp(e)[t](String(n))},function(t){var i=n(e,t,this);if(i.done)return i.value;var o=T(t),r=String(this);if(!o.global)return me(o,r);var l=o.unicode;o.lastIndex=0;for(var a,s=[],c=0;null!==(a=me(o,r));){var u=String(a[0]);s[c]=u,""===u&&(o.lastIndex=ge(r,ht(o.lastIndex),l)),c++}return 0===c?null:s}]}));var ve=Array.isArray||function(t){return"Array"==g(t)},be=function(t){return Object(b(t))},ye=function(t,e,n){var i=_(e);i in t?P.f(t,i,p(0,n)):t[i]=n},we=re("species"),_e=function(t,e){var n;return ve(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!ve(n.prototype)?w(n)&&null===(n=n[we])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)},xe=re("species"),Se=function(t){return Zt>=51||!s((function(){var e=[];return(e.constructor={})[xe]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},je=re("isConcatSpreadable"),Ce=Zt>=51||!s((function(){var t=[];return t[je]=!1,t.concat()[0]!==t})),Ee=Se("concat"),Ae=function(t){if(!w(t))return!1;var e=t[je];return void 0!==e?!!e:ve(t)};Ot({target:"Array",proto:!0,forced:!Ce||!Ee},{concat:function(t){var e,n,i,o,r,l=be(this),a=_e(l,0),s=0;for(e=-1,i=arguments.length;e9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");ye(a,s++,r)}return a.length=s,a}});var ke={};ke[re("toStringTag")]="z";var Ne="[object z]"===String(ke),Te=re("toStringTag"),Ie="Arguments"==g(function(){return arguments}()),Pe=Ne?g:function(t){var e,n,i;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Te))?n:Ie?g(e):"Object"==(i=g(e))&&"function"==typeof e.callee?"Arguments":i},Oe=Ne?{}.toString:function(){return"[object "+Pe(this)+"]"};Ne||it(Object.prototype,"toString",Oe,{unsafe:!0});var Le=RegExp.prototype,Re=Le.toString,qe=s((function(){return"/a/b"!=Re.call({source:"a",flags:"b"})})),Me="toString"!=Re.name;(qe||Me)&&it(RegExp.prototype,"toString",(function(){var t=T(this),e=String(t.source),n=t.flags;return"/"+e+"/"+String(void 0===n&&t instanceof RegExp&&!("flags"in Le)?Lt.call(t):n)}),{unsafe:!0});var Be=re("match"),He=function(t){var e;return w(t)&&(void 0!==(e=t[Be])?!!e:"RegExp"==g(t))},$e=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},De=re("species"),Ue=[].push,Fe=Math.min,ze=!s((function(){return!RegExp(4294967295,"y")}));function Ve(t,e){if(t instanceof SVGElement){var i=t.getAttribute("class")||"";i.match(e)||t.setAttribute("class","".concat(i," ").concat(e))}else{if(void 0!==t.classList)n(e.split(" "),(function(e){t.classList.add(e)}));else t.className.match(e)||(t.className+=" ".concat(e))}}function We(t,e){var n="";return t.currentStyle?n=t.currentStyle[e]:document.defaultView&&document.defaultView.getComputedStyle&&(n=document.defaultView.getComputedStyle(t,null).getPropertyValue(e)),n&&n.toLowerCase?n.toLowerCase():n}function Ge(t){var e=t.element;if(this._options.scrollToElement){var n=function(t){var e=window.getComputedStyle(t),n="absolute"===e.position,i=/(auto|scroll)/;if("fixed"===e.position)return document.body;for(var o=t;o=o.parentElement;)if(e=window.getComputedStyle(o),(!n||"static"!==e.position)&&i.test(e.overflow+e.overflowY+e.overflowX))return o;return document.body}(e);n!==document.body&&(n.scrollTop=e.offsetTop-n.offsetTop)}}function Ke(){if(void 0!==window.innerWidth)return{width:window.innerWidth,height:window.innerHeight};var t=document.documentElement;return{width:t.clientWidth,height:t.clientHeight}}function Xe(t,e,n){var i,o=e.element;if("off"!==t&&(this._options.scrollToElement&&(i="tooltip"===t?n.getBoundingClientRect():o.getBoundingClientRect(),!function(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom+80<=window.innerHeight&&e.right<=window.innerWidth}(o)))){var r=Ke().height;i.bottom-(i.bottom-i.top)<0||o.clientHeight>r?window.scrollBy(0,i.top-(r/2-i.height/2)-this._options.scrollPadding):window.scrollBy(0,i.top-(r/2-i.height/2)+this._options.scrollPadding)}}function Ye(t){t.setAttribute("role","button"),t.tabIndex=0}fe("split",2,(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=String(b(this)),o=void 0===n?4294967295:n>>>0;if(0===o)return[];if(void 0===t)return[i];if(!He(t))return e.call(i,t,o);for(var r,l,a,s=[],c=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),u=0,h=new RegExp(t.source,c+"g");(r=Vt.call(h,i))&&!((l=h.lastIndex)>u&&(s.push(i.slice(u,r.index)),r.length>1&&r.index=o));)h.lastIndex===r.index&&h.lastIndex++;return u===i.length?!a&&h.test("")||s.push(""):s.push(i.slice(u)),s.length>o?s.slice(0,o):s}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=b(this),r=null==e?void 0:e[t];return void 0!==r?r.call(e,o,n):i.call(String(o),e,n)},function(t,o){var r=n(i,t,this,o,i!==e);if(r.done)return r.value;var l=T(t),a=String(this),s=function(t,e){var n,i=T(t).constructor;return void 0===i||null==(n=T(i)[De])?e:$e(n)}(l,RegExp),c=l.unicode,u=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(ze?"y":"g"),h=new s(ze?l:"^(?:"+l.source+")",u),f=void 0===o?4294967295:o>>>0;if(0===f)return[];if(0===a.length)return null===me(h,a)?[a]:[];for(var p=0,d=0,g=[];do;)for(var a,s=v(arguments[o++]),u=r?Qe(s).concat(r(s)):Qe(s),h=u.length,p=0;h>p;)a=u[p++],c&&!l.call(s,a)||(n[a]=s[a]);return n}:Je;function en(t,e){var n=document.body,i=document.documentElement,o=window.pageYOffset||i.scrollTop||n.scrollTop,r=window.pageXOffset||i.scrollLeft||n.scrollLeft;e=e||n;var l=t.getBoundingClientRect(),a=e.getBoundingClientRect(),s=We(e,"position"),c={width:l.width,height:l.height};return"body"!==e.tagName.toLowerCase()&&"relative"===s||"sticky"===s?Object.assign(c,{top:l.top-a.top,left:l.left-a.left}):Object.assign(c,{top:l.top+o,left:l.left+r})}function nn(t){var e=t.parentNode;return!(!e||"HTML"===e.nodeName)&&("fixed"===We(t,"position")||nn(e))}Ot({target:"Object",stat:!0,forced:Object.assign!==tn},{assign:tn});var on=Math.floor,rn="".replace,ln=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,an=/\$([$&'`]|\d{1,2})/g,sn=function(t,e,n,i,o,r){var l=n+t.length,a=i.length,s=an;return void 0!==o&&(o=be(o),s=ln),rn.call(r,s,(function(r,s){var c;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(l);case"<":c=o[s.slice(1,-1)];break;default:var u=+s;if(0===u)return r;if(u>a){var h=on(u/10);return 0===h?r:h<=a?void 0===i[h-1]?s.charAt(1):i[h-1]+s.charAt(1):r}c=i[u-1]}return void 0===c?"":c}))},cn=Math.max,un=Math.min;function hn(t,e){if(t instanceof SVGElement){var n=t.getAttribute("class")||"";t.setAttribute("class",n.replace(e,"").replace(/^\s+|\s+$/g,""))}else t.className=t.className.replace(e,"").replace(/^\s+|\s+$/g,"")}function fn(t,e){var n="";if(t.style.cssText&&(n+=t.style.cssText),"string"==typeof e)n+=e;else for(var i in e)n+="".concat(i,":").concat(e[i],";");t.style.cssText=n}function pn(t){if(t){if(!this._introItems[this._currentStep])return;var e=this._introItems[this._currentStep],n=en(e.element,this._targetElement),i=this._options.helperElementPadding;nn(e.element)?Ve(t,"introjs-fixedTooltip"):hn(t,"introjs-fixedTooltip"),"floating"===e.position&&(i=0),fn(t,{width:"".concat(n.width+i,"px"),height:"".concat(n.height+i,"px"),top:"".concat(n.top-i/2,"px"),left:"".concat(n.left-i/2,"px")})}}fe("replace",2,(function(t,e,n,i){var o=i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,r=i.REPLACE_KEEPS_$0,l=o?"$":"$0";return[function(n,i){var o=b(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,o,i):e.call(String(o),n,i)},function(t,i){if(!o&&r||"string"==typeof i&&-1===i.indexOf(l)){var a=n(e,t,this,i);if(a.done)return a.value}var s=T(t),c=String(this),u="function"==typeof i;u||(i=String(i));var h=s.global;if(h){var f=s.unicode;s.lastIndex=0}for(var p=[];;){var d=me(s,c);if(null===d)break;if(p.push(d),!h)break;""===String(d[0])&&(s.lastIndex=ge(c,ht(s.lastIndex),f))}for(var g,m="",v=0,b=0;b=v&&(m+=c.slice(v,w)+C,v=w+y.length)}return m+c.slice(v)}]}));var dn,gn=c?Object.defineProperties:function(t,e){T(t);for(var n,i=Qe(e),o=i.length,r=0;o>r;)P.f(t,n=i[r++],e[n]);return t},mn=lt("document","documentElement"),vn=K("IE_PROTO"),bn=function(){},yn=function(t){return" + + +
+
+
+

{{ _('Manage archives') }}

+ +
+ +
+
+

{{ _('On the front page') }}

+ {% from "./mixins.jinja2" import on_front_page %} + {{ on_front_page(entities, _) }} +
+
+
+{% include "bottom-links.jinja2" %} diff --git a/cubicweb_francearchives/views/templates/letters.jinja2 b/cubicweb_francearchives/views/templates/letters.jinja2 new file mode 100644 index 0000000..fef7017 --- /dev/null +++ b/cubicweb_francearchives/views/templates/letters.jinja2 @@ -0,0 +1,15 @@ +
+
+
+ {% for letter, url, class in letters["all"] %} + {{ letter }} + {% endfor %} + {% for letter, url, class in letters["letters"] %} + {{ letter }} + {% endfor %} + {% for letter, url, class in letters["others"] %} + {{ letter }} + {% endfor %} +
+
+
diff --git a/cubicweb_francearchives/views/templates/main-searchbar.jinja2 b/cubicweb_francearchives/views/templates/main-searchbar.jinja2 new file mode 100644 index 0000000..f83a040 --- /dev/null +++ b/cubicweb_francearchives/views/templates/main-searchbar.jinja2 @@ -0,0 +1,45 @@ + diff --git a/cubicweb_francearchives/views/templates/maintemplate.jinja2 b/cubicweb_francearchives/views/templates/maintemplate.jinja2 index 102da9c..6317418 100644 --- a/cubicweb_francearchives/views/templates/maintemplate.jinja2 +++ b/cubicweb_francearchives/views/templates/maintemplate.jinja2 @@ -3,7 +3,7 @@ - + @@ -11,7 +11,7 @@ - + {% for attr, value in meta %} @@ -22,237 +22,172 @@ {% endfor %} {{ title }} {% for css in cssfiles %} - + {% endfor %} {% if jsonld_graph %} - {% endif %} - + }, true); + - - + {% block adminpanel %} {% endblock %} - -
+
+ {% if homepage %} + {% include "homepage.jinja2" %} + {% endif %} + {% if header_row %} {% endif %} {{ page_content }} - {% if cms and faqs %} + {% if faqs %} {% from "./mixins.jinja2" import modalfaq %} {{ modalfaq(faqs, _) }} {% endif %}
- {% else %} - - {# Timeline must be a direct child of body #} - {{ page_content }} - {% endif %} {# Footer #} {% include "footer.jinja2" %} {% for js in jsfiles %} - + {% endfor %} {% for inlinescript in inline_scripts %} - {% endfor %} + {% endfor %} - {# Xiti #} - {% if xiti %} + {# Xiti #} + {% if xiti %} {% include "xiti.jinja2" %} - {% endif %} - {% if display_totop %} - - {% endif %} + {% endif %} + {% if display_totop %} + + {% endif %} diff --git a/cubicweb_francearchives/views/templates/map-page.jinja2 b/cubicweb_francearchives/views/templates/map-page.jinja2 index ec8f70f..15cb811 100644 --- a/cubicweb_francearchives/views/templates/map-page.jinja2 +++ b/cubicweb_francearchives/views/templates/map-page.jinja2 @@ -1,43 +1,46 @@ -

{{ map.dc_title() }}

+
+

{{ map.dc_title() }}

-{% if map.top_content %} + {% if map.top_content %} {{ map.printable_value('top_content') }} -{% endif %} + {% endif %} -{% if map.map_title %} + {% if map.map_title %}
{{ map.map_title }}
-{% endif %} + {% endif %} -
- {{ map_form }} -
- - {% for color, desc, data in legends %} +
+ + + {% for color, desc, data in legends %}
- - {{ desc }} - - -
{{ desc }}
+ +

{{ desc }}

{% if data %} -
    - {% for item, url in data %} -
  • - {% if url %} - {{ item }} - {% else %} +
      + {% for item, url in data %} +
    • + {% if url %} + {{ item }} ({{ desc }}) + {% else %} {{ item }} - {% endif %} + {% endif %}
    • - {% endfor %} + {% endfor %}
    - {% endif %} + {% endif %}
- {% endfor %} -
- -{% if map.bottom_content %} + {% endfor %} +
+ {% if map.bottom_content %} {{ map.printable_value('bottom_content')}} -{% endif %} + {% endif %} +
diff --git a/cubicweb_francearchives/views/templates/menu-panel.jinja2 b/cubicweb_francearchives/views/templates/menu-panel.jinja2 new file mode 100644 index 0000000..b436148 --- /dev/null +++ b/cubicweb_francearchives/views/templates/menu-panel.jinja2 @@ -0,0 +1,54 @@ +

{{ _('Menu') }}

+ + diff --git a/cubicweb_francearchives/views/templates/mirador.jinja2 b/cubicweb_francearchives/views/templates/mirador.jinja2 new file mode 100644 index 0000000..66b3e1f --- /dev/null +++ b/cubicweb_francearchives/views/templates/mirador.jinja2 @@ -0,0 +1,19 @@ + + + + + + + + + + + + + {{ pagetitle }} + + + {% from "./mixins.jinja2" import mirador_viewer %} + {{  mirador_viewer(iiif_manifest, data_url, lang) }} + + diff --git a/cubicweb_francearchives/views/templates/mixins.jinja2 b/cubicweb_francearchives/views/templates/mixins.jinja2 index c996015..3de4114 100644 --- a/cubicweb_francearchives/views/templates/mixins.jinja2 +++ b/cubicweb_francearchives/views/templates/mixins.jinja2 @@ -2,20 +2,20 @@ {% if image %} {% set legend=image.caption or image.copyright %} {% if legend %} -
+
{% endif %} - {{ image.alt }} {% if legend %} -
+
{% if image.caption %} -
{{ image.caption }}
+ {{ image.caption }} {% endif %} {% if image.copyright %} - + {% endif %}
@@ -34,32 +34,21 @@ {% endmacro %} -{% macro home_section_header(grey_title, blue_title) %} -
-

{{ grey_title }} - & - - {{ blue_title }} -

-
-
- - - -
-{% endmacro %} - -{% macro faqitems(faq, category, editable, _) %} - {% for eid, question, answer in faq %} +{% macro faqitems(faq, category, editable, _, level) %} + {% for eid, faq_url, question, answer in faq %}
-